VoIP的應用趨勢 作為NGN(下一代網絡)中的重要組成部分,VoIP是面向未來、可持續發展的語音解決方案,可以為商業和家庭用戶提供質優價廉的IP語音服務。隨著 NGN網絡技術的快速發展,VoIP的通信量也已得到快速增長,并以其低廉的價格優勢迅速占有市場。 VoIP語音技術與傳統電話的區別 VoIP(又稱IP PHONE)是建立在IP技術上的分組化、數字化語音傳輸技術。其基本原理是:通過語音壓縮算法對語音數據進行壓縮編碼處理,然后把這些語音數據按IP等相關協議進行打包,經過IP網絡把數據包傳輸到接收地,再把這些語音數據包串起來,經過解碼解壓處理后,恢復成原來的語音信號,從而達到由IP網絡傳送語音的目的。VoIP系統把傳統電話的模擬信號轉換成計算機可聯入因特網傳送的IP數據包,同時也將收到的IP數據包轉換成聲音的模擬電信號。經過VoIP系統的轉換及壓縮處理,每個普通電話傳輸速率約占用8~11kbit/s帶寬,因此在與普通電信網同樣使用傳輸速率為64kbit/s的帶寬時, VoIP線路數是原來的5~8倍。同時,IP技術允許多個用戶共用同一帶寬資源,改變了傳統電話由單個用戶獨占一個信道的方式,節省了用戶使用單獨信道的費用。 VoIP的基本結構由網關(GW)和網守(GK)兩部分構成。網關的主要功能是信令處理、H.323協議處理、語音編解碼和路由協議處理等,對外分別提供與PSTN網連接的中繼接口以及與IP網絡連接的接口。網守的主要功能是用戶認證、地址解析、帶寬管理、路由管理、安全管理和區域管理。VoIP的核心與關鍵設備是VoIP網關。 基于嵌入式技術的VoIP功能實現框圖 1、VoIP實現原理框圖:(如圖1) 2、嵌入式系統中VoIP的工作過程: ① 在單個獨立的嵌入式系統內部進行語音通信時,該系統實現功能的過程如下:用戶話音脈沖通過SLIC和CODEC電路產生PCM流,載入語音處理器 AC4880XC-C中,通過片內DSP進行語音壓縮、成幀(包括地址等用戶信息及語音信息),AC4880XC-C再將數據包通過HPI口傳送到主系統,完成交換功能后,認定目的地是本系統的另一個用戶,將處理過的話音數據包傳給AC4880XC-C,AC4880XC-C進行解壓縮后,以PCM流返回到CODEC部分,根據目的地址信息驅動目的用戶。 ② 在嵌入式系統之間進行語音通信時,過程如下:AC4880XC-C將話音數據包通過HPI口傳給本系統后,本系統的交換功能認定目的地是另一個嵌入式系統的一個用戶,本系統將數據包重組后,通過I/O端口傳給目的系統,由目的系統自動完成解壓縮,驅動目的用戶的功能。 系統設計實現 硬件設計為以下六塊組成 1、SLIC(用戶線接口電路)部分 采用AMD公司生產的AM79R70PLCC芯片,通過該芯片產生輸入、輸出話音脈沖和鈴音脈沖。 2、CODEC(編解碼)部分 采用AMD公司生產的AM79Q021JC編解碼芯片,通過該芯片產生的PCM流送到語音處理芯片處理。 3、語音處理部分 作為本系統中的核心部分,語音處理采用以色列AudioCodes公司生產的專用多通道語音處理芯片AC4880XC-C。它具有以下特點: ⊙ 支持ITU的G.711、G.723.1、G.726、G.729A等分組語音處理標準; ⊙ 支持回波抵制和抵消、靜音檢測和舒適噪音等提高分組語音處理性能的配套模塊; ⊙ 高質量壞幀插補; ⊙ 支持2.4"14.4 kbps的T.38和FRF.11的功能傳真業務; ⊙ 支持各種信令,如DTMF等; ⊙ 提供語音、傳真、數據或信令等PCM高速接口; ⊙ 可選擇 或o 律; ⊙ 輸入輸出增益控制; ⊙ 提供同步HPI、PCM、時鐘、存儲器以及I/O和仿真測試接口(如圖2); ⊙ 144pin,TQFP封裝,1.8V內核電壓,3.3V芯片電壓。 4、CPLD部分 AC4880XC-C采用8位并行的主處理器接口HPI接口與主系統進行數據交換。鑒于嵌入式系統中接口邏輯繁雜,選用CPLD實現接口適配功能。主 CPU可通過CPLD控制實現CODEC 和SLIC部分的功能。 [table][/table] 5、HPI接口部分 本設計中,嵌入式系統CPU與AC4880XC-C通過HPI接口進行數據通信,CPU通過AC4880XC-C片內共享的雙口存儲器與其片內DSP實現數據交互。HPI接口包括1根8位數據總線和11根控制總線。主系統CPU通過三個寄存器(HPIC、HPIA和HPID)控制AC4880XC-C及訪問片內存儲空間。HPIC為控制寄存器,用來選擇AC4880XC-C的高低字節順序。HPIA為地址寄存器,用來尋址片內的2K存儲空間。HPID為數據寄存器,用來緩存每次讀寫的兩個字節數據,外部CPU以單個Word或塊數據訪問HPID。以塊數據方式訪問時,HPIA寄存器自動累加,可減少外部 CPU寫HPIA寄存器的開銷。AC4880XC-C的內部寄存器和存儲器為16位,外部CPU每次訪問AC4880XC-C必須以兩個字節為基本單位,信號線HI/LO用來選擇高低字節,信號HRS1、HRS0指示當前訪問的是哪個寄存器。 6、語音接口部分 語音接口提供未壓縮語音、傳真數據的I/O通道。語音接口對外提供四根信號線PCMIN、PCMOUT、PCMCLK、PCMFS構成PCM總線,直接連接外部CODEC芯片的PCM Highway。PCMIN輸入從CODEC送來的PCM信號,AC4880XC-C內部的DSP按照相應標準壓縮后從HPI口交給主系統CPU 處理。PCMOUT則相反,AC4880XC-C將主系統CPU送來的語音數據按照合適的標準解壓縮,然后從PCMOUT口送到外部 CODEC,CODEC經過數/模轉換后恢復成語音信號再通過用戶接口送給用戶端。PCMCLK提供2.048MHz的比特同步時鐘,而PCMFS提供 8kHz的幀同步時鐘。PCM主時鐘(BCLK)、幀同步時鐘(FS)、接收數據(DR)和發送數據(DX)一起構成PCM Highway信號,與AC4880XC-C進行連接。BCLK與FS分別對應AC4880XC-C的PCMCLK和PCMFS,這兩個時鐘信號都由 AC4880XC-C 產生;DR和DX分別對應AC4880XC-C的PCMOUT和PCMIN。PCM Highway信號時序以及時隙與幀同步信號的關系分別如圖3、圖4所示。為了CODEC與DSP芯片間正確收發數據,一般選擇CODEC芯片在BCLK 的上升沿發送數據DX,下降沿采樣數據DR,而在另一端的AC4880XC-C,則在時鐘下降沿采樣PCMIN,上升沿發送PCMOUT。 軟件設計部分 該系統軟件主要用于對AC4880XC-C進行控制,實現讀寫等操作。 1、編寫芯片AC4880XC-C的讀寫函數 主要是基于嵌入式ARM處理器,通過HPI接口實現對AC4880XC-C及相關芯片的讀寫操作。流程圖如圖5所示: 2、配置AC4880XC-C內部設置 首先通過處理器對CODEC和CPLD進行配置,并調用AudioCodes 公司提供的初始化內核程序對AC4880XC-C進行復位初始化。復位成功后,寫入內核程序,然后寫入工作程序,最后再將這些程序通過AC4880XC- C的HPI接口寫入到AC4880XC-C,芯片即開始工作。 結語 嵌入式系統作為一種功能強大的軟硬件操作開發平臺,很適合基于嵌入式ARM處理器的VoIP的開發。AC4880XC-C是一款功能強大語音處理芯片,本方案利用該芯片作為核心芯片,配以其他功能芯片實現了基于嵌入式技術的VoIP網關。該網關已應用于嵌入式綜合實驗平臺,效果十分理想,在IP電話和多媒體通信領域的應用前景非常廣泛。 |