呂先望+宋建明+魏萌
摘 要 為了解決基于SIP協(xié)議的VoIP中必須加載服務(wù)器和傳輸帶寬的問題,本文介紹了基于W5300和AMBE在VoIP話音中的應(yīng)用。通過分析基于W5300和ambe這2種芯片的工作原理,提出了將2種芯片通過FPGA芯片進(jìn)行結(jié)合的改進(jìn)方法,并對(duì)改進(jìn)方法的可行性進(jìn)行了闡述,采用硬件電路對(duì)技術(shù)方案進(jìn)行實(shí)現(xiàn)。結(jié)果表明基于W5300和AMBE在VoIP話音比基于SIP協(xié)議的VoIP有更好的性能。
關(guān)鍵詞 SIP;VoIP;W5300;IP話音
中圖分類號(hào) TN91 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2016)164-0075-02
隨著移動(dòng)通信、互聯(lián)網(wǎng)技術(shù)和網(wǎng)絡(luò)融合技術(shù)的發(fā)展,VoIP(Voice?over?IP)這種基于分組交換的話音通信的迅速崛起[1]。1995年首次提出VoIP,到現(xiàn)在為止,VoIP已經(jīng)在話音通信業(yè)務(wù)中占據(jù)了比較大的筆記。而隨著未來因特網(wǎng)技術(shù)(FIT)概念的提出與LTE技術(shù)的發(fā)展,在未來幾年的通信網(wǎng)絡(luò)中,VoIP將會(huì)占據(jù)更重要的位置[2]。
目前的VoIP的解決方案是由SIP服務(wù)器和終端共同組成。這種解決方案在無線通信系統(tǒng)甚至機(jī)動(dòng)的窄帶的無線通信系統(tǒng)中就會(huì)有2個(gè)問題:一是當(dāng)SIP服務(wù)器設(shè)備沒有開機(jī)或者服務(wù)器壞掉的情況下,系統(tǒng)就只能重新配置才能正常工作;二是這種解決方案的無論哪種編碼方式,其帶寬利用率很高,在窄帶的無線信道中的傳輸比較困難[3]。
為了解決以上2個(gè)問題,本文討論基于W5300和amb3000的VoIP解決方案,W5300使用組播和單播協(xié)議可以實(shí)現(xiàn)VoIP的傳輸[4],ambe3000可以實(shí)現(xiàn)話音的更高速率的編解碼功能。在本地可以存儲(chǔ)所有的電話號(hào)碼信息以保證每一個(gè)終端具有服務(wù)器的功能而不需要另外添加服務(wù)器,而ambe3000的高性能的壓縮特點(diǎn)可以實(shí)現(xiàn)超低速話音的傳輸[5]。
1 IP話音實(shí)現(xiàn)的硬件方案
本系統(tǒng)中的核心控制模塊采用Altera公司Cyclone? III系列EP3C80F672I8芯片作為數(shù)字處理芯片,可以使用系統(tǒng)時(shí)鐘為16.384MHz。該器件豐富的I/O管腳,可以實(shí)現(xiàn)并行運(yùn)算,并且芯片中內(nèi)嵌Nios?II軟核,可是實(shí)現(xiàn)CPU控制的操作。
網(wǎng)絡(luò)傳輸模塊選用Winzet公司的具有MAC、TCP和UDP協(xié)議棧的以太網(wǎng)協(xié)議手法W5300。該芯片最多可同時(shí)支持8個(gè)獨(dú)立端口同時(shí)進(jìn)行連接,有效的通信傳輸速率可達(dá)到90Mbps;與主機(jī)的CPU(Nios?II)接口使用16bit數(shù)據(jù)總線[6]。
PCM編解碼芯片使用Winbond公司的W681512芯片,該芯片支持模擬話音的差分輸入和差分輸出,支持u濾和A濾的PCM編碼[7]。
話音壓縮模塊使用數(shù)字語(yǔ)音系統(tǒng)公司(Digital? Voice?System?Inc,DVSI)的AMBE-3000芯片,AMBE-3000芯片采用多帶激勵(lì)語(yǔ)音壓縮算法,該芯片能在最低為2.0kbps的速率下提供清晰的話音[8]。
硬件結(jié)構(gòu)圖如圖1所示。
2 W5300的協(xié)議棧的實(shí)現(xiàn)
在硬件連接實(shí),W5300芯片采用數(shù)據(jù)總線采用16位數(shù)據(jù)的模式、并且采用間接尋址的尋址方式選擇模式和FPGA的Nios?II的地址總線進(jìn)行連接,使用間接尋址可以有效的降低W5300芯片對(duì)F[PGA中硬件資源的占用。總線的連接原理如圖2所示。
由于W5300芯片上電后不能自動(dòng)復(fù)位,所以當(dāng)系統(tǒng)上電之后,必須首先用FPGA產(chǎn)生20ms以上的低電平信號(hào)對(duì)W5300芯片進(jìn)行復(fù)位。復(fù)位之后,對(duì)系統(tǒng)等待50ms的時(shí)間以保證W5300的內(nèi)部鎖相環(huán)穩(wěn)定工作。
系統(tǒng)復(fù)位完成之后,使用CPU對(duì)W5300芯片進(jìn)行配置,配置的內(nèi)容包括MAC地址的配置、IP地址配置和內(nèi)部收發(fā)存儲(chǔ)器的分配。之后對(duì)網(wǎng)絡(luò)層的協(xié)議進(jìn)行配置,如開啟UDP協(xié)議、開啟組播協(xié)議、配置組播MAC地址,配置組播IP地址等寄存器進(jìn)行配置。
初始化結(jié)束后系統(tǒng)打開socket端0。組播IP地址應(yīng)該設(shè)置為224.0.0.1~239.255.255.254之間的一個(gè)IP地址作為組播地址,為了避免和其他組播地址的沖突,本系統(tǒng)選用IP地址:224.1.1.11作為本系統(tǒng)的組播地址,設(shè)備的協(xié)議連接完成后,使用CPU查詢W5300芯片的相關(guān)寄存器,看是否有來自系統(tǒng)內(nèi)其余終端發(fā)送的數(shù)據(jù)包。如果有數(shù)據(jù)包存在,則接收該數(shù)據(jù)包,并關(guān)閉中斷,開始處理接收到的數(shù)據(jù)包,將數(shù)據(jù)包處理完畢后,打開中斷,重新開始查詢相關(guān)的寄存器;如果沒有接收到數(shù)據(jù)包的存在,則檢測(cè)是否有本地話音數(shù)據(jù)需要發(fā)送,當(dāng)檢測(cè)到有本地的話音數(shù)據(jù)時(shí),使用W5300的基于UDP的組播協(xié)議將數(shù)據(jù)發(fā)送出去。如圖3所示。
3 系統(tǒng)性能測(cè)試
系統(tǒng)的性能測(cè)試是針對(duì)帶寬,傳輸抖動(dòng)和語(yǔ)音質(zhì)量3方面將設(shè)備和基于SIP協(xié)議的VoIP的標(biāo)準(zhǔn)設(shè)備進(jìn)行比對(duì)。
3.1 傳輸帶寬測(cè)試
測(cè)試在發(fā)包間隔為20ms、40ms、60ms、80ms和100ms這5種典型發(fā)包間隔的情況下,2種設(shè)備的傳輸帶寬,測(cè)試結(jié)果如表1所示。
3.2 傳輸抖動(dòng)測(cè)試
VoIP流量達(dá)到20、60、100、120、140、180路時(shí),選取新增流量中的一個(gè)VoIP呼叫觀察抖動(dòng)情況,采用VTSW3CM標(biāo)記算法和采用VTSW3CM標(biāo)記算法的區(qū)分服務(wù)網(wǎng)絡(luò)中,抖動(dòng)變化情況基本一致,均保持在用戶可以接受的范圍,小于14ms。
3.3 語(yǔ)音質(zhì)量測(cè)試
語(yǔ)音質(zhì)量的好壞是設(shè)備性能的最重要的指標(biāo)。我們將設(shè)備與幾款主流的基于SIP協(xié)議的標(biāo)準(zhǔn)設(shè)備進(jìn)行話音質(zhì)量盲測(cè)。測(cè)試結(jié)果標(biāo)明:設(shè)備與主流的基于SIP協(xié)議的VoIP的設(shè)備的G.729的編碼協(xié)議的話音質(zhì)量相當(dāng)。
4 結(jié)論
將基于W5300的IP話音和傳統(tǒng)的基于SIP協(xié)議的VoIP話音就傳輸帶寬,傳輸抖動(dòng)和話音質(zhì)量進(jìn)行對(duì)比,結(jié)果表明各方面都有所改善。
參考文獻(xiàn)
[1]邵子華.基于SIP和H.323的嵌入式VoIP系統(tǒng)的擴(kuò)展與優(yōu)化[D].北京:北京郵電大學(xué),2009,2.
[2]白佳俊,孟祥勇,張德平,等.基于W5300和FPGA的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).電子技術(shù)應(yīng)用,2013,39(4):19-23.
[3]左海洋.PCM編解碼芯片中低成本低功耗SARADC設(shè)計(jì)[D].杭州:杭州電子科技大學(xué),2011,3.
[4]楊文強(qiáng).基于AMBE_2000的OFDM水聲語(yǔ)音通信平臺(tái)研究[D].哈爾濱:哈爾濱工程大學(xué),2010,3.
[5]許漢文,李波,高田,等.基于DM3730和W5300的嵌入式視頻流傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)微型電腦應(yīng)用,2013,29(11):1-4.
[6]龔藝.基于區(qū)分服務(wù)的VoIP語(yǔ)音質(zhì)量的研究[D].重慶:重慶大學(xué),2009,4.
[7]劉鵬.基于FPGA的PCM并行控制器設(shè)計(jì)[D].濟(jì)南:山東大學(xué),2013,4.
[8]李思,周旺.基于AMBE3000的多路語(yǔ)音數(shù)據(jù)處理系統(tǒng).信息技術(shù),2010(10):152-154.