謝 華
(深圳信息職業(yè)技術(shù)學院電子通信技術(shù)系 深圳 518029)
隨著互聯(lián)網(wǎng)的飛速發(fā)展,傳統(tǒng)的信息傳輸方式正在經(jīng)歷著根本性的變革,包括語音、圖像在內(nèi)的各種日常通信信息越來越多地采用互聯(lián)網(wǎng)的方式進行傳輸,給使用者提供了方便、快捷、便宜的信息獲取渠道。全球著名的英飛凌(Infineon)科技公司適應(yīng)社會發(fā)展需求,推出多種半導(dǎo)體芯片整體解決方案,其中ADM5120+PEB33322芯片組合在VoIP方面提供了一個高性能、低成本、設(shè)計簡單的用戶端設(shè)備(CPE)解決方案,很好地解決了VoIP語音網(wǎng)關(guān)中一系列技術(shù)問題,為今后VoIP用戶終端的快速發(fā)展提供了一種較好的解決方案。
英飛凌公司推出的VoIP芯片組合具有如下主要的特點和優(yōu)勢:
·在一個芯片中集成了VoIP處理器、存儲器、電話接口電路和語音編解碼器,設(shè)計簡單,可靠性高,實時性好;
·具有VoIP系列產(chǎn)品支持,設(shè)計靈活,可擴展性好;
·體積小,成本低,技術(shù)成熟,在世界范圍內(nèi)得到廣泛的應(yīng)用。
筆者采用英飛凌公司生產(chǎn)的ADM5120+PEB33322芯片組合設(shè)計了一個用戶端VoIP語音網(wǎng)關(guān),該網(wǎng)關(guān)采用SIP協(xié)議作為信令控制協(xié)議,可以通過標準的Z接口將普通模擬電話機接入局域網(wǎng),實現(xiàn)VoIP通信。該VoIP系統(tǒng)組成如圖1所示。
語音網(wǎng)關(guān)由一個網(wǎng)絡(luò)控制器ADM5120和一個帶有SLIC(用戶線接口電路)的VoIP處理器PEB33322及其外圍配套電路組成。
PEB33322由 2個SLIC、1個語音編解碼器 (Codec)和1個數(shù)字信號處理器(DSP)組成。SLIC帶有1個DC/DC轉(zhuǎn)換器,可以提供標準的Z接口,連接模擬電話機;Codec完成模擬語音信號的PCM編碼和解碼;DSP微處理器完成語音信號的壓縮和解壓縮 (滿足G.723.1、G.729等標準)、信息封裝、線路回聲抵消 (LEC)、語音抖動緩沖(jitter buffer)、動態(tài)語音檢測(VAD)、舒適噪音產(chǎn)生(CNG)、主叫識別(CID)等功能,同時提供一個用于調(diào)試的JTAG接口。其結(jié)構(gòu)如圖2所示。
PEB33322可以使用電話應(yīng)用編程接口(telephone application programming interface,TAPI)來控制 Codec的工作,支持G.729 A/B/E格式的語音壓縮。
網(wǎng)絡(luò)控制器ADM5120是一個高性能、高靈活性的SOC網(wǎng)絡(luò)控制器,由高性能的嵌入式MIPS 4Kc CPU、嵌入式交換引擎、10/100 Mbit/s物理層接口、嵌入式USB接口和 PCI、UART、SDRAM、Flash接口組成,具有存儲器管理(MMU)功能,支持Linux操作系統(tǒng),支持 DHCP服務(wù)器/客戶機工作模式,其結(jié)構(gòu)如圖3所示。
ADM5120在語音網(wǎng)關(guān)中主要完成實現(xiàn)VoIP呼叫時SIP協(xié)議的控制、VoIP網(wǎng)關(guān)設(shè)備的系統(tǒng)管理、數(shù)據(jù)傳輸時TCP/IP協(xié)議控制等功能。
本語音網(wǎng)關(guān)在上述硬件平臺基礎(chǔ)上采用SIP協(xié)議實現(xiàn)語音傳輸?shù)目刂芠1],包括呼叫建立、呼叫保持、呼叫釋放等過程。圖4是采用SIP協(xié)議完成一次基本呼叫控制的過程示意[2]。
ADM5120芯片能夠較好地支持嵌入式Linux操作系統(tǒng),支持 SIP信令協(xié)議[3],因此本語音網(wǎng)關(guān)的軟件設(shè)計也是基于Linux而設(shè)計的,其結(jié)構(gòu)包括應(yīng)用軟件、軟件接口和Linux Kernel三大部分,其軟件結(jié)構(gòu)示意如圖5所示。
·Linux Kernel層主要提供網(wǎng)絡(luò)驅(qū)動、硬件配置和驅(qū)動、TCP/IP協(xié)議棧等功能,為上層提供必要的調(diào)用接口函數(shù);
·軟件接口層主要提供各種應(yīng)用程序庫,主要包括SIP協(xié)議棧、RTP傳輸控制、資源設(shè)備管理等庫函數(shù),為上層提供必要的調(diào)用接口函數(shù);
·應(yīng)用軟件層使用軟件接口層提供的接口函數(shù)實現(xiàn)電話終端的通信任務(wù)、電話終端常用業(yè)務(wù)以及基本參數(shù)配置和各種驅(qū)動初始化。
根據(jù)上述硬件、軟件設(shè)計原理,筆者完成了如圖1所示的語音網(wǎng)關(guān)設(shè)計,實現(xiàn)了話機A與B的VoIP功能。在系統(tǒng)實現(xiàn)過程中主要解決了如下幾個問題。
(1)語音抖動的處理
為了解決好VoIP中的語音抖動問題,在系統(tǒng)中采用了一個抗抖動數(shù)據(jù)緩沖區(qū),該數(shù)據(jù)緩沖區(qū)的大小不僅影響抗抖動的效果,還會影響到語音數(shù)據(jù)傳輸?shù)臅r延。若數(shù)據(jù)緩沖區(qū)過大,就會大大增加語音數(shù)據(jù)的傳輸時延;反之,若數(shù)據(jù)緩沖區(qū)過小,就會減弱抗抖動的效果。在系統(tǒng)實現(xiàn)中將抗抖動數(shù)據(jù)緩沖區(qū)的大小分為三檔,當數(shù)據(jù)抖動較小時,采用第一檔較小的數(shù)據(jù)區(qū),以減少數(shù)據(jù)傳輸時延;當系統(tǒng)檢測發(fā)現(xiàn)接收到的數(shù)據(jù)有較大的抖動時,系統(tǒng)會自動增加抖動數(shù)據(jù)緩沖區(qū)檔次,以減小數(shù)據(jù)的抖動。
(2)網(wǎng)絡(luò)回聲消除的實現(xiàn)
為了實現(xiàn)回聲消除功能,必須考慮近端回聲消除和遠端回聲消除兩部分。在系統(tǒng)實現(xiàn)過程中發(fā)現(xiàn)遠端回聲消除的效果有限,近端的回聲消除起主要作用。究其原因是由于系統(tǒng)中采用了G.729語音壓縮算法,該算法是碼激勵線性預(yù)測編碼(CELP),用線性預(yù)測提取聲道參數(shù),用一個適當?shù)募钍噶孔鳛榧顓?shù)來實現(xiàn)。本地回聲信號經(jīng)過編碼和解碼,在遠地的波形與未編碼的波形相比,發(fā)生了較大的變化,很難實現(xiàn)波形匹配,對遠端返回的回聲難以消除。因此,在系統(tǒng)實現(xiàn)中主要在本地對近端回聲進行消除處理。
(3)丟包處理方法
為了解決數(shù)據(jù)包丟失問題,減小其對語音的影響,必須采用丟包補償技術(shù)。在本系統(tǒng)中采用RTP作為數(shù)據(jù)實時傳輸協(xié)議,由于該協(xié)議沒有提供丟包控制機制,因此必須在應(yīng)用層解決丟包問題。數(shù)據(jù)包丟失可分為小范圍丟包和大范圍丟包兩種情況。對于前一種情況本系統(tǒng)根據(jù)前后相鄰幀的相關(guān)性來補償丟失的數(shù)據(jù)包;而對后一種情況,本系統(tǒng)采用前后數(shù)據(jù)塊進行補償?shù)姆椒?,即事先建立三個一定長度的動態(tài)數(shù)據(jù)塊,當發(fā)生較大范圍的數(shù)據(jù)丟失時,通過前后數(shù)據(jù)塊的內(nèi)容補償丟失數(shù)據(jù)塊的內(nèi)容。數(shù)據(jù)塊的大小是動態(tài)可調(diào)的,且必須與抗抖動緩沖區(qū)的大小配合使用。
(4)呼叫處理流程設(shè)計
呼叫處理軟件主要完成通過語音網(wǎng)關(guān)實現(xiàn)VoIP呼叫所需的各種呼叫處理任務(wù)。呼叫處理軟件主要由GW應(yīng)用模塊、SIP模塊、管理模塊和RTP模塊組成。其中GW應(yīng)用模塊主要負責外接話機與內(nèi)部各模塊的接口;SIP模塊主要負責呼叫的建立、保持和釋放;管理模塊主要負責內(nèi)部資源的分配和管理;RTP模塊主要負責實時語音數(shù)據(jù)的傳送。各個模塊的功能主要通過呼叫控制API函數(shù)的調(diào)用來實現(xiàn)。其發(fā)送端、接收端軟件處理流程示意如圖6所示。
本文介紹的基于英飛凌公司芯片的VoIP系統(tǒng)設(shè)計方案,包括系統(tǒng)硬件組成和呼叫處理軟件實現(xiàn)流程,經(jīng)過實際安裝調(diào)試,在SIP協(xié)議控制下,采用G.729語音壓縮標準,實現(xiàn)了VoIP通話的建立、維護以及拆除,較好地完成了VoIP語音通話等基本功能,聲音清晰、連續(xù);回聲消除比較理想;時延較小;在模擬環(huán)境下的丟包影響較小,充分體現(xiàn)了該系統(tǒng)一體化結(jié)構(gòu)的優(yōu)越性能,具有設(shè)計簡單,對SIP協(xié)議有很強的支持能力等特點,成為VoIP解決方案中一個成功的案例。
1 張智江.SIP協(xié)議及其應(yīng)用.北京:電子工業(yè)出版社,2005
2 會話初始協(xié)議(SIP)技術(shù)要求.北京:中華人民共和國信息產(chǎn)業(yè)部,2006
3黃永峰.下一代網(wǎng)絡(luò)核心控制協(xié)議——SIP及其應(yīng)用.北京:人民郵電出版社,2009
4 周海華.SIP原理與應(yīng)用.北京:機械工業(yè)出版社,2006
5 Gonzalo Camarillo.SIP揭密.北京:人民郵電出版社,2003