TI公司的16位高速定點DSP TMS320VC549,其處理速度高達100MIPS且功能十分強大,可支持所有高壓縮/低時延編解碼(G.711、G.729、G.729a和G.723.1),并完全支持回聲抵消、語音狀態(tài)檢測、靜音壓縮、抖動緩沖和舒適噪音產生等功能,保證統一、高質量的語音交互。
本硬件設計采用雙內核結構,使VoIP語音網關在功耗和應用的復雜度之間建立了良好的平衡。采用雙內核的優(yōu)勢如下:
- 提高語音處理的實時性,避免傳統單內核設計功耗太大的缺點。若全部工作都由ARM7TDMI核來完成,負擔過重,實時性能受到影響,將會造成語音質量下降,且限制了通信的會話路數,不能滿足大量用戶通信的要求。現由DSP處理器完成實時的語音信號壓縮、DTMF信號的檢測與產生、回波消除等工作,既減輕了ARM核的負擔,同時又提供了多個話路,降低了功耗,使網關為多用戶提供服務成為可能。
- 實現復雜的系統功能。采用32位ARM核作為控制管理中心,能穩(wěn)定的運行嵌入式實時操作系統,能支持各種網絡協議棧如TCP/IP,使語音數據能夠在網絡中有效地傳輸。
(2)存儲器
系統包括1片8 MB的Flash,用于存儲嵌入式實時操作系統內核和應用程序代碼的壓縮文件,還有1片512KB的SDRAM。系統啟動時,ARM核將Flash中的壓縮文件調入SDRAM進行解壓,然后執(zhí)行。
(3)音頻解碼器
編解碼器芯片負責對DSP解壓縮后送來的PCM數據進行解碼,并將濾波后的模擬語音信號送給用戶端;同時,編解碼器芯片還負責將模擬語音信號進行PCM編碼,然后送到DSP芯片進行壓縮處理。在設計中,編解碼器芯片采用IDT公司的4通道PCM編解碼芯片IDT821034。該芯片具有可編程增益設置、主時鐘頻率為2.048MHz,最大支持128個可編程時隙、A律/μ律可選、內置數字濾波器、串行控制接口和低功耗等特點。
(4)以太網控制器
采用由Realtek公司生產的以太網芯片,它具有10/100M自適應收發(fā)功能,支持全雙工操作,符合802.3協議。由它負責處理有關以太網數據幀的發(fā)送和接收,包括曼徹斯特編碼、沖突檢測、幀頭的產生和檢測、CRC校驗碼的生成和驗證以及數據重發(fā)等。
(5)其他外圍
系統中還包括LCD液晶顯示、鍵盤、AC—DC電源等模塊。
軟件實現
圖4是軟件系統的總體設計和層次及模塊劃分的框圖。下面對各個層次和模塊進行介紹。
嵌入式操作系統和驅動程序的設計
嵌入式操作系統采用μClinux,包含File模塊、GUI模塊和NET模塊等。μClinux是針對無內存管理單元處理器定制的Linux操作系統,具有源代碼公開、內核可裁剪和易于移植等特點。本系統用C語言進行開發(fā),μClinux強大的應用程序庫μCLibc對應用軟件層的開發(fā)提供了支持,節(jié)省了系統開發(fā)的時間。File模塊是文件系統模塊。
GUI模塊是一個圖形管理模塊,支持LCD和觸摸屏,用于開發(fā)人機界面。NET模塊即網絡模塊,實現了TCP/IP協議棧,用于提供網絡語音通信的功能。
根據硬件平臺的要求,還需要開發(fā)適應硬件平臺的驅動程序,包括BSP板級包,串口驅動程序和以太網口驅動程序。BSP板級包貫穿著硬件級、操作系統級和應用程序級多層,與μClinux一起為應用程序提供服務。BSP板級包的編寫是實現μClinux系統移植的關鍵。在BSP板級包上開發(fā)和完成硬件初始化,中斷的處理和產生,硬件時鐘管理,本地和總線的內存映射等功能。在串口驅動設計中,實現了單字符發(fā)送、字符串發(fā)送、單字符讀取等基本功能,達到通過串口收發(fā)字符串的目的。網口驅動相對簡單,實現了芯片初始化、網絡包發(fā)送、網絡包接收和芯片復位等基本功能,達到通過網絡口發(fā)送和接收網絡數據包的目的。
應用軟件模塊
應用層的軟件由系統應用層協議棧H.323和各個功能模塊組成。
系統的應用層協議棧H.323實現通過VoIP網關實時傳送數據的功能。H.323通信協議棧負責IP電話中尋找被叫方、建立應答、并且按照彼此的數據處理能力發(fā)送數據,在網絡中進行實時語音傳輸。應用層協議棧H.323是系統應用層軟件的基礎,應用層的軟件模塊在這個協議棧的基礎上進行開發(fā)。
應用層軟件功能模塊包括語音包處理模塊,電話信令網關模塊,路由尋址模塊和網絡管理模塊。
語音包處理模塊主要是在數字信號處理器(DSP)芯片上運行,可實現以下的功能。
- 語音的編碼及解碼。
- 靜音檢測。通過對無話音時的噪聲進行檢測,從而判斷所接收的信號是否含有語音信號,如果沒有檢測到語音信號,將會反饋至“語音包處理器”,讓它發(fā)出一個含有“靜音”的信息包,從而最大限度節(jié)省通信帶寬。
- 回音抵消;趪H標準G.165/G.168實現語音通信中的回音抵消,以改善語音的通信質量。
- 自適應語音恢復。通過一個緩沖器,對接收到的延后語音包信號進行語音恢復,從而達到抗“延時”、抗“時延抖動”的目的;并且可以“自適應”地調節(jié)時延值,達到語音傳輸時延最小的目的,改善語音通信質量。同時支持“內插”算法,即當語音包在傳輸過程中丟失時,能夠利用“內插”技術進行恢復。
- 語音包處理。對經過編碼后的語音信號進行“語音打包”處理,或者是對接收到的語音包進行“拆包”處理,從而完成封裝協議的處理。
電話信令網關模塊主要實現信令轉換的功能。VoIP語音網關提供了與公共電話網(PSTN)的接口,因此VoIP語音網關要實現的一個重要功能就是信令的解釋和轉換,即把來自公共電話網(PSTN)的呼叫控制信令翻譯成IP電話網內部可以識別的信令格式,然后通過IP網絡進行傳輸。
路由尋址模塊主要完成路由尋址及路由管理的功能。它將各個地區(qū)的電話區(qū)號映射為相應網關的IP地址,存放在數據庫中,當在用戶撥打長途電話時,網關根據電話區(qū)號的數據庫資料,確立相應網關的IP地址,并將此IP地址加入到IP數據包中,同時選擇出最佳的路由以減少傳輸延遲,把IP數據包經過Internet傳送到目的網關。
網絡管理模塊(SNMP/WEB/CLI)提供一個語音管理的接口,實現對VoIP語音網關的配置和維護。網絡管理信息是基于國際標準ASN.1和SNMP(簡單網絡管理協議)的要求建立的,針對系統開發(fā)了三種模式管理:基于WEB的管理,基于SNMP(簡單網絡管理協議)的管理和基于命令行的管理。這使用戶對VoIP語音網關的配置和維護更加簡單和有效。
結 語
本文分析了基于嵌入式VoIP語音網關系統的體系結構,并分析了系統軟、硬件模塊結構,利用了以太網協議豐富和開放性強的特點,采用TCP和H.323協議設計,充分滿足了實際應用的需求。目前,VoIP設備正從基于PC的初級產品發(fā)展為大規(guī)模、高可靠性的、高性能的電信級網絡運營設備。在技術上,綜合現有的電話網信令技術,可將話音、數據、傳真以及多媒體融合到一個統一的網絡之中。IP電話在降低網絡基礎設施成本的同時,為用戶提供了極其豐富的新業(yè)務功能。