新聞中心

EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > IP電話的VoIP語音網(wǎng)關(guān)設(shè)計

IP電話的VoIP語音網(wǎng)關(guān)設(shè)計

——
作者:于紅巖,呂楊,吳選勇,楊騰霄 時間:2006-06-29 來源:單片機及嵌入式系統(tǒng)應(yīng)用 收藏
 
  引 言 

  近年來,Internet得到了飛速發(fā)展和普及應(yīng)用,而作為其核心技術(shù)的IP協(xié)議體系在數(shù)據(jù)架構(gòu)中的統(tǒng)治地位已得到了廣泛認同。   
同時,隨著基于IP技術(shù)上各種應(yīng)用技術(shù)的提出,尤其是技術(shù)的提出,使得數(shù)據(jù)通信逐漸的融入了傳統(tǒng)的話音業(yè)務(wù)領(lǐng)域。 

  (Voice over IP)俗稱IP電話(Internet Protocol Phone),是利用IP實現(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ò)中承擔數(shù)據(jù)壓縮、解壓和傳輸?shù)戎匾δ艿脑O(shè)備——語音網(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ò)管理者,負責用戶注冊、計費等管理功能. 

  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)由主芯片、存儲器、接口、音頻接口和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ù)器和控制器等。 

  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)用的復雜度之間建立了良好的平衡。采用雙內(nèi)核的優(yōu)勢如下: 

 ?、?nbsp;提高語音處理的實時性,避免傳統(tǒng)單內(nèi)核設(shè)計功耗太大的缺點。若全部工作都由ARM7TDMI核來完成,負擔過重,實時性能受到影響,將會造成語音質(zhì)量下降,且限制了通信的會話路數(shù),不能滿足大量用戶通信的要求?,F(xiàn)由DSP處理器完成實時的語音信號壓縮、DTMF信號的檢測與產(chǎn)生、回波消除等工作,既減輕了ARM核的負擔,同時又提供了多個話路,降低了功耗,使網(wǎng)關(guān)為多用戶提供服務(wù)成為可能。 

 ?、?nbsp;實現(xiàn)復雜的系統(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)音頻解碼器 

  編解碼器芯片負責對DSP解壓縮后送來的PCM數(shù)據(jù)進行解碼,并將濾波后的模擬語音信號送給用戶端;同時,編解碼器芯片還負責將模擬語音信號進行PCM編碼,然后送到DSP芯片進行壓縮處理。在設(shè)計中,編解碼器芯片采用IDT公司的4通道PCM編解碼芯片IDT821034。該芯片具有可編程增益設(shè)置、主時鐘頻率為2.048MHz,最大支持128個可編程時隙、A律/μ律可選、內(nèi)置數(shù)字濾波器、串行控制接口和低功耗等特點。 

  (4)控制器 

  采用由Realtek公司生產(chǎn)的以太網(wǎng)芯片,它具有10/100M自適應(yīng)收發(fā)功能,支持全雙工操作,符合802.3協(xié)議。由它負責處理有關(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ò)包接收和芯片復位等基本功能,達到通過網(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é)議棧負責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)以下的功能。 

 ?、?nbsp;語音的編碼及解碼。 

 ?、陟o音檢測。通過對無話音時的噪聲進行檢測,從而判斷所接收的信號是否含有語音信號,如果沒有檢測到語音信號,將會反饋至“語音包處理器”,讓它發(fā)出一個含有“靜音”的信息包,從而最大限度節(jié)省通信帶寬。 

  ③回音抵消?;趪H標準G.165/G.168實現(xiàn)語音通信中的回音抵消,以改善語音的通信質(zhì)量。 

 ?、茏赃m應(yīng)語音恢復。通過一個緩沖器,對接收到的延后語音包信號進行語音恢復,從而達到抗“延時”、抗“時延抖動”的目的;并且可以“自適應(yīng)”地調(diào)節(jié)時延值,達到語音傳輸時延最小的目的,改善語音通信質(zhì)量。同時支持“內(nèi)插”算法,即當語音包在傳輸過程中丟失時,能夠利用“內(nèi)插”技術(shù)進行恢復。 

 ?、菡Z音包處理。對經(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ù)庫中,當在用戶撥打長途電話時,網(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ò)管理信息是基于國際標準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ù)功能。  
 

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

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

關(guān)閉