色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于TIGER560B的USB網(wǎng)絡(luò)電話終端的實現(xiàn)

          基于TIGER560B的USB網(wǎng)絡(luò)電話終端的實現(xiàn)

          作者: 時間:2006-01-18 來源:網(wǎng)絡(luò) 收藏
          摘要:IP技術(shù)(VOIP)作為一種綜合了傳統(tǒng)電信網(wǎng)絡(luò)和計算機(jī)網(wǎng)絡(luò)特點的技術(shù)已經(jīng)為人們所熟知。是黛助于計算機(jī)平臺,提供一種新型的、人性化的服務(wù)的設(shè)備。它通過即插即用的接口與計算機(jī)相連,從計算機(jī)網(wǎng)絡(luò)接口因特網(wǎng)內(nèi)語音通信,借助于網(wǎng)關(guān)設(shè)備可以與電信網(wǎng)普通電話通話,是長期使用計算機(jī)工作一族的好伴侶。本文介紹網(wǎng)絡(luò)電話的軟件和硬件設(shè)計方案及其過程。

          關(guān)鍵詞:網(wǎng)絡(luò)電話;H.323協(xié)議;USB;網(wǎng)守

          隨著因特網(wǎng)(也稱IP網(wǎng))技術(shù)的快速發(fā)展,IP網(wǎng)絡(luò)電話已經(jīng)得到廣泛使用。所謂IP網(wǎng)絡(luò)電話是指利用因特網(wǎng)以分組數(shù)據(jù)包形式傳輸語音/傳真等的新型電信業(yè)務(wù),簡稱VoIP(Voice over IP:IP網(wǎng)絡(luò)承載語音業(yè)務(wù))。它以低廉的價格,靈活的應(yīng)用使傳統(tǒng)電信業(yè)務(wù)受到極大的挑戰(zhàn),截止2004年底,幾乎占到長途業(yè)務(wù)量的50%。當(dāng)然,這主要指各大電信運(yùn)營商推廣IP電話卡形式的IP電話長途業(yè)務(wù),其特點是接入部分使用傳統(tǒng)電信(如電話機(jī)、手機(jī)),以特殊號碼形式識別(179XX),在主干線上以分組的數(shù)據(jù)包的形式在因特網(wǎng)上傳輸話音。

          本文介紹的USB網(wǎng)絡(luò)電話(以下簡稱USB網(wǎng)絡(luò)電話),它采用即插即用的USB接口與計算機(jī)相連,不需要借助傳統(tǒng)電信終端,就可以直接接入因特網(wǎng)。不僅可以撥打長途電話,而且還可以撥打市話。如果用在局域網(wǎng)或者虛擬局域網(wǎng)內(nèi),通話完全免費(fèi)。在因特網(wǎng)普及的今天,使用USB網(wǎng)絡(luò)電話能為大中型企業(yè)事業(yè)單位節(jié)約大量話費(fèi)。

          1 控制器

          早期在計算機(jī)上話音通信主要采用純軟件形式,借助于網(wǎng)卡連接因特網(wǎng),聲卡通過麥克風(fēng)和音響實現(xiàn)話音的輸入與輸出。但缺點首先是接聽或撥打電話都要操作計算機(jī)鍵盤,不僅復(fù)雜而且不符合人們使用電話的習(xí)慣;其次是來話從音箱播出既泄漏隱私又影響他人工作;還有,通話質(zhì)量差,易產(chǎn)生回音。的USB網(wǎng)絡(luò)電話終端可以克服上述缺點。

          TIGER560B是Tiger Jet Network公司研制的專門用于低成本、高話音質(zhì)量的VoIP處理器,內(nèi)部包含USB接口。它的集成度很高,內(nèi)部集成有很多功能模塊,外部僅需少量元件就可實現(xiàn)VoIP功能。TIGER560B的功能及外圍引腳如圖1所示。

          TIGER560B的主要組成部分有控制邏輯、音頻通道、USB接口、通常I/O接口、外設(shè)接口和配置控制接口。

          控制邏輯是電路的核心,內(nèi)含專用處理器,用來協(xié)調(diào)整個電路的工作;音頻通道連接外部音頻編解碼器,完成音頻PCM數(shù)據(jù)流的輸入與輸出;USB接口與計算機(jī)的USB接口連接,配置控制TIGER560B芯片及TIGER560B連接的編解碼器,同時接收和發(fā)送計算機(jī)側(cè)音頻數(shù)據(jù)流,具有橋接通信作用;通用I/O接口可以控制指示燈、振鈴、液晶顯示;外設(shè)接口接收鍵盤號碼和連接編解碼器;配置控制接口采用硬件連接對TIGER560B在不同工作模式進(jìn)行配置,以便加載不同的驅(qū)動程序。

          TIGER560B的功能如下:

          ●支持鍵盤掃描、液晶顯示驅(qū)動、電話接口(SLIC);

          ●支持H.323協(xié)議和SIP協(xié)議,實現(xiàn)全部VoIP功能;

          ●不必安裝驅(qū)動,因為驅(qū)動都已經(jīng)嵌入到Windows操作系統(tǒng)中;

          ●能夠?qū)崿F(xiàn)PC到PC的點對點通話,實現(xiàn)因特網(wǎng)內(nèi)IP電話,通過網(wǎng)關(guān)實現(xiàn)與傳統(tǒng)電話通話;

          ●支持USB供電節(jié)電模式和遠(yuǎn)端喚醒功能;

          ●音頻功能

          支持USB音頻類設(shè)備模式;

          使用Windows音頻USB驅(qū)動;

          支持8bit μ-Law編解碼器接口;

          支持音量調(diào)節(jié)、閉音控制;

          ●PCM接口支持

          Silicon Labs公司的Si3210用戶接口電路,華邦公司的W681511型音頻編解碼器和Motorola公司的MC145480型音頻編解碼器;

          支持TDM、IOM2、GCI;

          長幀模式和短幀模式;

          ●USB接口

          全速12Mb/ps,兼容USB101協(xié)議;

          鎖相環(huán)、MAC、PHY、收發(fā)器集成在芯片上;

          內(nèi)有3.3V調(diào)節(jié)器;

          ●支持SPI 4線接口總線;

          支持外設(shè)總線接口;8bit數(shù)據(jù)總線、6根地址線、22根通用I/O線、讀寫復(fù)位線等;

          ●單12MHz晶振、5V工作電壓,100引腳PQFP封裝。

          TIGER560B幾乎集成了IP電話終端必備的所有功能,外部僅需連接PCM音頻編解碼器和鍵盤等就可以實現(xiàn)VoIP功能。

          2 系統(tǒng)組成、工作原理和H.323協(xié)議

          2.1 USB網(wǎng)絡(luò)電話的結(jié)構(gòu)

          圖2為TIGER560B VoIP處理器的USB網(wǎng)絡(luò)電話模塊框圖。

          以TIGER560B為核心的USB網(wǎng)絡(luò)電話有3種組成形式。

          (1)用TIGER560B和音頻編解碼器(W681511)組成的USB網(wǎng)絡(luò)電話相當(dāng)于一個USB外置聲卡,沒有操作鍵盤,不需要安裝任何額外驅(qū)動軟件,使用計算機(jī)鍵盤操作電話的撥出和接口。

          (2)TIGER560B、音頻編解碼器、鍵盤和振鈴電路組成的USB網(wǎng)絡(luò)電話是一個完整的網(wǎng)絡(luò)電話,使用方法和使用傳統(tǒng)電話機(jī)撥打、接聽完全一樣。這種形式需要附加鍵盤掃描驅(qū)動軟件和振鈴控制驅(qū)動軟件。若沒有安裝附加驅(qū)動則使用計算機(jī)鍵盤操作。另外,如果需要,還可以增加液晶顯示。

          (3)TIGER560B和用戶接口電路(ProSLIC:Si3210)組成的USB網(wǎng)絡(luò)電話。此種形式為一單接口小網(wǎng)關(guān),通過它把一個標(biāo)準(zhǔn)的普通電話接入因特網(wǎng),實現(xiàn)網(wǎng)絡(luò)電話的功能,能夠識別摘機(jī)/掛機(jī)操作、接收雙音多頻(DTMF)電話號碼,提供全工雙向通話。這種形式網(wǎng)絡(luò)電話需要安裝附加驅(qū)動軟件。本文主要對第二種形式加以說明。

          2.2 USB網(wǎng)絡(luò)電話的工作原理

          由于USB接口具有即插即用功能,因此,USB網(wǎng)絡(luò)電話與計算機(jī)的連接十分方便,也可以隨身攜帶。

          把USB網(wǎng)絡(luò)電話直接插入計算機(jī)USB接口,并安裝相應(yīng)的驅(qū)動軟件,就可以在計算機(jī)“設(shè)備管理”――“人體學(xué)輸入設(shè)備”中看到“USB人體學(xué)輸入設(shè)備”;在“聲音、視頻和游戲控制”中看到“USB Audio Device”,同時在計算機(jī)桌面出現(xiàn)信息窗口。

          作為主叫撥打電話時,直接按“摘掛機(jī)鍵”,接著輸入電話號碼,TIGER560B對鍵盤直接掃描,將輸入的摘掛機(jī)信息和電話號碼傳送到計算機(jī),進(jìn)行呼叫,被叫摘機(jī)進(jìn)入通話狀態(tài)。此時,主叫話音由話機(jī)手柄麥克風(fēng)輸入,音頻編解碼器將模擬信號變成PCM格式的數(shù)據(jù)信號,送入TIGER560B進(jìn)行處理,再由TIGER560B的USB接口送到計算機(jī),計算機(jī)采用H.323協(xié)議處理,最后通過網(wǎng)絡(luò)接口連接到因特網(wǎng)。

          被叫是主叫的逆過程。如果有振鈴,按“摘掛機(jī)鍵”,直接接聽。此時,從因特網(wǎng)來的話音,經(jīng)計算機(jī)處理后從USB接口送到TIGER560B,然后由TIGER560B將話音信息變成PCM數(shù)據(jù)格式送到音頻編解碼器,再由音頻編解碼器將PCM數(shù)據(jù)格式話音變成模擬話音后,送到被叫話機(jī)手柄的耳筒。

          不論作為主叫還是被叫,都是全雙工、雙向?qū)崟r通信。呼叫、通話、掛機(jī)等各種狀態(tài)在計算機(jī)界面都有指示,撥打或者接聽電話與使用傳統(tǒng)電話完全相同,無需操作鍵盤進(jìn)行干預(yù)。

          2.3 H.323協(xié)議實現(xiàn)網(wǎng)絡(luò)電話過程

          本文所述網(wǎng)絡(luò)電話是計算機(jī)的一種輔助外部設(shè)備,其網(wǎng)絡(luò)協(xié)議和實現(xiàn)網(wǎng)絡(luò)電話的多媒體協(xié)議H.323均在計算機(jī)上實現(xiàn)。

          實現(xiàn)網(wǎng)絡(luò)電話可以采用H.323協(xié)議和SIP協(xié)議。目前我國主要采用前者。

          H.323協(xié)議是ITU-T(國際電聯(lián))制定的因特網(wǎng)多媒體實時通信協(xié)議簇,由呼叫控制、媒體編碼、管理控制、網(wǎng)絡(luò)安全等系列協(xié)議組成,其全稱是“基于分組交換的多媒體通訊系”。H.323協(xié)議提供基于因特網(wǎng)的聲音、視頻和數(shù)據(jù)傳送的相關(guān)標(biāo)準(zhǔn),定義了4種基本的構(gòu)成單元:終端(terminal)、網(wǎng)關(guān)(gateway)、網(wǎng)守(gatekeeper)和多點控制單元(MCU)。其中網(wǎng)關(guān)和網(wǎng)守是網(wǎng)絡(luò)電話系統(tǒng)的關(guān)鍵。網(wǎng)關(guān)實現(xiàn)因特網(wǎng)和網(wǎng)守是網(wǎng)絡(luò)電話系統(tǒng)的關(guān)鍵。網(wǎng)關(guān)實現(xiàn)因特網(wǎng)電話與傳統(tǒng)電信網(wǎng)電話的連接,網(wǎng)守負(fù)責(zé)因特網(wǎng)內(nèi)電話呼叫、計費(fèi)和管理等。USB網(wǎng)絡(luò)電話僅是網(wǎng)絡(luò)電話終端的一種形式。其協(xié)議軟件構(gòu)架如圖3規(guī)范,而網(wǎng)絡(luò)電話僅涉及到音頻通信部分,因此,多點控制單元MCU不作為其必備設(shè)備。

          計算機(jī)中的軟件設(shè)計:音頻編解碼部分能夠與USB網(wǎng)絡(luò)電話手柄通過USB接口收發(fā)G..722、G.729、G..723.1等編碼,由網(wǎng)絡(luò)接口傳送。提供了網(wǎng)絡(luò)電話與網(wǎng)守、網(wǎng)關(guān)及其他終端之間必需的控制接口,采用H.225.0呼叫控制、H.245信道控制、RTCP實時控制協(xié)議來實現(xiàn)。

          網(wǎng)守是網(wǎng)絡(luò)電話系統(tǒng)必備的管理單元,終端上電后首先向網(wǎng)守注冊,將其IP地址和電話號碼送到網(wǎng)守(電話號碼也可以由網(wǎng)守分配),接受網(wǎng)守管理。每次呼叫某個電話,首先與網(wǎng)守交換信息,從網(wǎng)守得到被叫的IP地址,接著與被叫直接通信。通話結(jié)束,必須與網(wǎng)守通信,使網(wǎng)守得到本次通話結(jié)束信息,作為計費(fèi)依據(jù)或作為歷史記錄標(biāo)志。如果僅把USB網(wǎng)絡(luò)電話用在點對點通話時,那么可以直接呼叫對方IP地址,而不需要網(wǎng)守。

          網(wǎng)關(guān)是兩種不同網(wǎng)絡(luò)之間的互通設(shè)備,完成信令格式、內(nèi)容轉(zhuǎn)換、通信協(xié)議轉(zhuǎn)換、流媒體格式轉(zhuǎn)換。它是網(wǎng)絡(luò)電話與傳統(tǒng)電話互通的必備設(shè)備。如果網(wǎng)絡(luò)電話僅使用在局域網(wǎng)或者虛擬局域網(wǎng)等小范圍,可以不需要網(wǎng)關(guān)設(shè)備,如圖4所示。

          3 硬件電路設(shè)計

          USB網(wǎng)絡(luò)電話機(jī)使用TIGER560B型專用控制器,外圍硬件電路很少。確保電路成本低,可靠性高。具體電路如圖5所示。

          圖5僅給出TIGER560B的主要連接線,如音頻編解碼器、鍵盤、USB接口、振鈴電路、晶振電路和工作指示。其他如模式配置,電源線、地線、電阻器連接等具體內(nèi)容可參閱參考文獻(xiàn)[4]。采用TIGER560B設(shè)計的網(wǎng)絡(luò)電話,電路非常簡單,不需要編制電話機(jī)內(nèi)軟件,所有設(shè)置、驅(qū)動和應(yīng)用軟件均在計算機(jī)上運(yùn)行,便于批量生產(chǎn)。

          TIGER560B能夠產(chǎn)生MC14LC5480的時序,如圖6所示。使用短幀模式。不需要額外時序產(chǎn)生電路。作為主叫時,MC14LC5480將手柄送來的模擬信號變成PCM數(shù)據(jù)碼流(符合G..711編碼規(guī)范),然后送到TIGER560B進(jìn)行處理,TIGER560B通過USB接口將PCM碼流送入計算機(jī),計算機(jī)將其進(jìn)行音頻編碼,轉(zhuǎn)換為G..729、G.723.1、G..722(可在計算機(jī)使用界面可設(shè)置),再將其從計算機(jī)網(wǎng)絡(luò)接口送到因特網(wǎng);作為被叫時,MC14LC5480把逆向傳來的PCM編碼變成模擬信號,送向手柄話筒。

          鍵盤上有摘/掛機(jī)按鍵、號碼鍵、音量控制器、號碼修改鍵、閉音鍵等,撥打、接聽電話不需要操作計算機(jī)鍵盤。與使用傳統(tǒng)電話完全一樣,方便實用。如果有來話,蜂鳴器將發(fā)現(xiàn)“嘟嘟聲”提示,計算機(jī)屏幕也有指示。

          4 軟件設(shè)計

          USB網(wǎng)絡(luò)電話的音頻驅(qū)動軟件已經(jīng)嵌入微軟的WINDOWS操作系統(tǒng)中,可以實現(xiàn)即插即用功能??梢允褂猛ㄓ玫木W(wǎng)絡(luò)語音通信軟件如MSN、QQ、OPENPHONE等進(jìn)行語音交流。此時,USB網(wǎng)絡(luò)電話相當(dāng)一個外置聲卡,各種操作需要借助于計算機(jī)鍵盤和相應(yīng)語音軟件完成,不能實現(xiàn)鍵盤掃描和振鈴功能。如果要實現(xiàn)完整的電話功能,必須另外開發(fā)驅(qū)動軟件。

          本文設(shè)計的網(wǎng)絡(luò)電話軟件包括用戶界面設(shè)計和鍵盤掃描/振鈴驅(qū)動兩部分。界面設(shè)計主要以簡潔、實用、美觀為主,不作為重點介紹。

          設(shè)計鍵盤掃描、振鈴驅(qū)動部分使用Tiger Jet Network公司提供的SDK開發(fā)包,通過編寫驅(qū)動軟件控制TIGER560B內(nèi)部寄存器實現(xiàn)。軟件流程框圖如圖7所示。H.323協(xié)議軟件使用SDK開發(fā)包提供的庫函數(shù),網(wǎng)絡(luò)協(xié)議軟件使用WINDOWS操作系統(tǒng)中的協(xié)議。

          鍵盤掃描和振鈴驅(qū)動軟件子程序如下:

          #include "stdafx.h"

          #include"TjIpApi.h"

          #include"Tj560Bhandset.h"

          #ifdef _DEBUG

          #define new DEBUG_NEW

          #undef THIS_FILE

          static char THIS_FILE[]=_FILE_;

          #endif

          CTj560Bhandset_Hid::CTj560Bhandset_Hid()

          {

          }

          CTj560Bhandset_Hid::~CTj560Bhandset_Hid()

          {

          }

          BOOL CTj560Bhandset_Hid::InitTjHardware()

          {

          return TRUE;

          }

          BOOL CTj560BhandsetKeypad_Hid::InitTjHardware()

          {

          tjoutp(0x0b,100);//default is 48,now set to

          100 ==> period =100/2=50ms

          InitBuzzer();

          Return TRUE;

          }

          char CTj560BhandsetKeypad_Hid::MapHardwareKeyToUserKey(WORD wHardwareKey)

          {

          char cNewKey=0;

          switch(wHardwareKey)

          {

          case 0xb0;

          case 0xb1;

          case 0xb2;

          case 0xb3;

          case 0xb4;

          case 0xb5;

          case 0xb6;

          case 0xb7;

          case 0xb8;

          case 0xb9;

          cNewKey= (char) (wHardwareKey -0xb0)+'0';

          break;

          case 0xba:

          cNewKey=(char)VK_MULTIPLY; // '*' key

          break;

          case 0xbb:

          cNewKey=(char)VK_POUND; //'*' key

          break;

          case 0x26:

          cNewKey=(char)VK_ALT_U;//hangup

          break;

          case 0x31: //Enter key

          cNewKey=(char)VK_RETURN;

          break;

          case 0x2f:

          cNewKey=(char)VK_ALT_TCD;

          break;

          case 0x51;

          VK_DOWN; //down

          break;

          case 0x52;

          cNewkey=(char)VK_UP; //up

          break;

          case 0x20:

          cNewKey=(char)0;

          break;

          default:

          break;

          }

          return cNewKey;

          }

          BOOL CTj560B Hand set Key pad_Hid::Ring(BOOLbOn)

          {

          SetBuzzerFreq(2400); //default to 2.4kHz

          TurnBuzzerOn(bOn);

          Return TRUE;

          }

          軟件還包括USB通信協(xié)議,計算機(jī)側(cè)使用WINDOWS支持的USB驅(qū)動軟件,USB網(wǎng)絡(luò)電話側(cè)協(xié)議軟件以微碼形式固化在TIGER560B中,不需再寫軟件。

          5 結(jié)束語

          本項目日前已經(jīng)完成實驗和測試。測試結(jié)果表明其話音質(zhì)量好,工作穩(wěn)定,可以作為計算機(jī)附件。

          整個USB網(wǎng)絡(luò)電話以TIGER560B為控制核心,外接語音編解碼器,硬件電路簡單,軟件運(yùn)行在計算機(jī)上,充分利用了計算機(jī)的優(yōu)勢,把計算機(jī)變成了一個標(biāo)準(zhǔn)的基于H.323協(xié)議的VoIP終端。如果在運(yùn)營商提供基于純因特網(wǎng)上的網(wǎng)絡(luò)電話業(yè)務(wù),本文所述的USB網(wǎng)絡(luò)電話一定會有很好的開發(fā)前景。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉