IP電話的VoIP語音網(wǎng)關(guān)設(shè)計
近年來,Internet得到了飛速發(fā)展和普及應(yīng)用,而作為其核心技術(shù)的IP協(xié)議體系在數(shù)據(jù)網(wǎng)絡(luò)架構(gòu)中的統(tǒng)治地位已得到了廣泛認(rèn)同。同時,隨著基于IP技術(shù)上各種應(yīng)用技術(shù)的提出,尤其是VoIP技術(shù)的提出,使得數(shù)據(jù)網(wǎng)絡(luò)通信逐漸的融入了傳統(tǒng)的話音業(yè)務(wù)領(lǐng)域。
VoIP(Voice over IP)俗稱IP電話(Internet Protocol Phone),是利用IP網(wǎng)絡(luò)實現(xiàn)語音通信的一種先進通信手段,是一種完全基于IP網(wǎng)絡(luò)的語音傳輸技術(shù)。它利用語音網(wǎng)關(guān),軟交換平臺,網(wǎng)守等設(shè)備將模擬信號數(shù)字化,然后將數(shù)據(jù)壓縮成數(shù)據(jù)包,通過IP網(wǎng)絡(luò)傳輸?shù)秸Z音的目的地址。目的地址接收到數(shù)據(jù)包后,將數(shù)據(jù)重組,解壓縮后再還原成模擬信號。這樣,一次完整的通話過程就在IP網(wǎng)絡(luò)中實現(xiàn)了。本文將討論如何在嵌入式μClinux環(huán)境下設(shè)計出在IP網(wǎng)絡(luò)中承擔(dān)數(shù)據(jù)壓縮、解壓和傳輸?shù)戎匾δ艿脑O(shè)備——VoIP語音網(wǎng)關(guān)。
1 IP電話系統(tǒng)的基本組成
IP電話系統(tǒng)一般由三部份組成:電話(phone)、語音網(wǎng)關(guān)(gateway)和網(wǎng)守(gatekeeper),如圖1所示。
電話是指可以通過電話網(wǎng)或一線通(ISDN)連到本地網(wǎng)關(guān)的電話終端。
語音網(wǎng)關(guān)是指通過IP網(wǎng)絡(luò)提供電話之間完成話音通信的關(guān)鍵設(shè)備,即Internet網(wǎng)絡(luò)與電話網(wǎng)和一線通(ISDN)網(wǎng)之間的接口設(shè)備。它完成語音壓縮(將64 Kb/s的語音信號壓縮成低碼率的語音信號)和尋址與呼叫控制,并具有IP網(wǎng)絡(luò)與電話(PSTN)或一線通(ISDN)互連的接口功能。
網(wǎng)守即網(wǎng)絡(luò)管理者,負(fù)責(zé)用戶注冊、計費等管理功能.
2 VolP語音網(wǎng)關(guān)
IP電話系統(tǒng)設(shè)計的核心為VoIP語音網(wǎng)關(guān)。根據(jù)VoIP語音網(wǎng)關(guān)的功能需求以及市場上的成熟技術(shù),筆者采用“硬件+嵌入式操作系統(tǒng)+應(yīng)用層軟件”的系統(tǒng)架構(gòu)來設(shè)計VolP語音網(wǎng)關(guān)。
對于硬件平臺,以VolP主芯片為核心附以必要的外圍設(shè)備。主芯片采用Texas Inslruments生產(chǎn)的TI TMS320VC549 DSP和Samsung公司ARM7TDMI核的雙內(nèi)核結(jié)構(gòu)。
VolP軟件部分分為兩層:嵌入式操作系統(tǒng)和應(yīng)用層軟件。利用開放源代碼的實時操作系統(tǒng)μClinux作為嵌入式操作系統(tǒng),采用模塊化設(shè)計,開發(fā)平臺友好。根據(jù)功能需求,在應(yīng)用層軟件中包括語音包處理模塊、電話信令網(wǎng)關(guān)模塊、路由尋址模塊和網(wǎng)絡(luò)管理模塊。
2.1 硬件實現(xiàn)
VolP語音網(wǎng)關(guān)由主芯片、存儲器、以太網(wǎng)接口、音頻接口和I/0擴展電路等幾部分組成,硬件框圖如圖2所示。
(1)主芯片
主芯片框圖如圖3所示。主芯片由TMS320VC549DSP和ARlM7TDMI雙內(nèi)核構(gòu)成。
ARM7TDMI內(nèi)核使用50 MHz主頻和單周期精簡指令,內(nèi)建8 KB RAM、DMA控制器和中斷控制器,并支持各種總線擴展。其內(nèi)部的SIM (System Integrated Module)單元集成了豐富的通用模塊,包括2個異步串口,2個32位的計數(shù)器和以太網(wǎng)控制器等。
TI公司的16位高速定點DSP TMS320VC549,其處理速度高達100MIPS且功能十分強大,可支持所有高壓縮/低時延編解碼(G.711、G.729、G.729a和G.723.1),并完全支持回聲抵消、語音狀態(tài)檢測、靜音壓縮、抖動緩沖和舒適噪音產(chǎn)生等功能,保證統(tǒng)一、高質(zhì)量的語音交互。
本硬件設(shè)計采用雙內(nèi)核結(jié)構(gòu),使VoIP語音網(wǎng)關(guān)在功耗和應(yīng)用的復(fù)雜度之間建立了良好的平衡。采用雙內(nèi)核的優(yōu)勢如下:
① 提高語音處理的實時性,避免傳統(tǒng)單內(nèi)核設(shè)計功耗太大的缺點。若全部工作都由ARM7TDMI核來完成,負(fù)擔(dān)過重,實時性能受到影響,將會造成語音質(zhì)量下降,且限制了通信的會話路數(shù),不能滿足大量用戶通信的要求。現(xiàn)由DSP處理器完成實時的語音信號壓縮、DTMF信號的檢測與產(chǎn)生、回波消除等工作,既減輕了ARM核的負(fù)擔(dān),同時又提供了多個話路,降低了功耗,使網(wǎng)關(guān)為多用戶提供服務(wù)成為可能。
② 實現(xiàn)復(fù)雜的系統(tǒng)功能。采用32位ARM核作為控制管理中心,能穩(wěn)定的運行嵌入式實時操作系統(tǒng),能支持各種網(wǎng)絡(luò)協(xié)議棧如TCP/IP,使語音數(shù)據(jù)能夠在網(wǎng)絡(luò)中有效地傳輸。
(2)存儲器
系統(tǒng)包括1片8 MB的Flash,用于存儲嵌入式實時操作系統(tǒng)內(nèi)核和應(yīng)用程序代碼的壓縮文件,還有1片512KB的SDRAM。系統(tǒng)啟動時,ARM核將Flash中的壓縮文件調(diào)入SDRAM進行解壓,然后執(zhí)行。
(3)音頻解碼器
編解碼器芯片負(fù)責(zé)對DSP解壓縮后送來的PCM數(shù)據(jù)進行解碼,并將濾波后的模擬語音信號送給用戶端;同時,編解碼器芯片還負(fù)責(zé)將模擬語音信號進行PCM編碼,然后送到DSP芯片進行壓縮處理。在設(shè)計中,編解碼器芯片采用IDT公司的4通道PCM編解碼芯片IDT821034。該芯片具有可編程增益設(shè)置、主時鐘頻率為2.048MHz,最大支持128個可編程時隙、A律/μ律可選、內(nèi)置數(shù)字濾波器、串行控制接口和低功耗等特點。
(4)以太網(wǎng)控制器
采用由Realtek公司生產(chǎn)的以太網(wǎng)芯片,它具有10/100M自適應(yīng)收發(fā)功能,支持全雙工操作,符合802.3協(xié)議。由它負(fù)責(zé)處理有關(guān)以太網(wǎng)數(shù)據(jù)幀的發(fā)送和接收,包括曼徹斯特編碼、沖突檢測、幀頭的產(chǎn)生和檢測、CRC校驗碼的生成和驗證以及數(shù)據(jù)重發(fā)等。
(5)其他外圍
系統(tǒng)中還包括LCD液晶顯示、鍵盤、AC—DC電源等模塊。
2.2 軟件實現(xiàn)
圖4是軟件系統(tǒng)的總體設(shè)計和層次及模塊劃分的框圖。下面對各個層次和模塊進行介紹。
2.2.1 嵌入式操作系統(tǒng)和驅(qū)動程序的設(shè)計
嵌入式操作系統(tǒng)采用μClinux,包含F(xiàn)ile模塊、GUI模塊和NET模塊等。μClinux是針對無內(nèi)存管理單元處理器定制的Linux操作系統(tǒng),具有源代碼公開、內(nèi)核可裁剪和易于移植等特點。本系統(tǒng)用C語言進行開發(fā),μClinux強大的應(yīng)用程序庫μCLibc對應(yīng)用軟件層的開發(fā)提供了支持,節(jié)省了系統(tǒng)開發(fā)的時間。File模塊是文件系統(tǒng)模塊。GUI模塊是一個圖形管理模塊,支持LCD和觸摸屏,用于開發(fā)人機界面。NET模塊即網(wǎng)絡(luò)模塊,實現(xiàn)了TCP/IP協(xié)議棧,用于提供網(wǎng)絡(luò)語音通信的功能。
根據(jù)硬件平臺的要求,還需要開發(fā)適應(yīng)硬件平臺的驅(qū)動程序,包括BSP板級包,串口驅(qū)動程序和以太網(wǎng)口驅(qū)動程序。BSP板級包貫穿著硬件級、操作系統(tǒng)級和應(yīng)用程序級多層,與μClinux一起為應(yīng)用程序提供服務(wù)。BSP板級包的編寫是實現(xiàn)μClinux系統(tǒng)移植的關(guān)鍵。在BSP板級包上開發(fā)和完成硬件初始化,中斷的處理和產(chǎn)生,硬件時鐘管理,本地和總線的內(nèi)存映射等功能。在串口驅(qū)動設(shè)計中,實現(xiàn)了單字符發(fā)送、字符串發(fā)送、單字符讀取等基本功能,達到通過串口收發(fā)字符串的目的。網(wǎng)口驅(qū)動相對簡單,實現(xiàn)了芯片初始化、網(wǎng)絡(luò)包發(fā)送、網(wǎng)絡(luò)包接收和芯片復(fù)位等基本功能,達到通過網(wǎng)絡(luò)口發(fā)送和接收網(wǎng)絡(luò)數(shù)據(jù)包的目的。
2.2.2 應(yīng)用軟件模塊
應(yīng)用層的軟件由系統(tǒng)應(yīng)用層協(xié)議棧H.323和各個功能模塊組成。
系統(tǒng)的應(yīng)用層協(xié)議棧H.323實現(xiàn)通過VoIP網(wǎng)關(guān)實時傳送數(shù)據(jù)的功能。H.323通信協(xié)議棧負(fù)責(zé)IP電話中尋找被叫方、建立應(yīng)答、并且按照彼此的數(shù)據(jù)處理能力發(fā)送數(shù)據(jù),在網(wǎng)絡(luò)中進行實時語音傳輸。應(yīng)用層協(xié)議棧H.323是系統(tǒng)應(yīng)用層軟件的基礎(chǔ),應(yīng)用層的軟件模塊在這個協(xié)議棧的基礎(chǔ)上進行開發(fā)。
應(yīng)用層軟件功能模塊包括語音包處理模塊,電話信令網(wǎng)關(guān)模塊,路由尋址模塊和網(wǎng)絡(luò)管理模塊。
語音包處理模塊主要是在數(shù)字信號處理器(DSP)芯片上運行,可實現(xiàn)以下的功能。
① 語音的編碼及解碼。
②靜音檢測。通過對無話音時的噪聲進行檢測,從而判斷所接收的信號是否含有語音信號,如果沒有檢測到語音信號,將會反饋至“語音包處理器”,讓它發(fā)出一個含有“靜音”的信息包,從而最大限度節(jié)省通信帶寬。
③回音抵消。基于國際標(biāo)準(zhǔn)G.165/G.168實現(xiàn)語音通信中的回音抵消,以改善語音的通信質(zhì)量。
④自適應(yīng)語音恢復(fù)。通過一個緩沖器,對接收到的延后語音包信號進行語音恢復(fù),從而達到抗“延時”、抗“時延抖動”的目的;并且可以“自適應(yīng)”地調(diào)節(jié)時延值,達到語音傳輸時延最小的目的,改善語音通信質(zhì)量。同時支持“內(nèi)插”算法,即當(dāng)語音包在傳輸過程中丟失時,能夠利用“內(nèi)插”技術(shù)進行恢復(fù)。
⑤語音包處理。對經(jīng)過編碼后的語音信號進行“語音打包”處理,或者是對接收到的語音包進行“拆包”處理,從而完成封裝協(xié)議的處理。
電話信令網(wǎng)關(guān)模塊主要實現(xiàn)信令轉(zhuǎn)換的功能。VoIP語音網(wǎng)關(guān)提供了與公共電話網(wǎng)(PSTN)的接口,因此VoIP語音網(wǎng)關(guān)要實現(xiàn)的一個重要功能就是信令的解釋和轉(zhuǎn)換,即把來自公共電話網(wǎng)(PSTN)的呼叫控制信令翻譯成IP電話網(wǎng)內(nèi)部可以識別的信令格式,然后通過IP網(wǎng)絡(luò)進行傳輸。
路由尋址模塊主要完成路由尋址及路由管理的功能。它將各個地區(qū)的電話區(qū)號映射為相應(yīng)網(wǎng)關(guān)的IP地址,存放在數(shù)據(jù)庫中,當(dāng)在用戶撥打長途電話時,網(wǎng)關(guān)根據(jù)電話區(qū)號的數(shù)據(jù)庫資料,確立相應(yīng)網(wǎng)關(guān)的IP地址,并將此IP地址加入到IP數(shù)據(jù)包中,同時選擇出最佳的路由以減少傳輸延遲,把IP數(shù)據(jù)包經(jīng)過Internet傳送到目的網(wǎng)關(guān)。
網(wǎng)絡(luò)管理模塊(SNMP/WEB/CLI)提供一個語音管理的接口,實現(xiàn)對VoIP語音網(wǎng)關(guān)的配置和維護。網(wǎng)絡(luò)管理信息是基于國際標(biāo)準(zhǔn)ASN.1和SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)的要求建立的,針對系統(tǒng)開發(fā)了三種模式管理:基于WEB的管理,基于SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)的管理和基于命令行的管理。這使用戶對VoIP語音網(wǎng)關(guān)的配置和維護更加簡單和有效。
結(jié) 語
本文分析了基于嵌入式VoIP語音網(wǎng)關(guān)系統(tǒng)的體系結(jié)構(gòu),并分析了系統(tǒng)軟、硬件模塊結(jié)構(gòu),利用了以太網(wǎng)協(xié)議豐富和開放性強的特點,采用TCP和H.323協(xié)議設(shè)計,充分滿足了實際應(yīng)用的需求。目前,VoIP設(shè)備正從基于PC的初級產(chǎn)品發(fā)展為大規(guī)模、高可靠性的、高性能的電信級網(wǎng)絡(luò)運營設(shè)備。在技術(shù)上,綜合現(xiàn)有的電話網(wǎng)信令技術(shù),可將話音、數(shù)據(jù)、傳真以及多媒體融合到一個統(tǒng)一的網(wǎng)絡(luò)之中。IP電話在降低網(wǎng)絡(luò)基礎(chǔ)設(shè)施成本的同時,為用戶提供了極其豐富的新業(yè)務(wù)功能。