基于TIGER560B的USB網(wǎng)絡(luò )電話(huà)終端的實(shí)現
關(guān)鍵詞:網(wǎng)絡(luò )電話(huà);H.323協(xié)議;USB;網(wǎng)守
隨著(zhù)因特網(wǎng)(也稱(chēng)IP網(wǎng))技術(shù)的快速發(fā)展,IP網(wǎng)絡(luò )電話(huà)已經(jīng)得到廣泛使用。所謂IP網(wǎng)絡(luò )電話(huà)是指利用因特網(wǎng)以分組數據包形式傳輸語(yǔ)音/傳真等的新型電信業(yè)務(wù),簡(jiǎn)稱(chēng)VoIP(Voice over IP:IP網(wǎng)絡(luò )承載語(yǔ)音業(yè)務(wù))。它以低廉的價(jià)格,靈活的應用使傳統電信業(yè)務(wù)受到極大的挑戰,截止2004年底,幾乎占到長(cháng)途業(yè)務(wù)量的50%。當然,這主要指各大電信運營(yíng)商推廣IP電話(huà)卡形式的IP電話(huà)長(cháng)途業(yè)務(wù),其特點(diǎn)是接入部分使用傳統電信終端(如電話(huà)機、手機),以特殊號碼形式識別(179XX),在主干線(xiàn)上以分組的數據包的形式在因特網(wǎng)上傳輸話(huà)音。
本文介紹基于TIGER560B的USB網(wǎng)絡(luò )電話(huà)終端(以下簡(jiǎn)稱(chēng)USB網(wǎng)絡(luò )電話(huà)),它采用即插即用的USB接口與計算機相連,不需要借助傳統電信終端,就可以直接接入因特網(wǎng)。不僅可以撥打長(cháng)途電話(huà),而且還可以撥打市話(huà)。如果用在局域網(wǎng)或者虛擬局域網(wǎng)內,通話(huà)完全免費。在因特網(wǎng)普及的今天,使用USB網(wǎng)絡(luò )電話(huà)能為大中型企業(yè)事業(yè)單位節約大量話(huà)費。
1 TIGER560B控制器
早期在計算機上實(shí)現話(huà)音通信主要采用純軟件形式,借助于網(wǎng)卡連接因特網(wǎng),聲卡通過(guò)麥克風(fēng)和音響實(shí)現話(huà)音的輸入與輸出。但缺點(diǎn)首先是接聽(tīng)或撥打電話(huà)都要操作計算機鍵盤(pán),不僅復雜而且不符合人們使用電話(huà)的習慣;其次是來(lái)話(huà)從音箱播出既泄漏隱私又影響他人工作;還有,通話(huà)質(zhì)量差,易產(chǎn)生回音。基于TIGER560B的USB網(wǎng)絡(luò )電話(huà)終端可以克服上述缺點(diǎn)。
TIGER560B是Tiger Jet Network公司研制的專(zhuān)門(mén)用于低成本、高話(huà)音質(zhì)量的VoIP處理器,內部包含USB接口。它的集成度很高,內部集成有很多功能模塊,外部?jì)H需少量元件就可實(shí)現VoIP功能。TIGER560B的功能及外圍引腳如圖1所示。
控制邏輯是電路的核心,內含專(zhuān)用處理器,用來(lái)協(xié)調整個(gè)電路的工作;音頻通道連接外部音頻編解碼器,完成音頻PCM數據流的輸入與輸出;USB接口與計算機的USB接口連接,配置控制TIGER560B芯片及TIGER560B連接的編解碼器,同時(shí)接收和發(fā)送計算機側音頻數據流,具有橋接通信作用;通用I/O接口可以控制指示燈、振鈴、液晶顯示;外設接口接收鍵盤(pán)號碼和連接編解碼器;配置控制接口采用硬件連接對TIGER560B在不同工作模式進(jìn)行配置,以便加載不同的驅動(dòng)程序。
TIGER560B的功能如下:
●支持鍵盤(pán)掃描、液晶顯示驅動(dòng)、電話(huà)接口(SLIC);
●支持H.323協(xié)議和SIP協(xié)議,實(shí)現全部VoIP功能;
●不必安裝驅動(dòng),因為驅動(dòng)都已經(jīng)嵌入到Windows操作系統中;
●能夠實(shí)現PC到PC的點(diǎn)對點(diǎn)通話(huà),實(shí)現因特網(wǎng)內IP電話(huà),通過(guò)網(wǎng)關(guān)實(shí)現與傳統電話(huà)通話(huà);
●支持USB供電節電模式和遠端喚醒功能;
●音頻功能
使用Windows音頻USB驅動(dòng);
支持8bit μ-Law編解碼器接口;
支持音量調節、閉音控制;
●PCM接口支持
Silicon Labs公司的Si3210用戶(hù)接口電路,華邦公司的W681511型音頻編解碼器和Motorola公司的MC145480型音頻編解碼器;
支持TDM、IOM2、GCI;
長(cháng)幀模式和短幀模式;
●USB接口
全速12Mb/ps,兼容USB101協(xié)議;
鎖相環(huán)、MAC、PHY、收發(fā)器集成在芯片上;
內有3.3V調節器;
●支持SPI 4線(xiàn)接口總線(xiàn);
支持外設總線(xiàn)接口;8bit數據總線(xiàn)、6根地址線(xiàn)、22根通用I/O線(xiàn)、讀寫(xiě)復位線(xiàn)等;
●單12MHz晶振、5V工作電壓,100引腳PQFP封裝。
TIGER560B幾乎集成了IP電話(huà)終端必備的所有功能,外部?jì)H需連接PCM音頻編解碼器和鍵盤(pán)等就可以實(shí)現VoIP功能。
2 系統組成、工作原理和H.323協(xié)議
2.1 USB網(wǎng)絡(luò )電話(huà)的結構
圖2為基于TIGER560B VoIP處理器的USB網(wǎng)絡(luò )電話(huà)模塊框圖。
以TIGER560B為核心的USB網(wǎng)絡(luò )電話(huà)有3種組成形式。
(1)用TIGER560B和音頻編解碼器(W681511)組成的USB網(wǎng)絡(luò )電話(huà)相當于一個(gè)USB外置聲卡,沒(méi)有操作鍵盤(pán),不需要安裝任何額外驅動(dòng)軟件,使用計算機鍵盤(pán)操作電話(huà)的撥出和接口。
(2)TIGER560B、音頻編解碼器、鍵盤(pán)和振鈴電路組成的USB網(wǎng)絡(luò )電話(huà)是一個(gè)完整的網(wǎng)絡(luò )電話(huà),使用方法和使用傳統電話(huà)機撥打、接聽(tīng)完全一樣。這種形式需要附加鍵盤(pán)掃描驅動(dòng)軟件和振鈴控制驅動(dòng)軟件。若沒(méi)有安裝附加驅動(dòng)則使用計算機鍵盤(pán)操作。另外,如果需要,還可以增加液晶顯示。
(3)TIGER560B和用戶(hù)接口電路(ProSLIC:Si3210)組成的USB網(wǎng)絡(luò )電話(huà)。此種形式為一單接口小網(wǎng)關(guān),通過(guò)它把一個(gè)標準的普通電話(huà)接入因特網(wǎng),實(shí)現網(wǎng)絡(luò )電話(huà)的功能,能夠識別摘機/掛機操作、接收雙音多頻(DTMF)電話(huà)號碼,提供全工雙向通話(huà)。這種形式網(wǎng)絡(luò )電話(huà)需要安裝附加驅動(dòng)軟件。本文主要對第二種形式加以說(shuō)明。
2.2 USB網(wǎng)絡(luò )電話(huà)的工作原理
由于USB接口具有即插即用功能,因此,USB網(wǎng)絡(luò )電話(huà)與計算機的連接十分方便,也可以隨身攜帶。
作為主叫撥打電話(huà)時(shí),直接按“摘掛機鍵”,接著(zhù)輸入電話(huà)號碼,TIGER560B對鍵盤(pán)直接掃描,將輸入的摘掛機信息和電話(huà)號碼傳送到計算機,進(jìn)行呼叫,被叫摘機進(jìn)入通話(huà)狀態(tài)。此時(shí),主叫話(huà)音由話(huà)機手柄麥克風(fēng)輸入,音頻編解碼器將模擬信號變成PCM格式的數據信號,送入TIGER560B進(jìn)行處理,再由TIGER560B的USB接口送到計算機,計算機采用H.323協(xié)議處理,最后通過(guò)網(wǎng)絡(luò )接口連接到因特網(wǎng)。
被叫是主叫的逆過(guò)程。如果有振鈴,按“摘掛機鍵”,直接接聽(tīng)。此時(shí),從因特網(wǎng)來(lái)的話(huà)音,經(jīng)計算機處理后從USB接口送到TIGER560B,然后由TIGER560B將話(huà)音信息變成PCM數據格式送到音頻編解碼器,再由音頻編解碼器將PCM數據格式話(huà)音變成模擬話(huà)音后,送到被叫話(huà)機手柄的耳筒。
不論作為主叫還是被叫,都是全雙工、雙向實(shí)時(shí)通信。呼叫、通話(huà)、掛機等各種狀態(tài)在計算機界面都有指示,撥打或者接聽(tīng)電話(huà)與使用傳統電話(huà)完全相同,無(wú)需操作鍵盤(pán)進(jìn)行干預。
2.3 H.323協(xié)議實(shí)現網(wǎng)絡(luò )電話(huà)過(guò)程
本文所述網(wǎng)絡(luò )電話(huà)是計算機的一種輔助外部設備,其網(wǎng)絡(luò )協(xié)議和實(shí)現網(wǎng)絡(luò )電話(huà)的多媒體協(xié)議H.323均在計算機上實(shí)現。
實(shí)現網(wǎng)絡(luò )電話(huà)可以采用H.323協(xié)議和SIP協(xié)議。目前我國主要采用前者。
H.323協(xié)議是ITU-T(國際電聯(lián))制定的因特網(wǎng)多媒體實(shí)時(shí)通信協(xié)議簇,由呼叫控制、媒體編碼、管理控制、網(wǎng)絡(luò )安全等系列協(xié)議組成,其全稱(chēng)是“基于分組交換的多媒體通訊系”。H.323協(xié)議提供基于因特網(wǎng)的聲音、視頻和數據傳送的相關(guān)標準,定義了4種基本的構成單元:終端(terminal)、網(wǎng)關(guān)(gateway)、網(wǎng)守(gatekeeper)和多點(diǎn)控制單元(MCU)。其中網(wǎng)關(guān)和網(wǎng)守是網(wǎng)絡(luò )電話(huà)系統的關(guān)鍵。網(wǎng)關(guān)實(shí)現因特網(wǎng)和網(wǎng)守是網(wǎng)絡(luò )電話(huà)系統的關(guān)鍵。網(wǎng)關(guān)實(shí)現因特網(wǎng)電話(huà)與傳統電信網(wǎng)電話(huà)的連接,網(wǎng)守負責因特網(wǎng)內電話(huà)呼叫、計費和管理等。USB網(wǎng)絡(luò )電話(huà)僅是網(wǎng)絡(luò )電話(huà)終端的一種形式。其協(xié)議軟件構架如圖3規范,而網(wǎng)絡(luò )電話(huà)僅涉及到音頻通信部分,因此,多點(diǎn)控制單元MCU不作為其必備設備。
計算機中的軟件設計:音頻編解碼部分能夠與USB網(wǎng)絡(luò )電話(huà)手柄通過(guò)USB接口收發(fā)G..722、G.729、G..723.1等編碼,由網(wǎng)絡(luò )接口傳送。提供了網(wǎng)絡(luò )電話(huà)與網(wǎng)守、網(wǎng)關(guān)及其他終端之間必需的控制接口,采用H.225.0呼叫控制、H.245信道控制、RTCP實(shí)時(shí)控制協(xié)議來(lái)實(shí)現。
網(wǎng)關(guān)是兩種不同網(wǎng)絡(luò )之間的互通設備,完成信令格式、內容轉換、通信協(xié)議轉換、流媒體格式轉換。它是網(wǎng)絡(luò )電話(huà)與傳統電話(huà)互通的必備設備。如果網(wǎng)絡(luò )電話(huà)僅使用在局域網(wǎng)或者虛擬局域網(wǎng)等小范圍,可以不需要網(wǎng)關(guān)設備,如圖4所示。
3 硬件電路設計
USB網(wǎng)絡(luò )電話(huà)機使用TIGER560B型專(zhuān)用控制器,外圍硬件電路很少。確保電路成本低,可靠性高。具體電路如圖5所示。
圖5僅給出TIGER560B的主要連接線(xiàn),如音頻編解碼器、鍵盤(pán)、USB接口、振鈴電路、晶振電路和工作指示。其他如模式配置,電源線(xiàn)、地線(xiàn)、電阻器連接等具體內容可參閱參考文獻[4]。采用TIGER560B設計的網(wǎng)絡(luò )電話(huà),電路非常簡(jiǎn)單,不需要編制電話(huà)機內軟件,所有設置、驅動(dòng)和應用軟件均在計算機上運行,便于批量生產(chǎn)。
TIGER560B能夠產(chǎn)生MC14LC5480的時(shí)序,如圖6所示。使用短幀模式。不需要額外時(shí)序產(chǎn)生電路。作為主叫時(shí),MC14LC5480將手柄送來(lái)的模擬信號變成PCM數據碼流(符合G..711編碼規范),然后送到TIGER560B進(jìn)行處理,TIGER560B通過(guò)USB接口將PCM碼流送入計算機,計算機將其進(jìn)行音頻編碼,轉換為G..729、G.723.1、G..722(可在計算機使用界面可設置),再將其從計算機網(wǎng)絡(luò )接口送到因特網(wǎng);作為被叫時(shí),MC14LC5480把逆向傳來(lái)的PCM編碼變成模擬信號,送向手柄話(huà)筒。
鍵盤(pán)上有摘/掛機按鍵、號碼鍵、音量控制器、號碼修改鍵、閉音鍵等,撥打、接聽(tīng)電話(huà)不需要操作計算機鍵盤(pán)。與使用傳統電話(huà)完全一樣,方便實(shí)用。如果有來(lái)話(huà),蜂鳴器將發(fā)現“嘟嘟聲”提示,計算機屏幕也有指示。
4 軟件設計
USB網(wǎng)絡(luò )電話(huà)的音頻驅動(dòng)軟件已經(jīng)嵌入微軟的WINDOWS操作系統中,可以實(shí)現即插即用功能??梢允褂猛ㄓ玫木W(wǎng)絡(luò )語(yǔ)音通信軟件如MSN、QQ、OPENPHONE等進(jìn)行語(yǔ)音交流。此時(shí),USB網(wǎng)絡(luò )電話(huà)相當一個(gè)外置聲卡,各種操作需要借助于計算機鍵盤(pán)和相應語(yǔ)音軟件完成,不能實(shí)現鍵盤(pán)掃描和振鈴功能。如果要實(shí)現完整的電話(huà)功能,必須另外開(kāi)發(fā)驅動(dòng)軟件。
本文設計的網(wǎng)絡(luò )電話(huà)軟件包括用戶(hù)界面設計和鍵盤(pán)掃描/振鈴驅動(dòng)兩部分。界面設計主要以簡(jiǎn)潔、實(shí)用、美觀(guān)為主,不作為重點(diǎn)介紹。
設計鍵盤(pán)掃描、振鈴驅動(dòng)部分使用Tiger Jet Network公司提供的SDK開(kāi)發(fā)包,通過(guò)編寫(xiě)驅動(dòng)軟件控制TIGER560B內部寄存器實(shí)現。軟件流程框圖如圖7所示。H.323協(xié)議軟件使用SDK開(kāi)發(fā)包提供的庫函數,網(wǎng)絡(luò )協(xié)議軟件使用WINDOWS操作系統中的協(xié)議。
鍵盤(pán)掃描和振鈴驅動(dòng)軟件子程序如下:
#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é)議,計算機側使用WINDOWS支持的USB驅動(dòng)軟件,USB網(wǎng)絡(luò )電話(huà)側協(xié)議軟件以微碼形式固化在TIGER560B中,不需再寫(xiě)軟件。
5 結束語(yǔ)
本項目日前已經(jīng)完成實(shí)驗和測試。測試結果表明其話(huà)音質(zhì)量好,工作穩定,可以作為計算機附件。
整個(gè)USB網(wǎng)絡(luò )電話(huà)以TIGER560B為控制核心,外接語(yǔ)音編解碼器,硬件電路簡(jiǎn)單,軟件運行在計算機上,充分利用了計算機的優(yōu)勢,把計算機變成了一個(gè)標準的基于H.323協(xié)議的VoIP終端。如果在運營(yíng)商提供基于純因特網(wǎng)上的網(wǎng)絡(luò )電話(huà)業(yè)務(wù),本文所述的USB網(wǎng)絡(luò )電話(huà)一定會(huì )有很好的開(kāi)發(fā)前景。
評論