基于ARM和DSP的VoIP網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于ARM和DSP的VoIP網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于ARM和DSP的VoIP網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于ARM和DSP的VoIP網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于ARM和DSP的VoIP網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2008年第08期,第41卷 通 信 技 術(shù) Vol.41,No.08,2008 總第200期 Communications Technology No.200,Totally基于ARM和DSP的VoIP網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)洪 斌, 王利霞, 張紅嶺, 孫皓月, 杜春梅(河北建筑工程學(xué)院,河北 張家口 075024)【摘 要】文章介紹了基于ARM和DSP的VoIP網(wǎng)關(guān)的軟硬件設(shè)計(jì)。其中硬件主要由基于ARM內(nèi)核的微處理器S3C44B0子系統(tǒng)和基于LSI403LP芯片的DSP子系統(tǒng)以及電話接口模塊構(gòu)成。軟件設(shè)計(jì)主要負(fù)責(zé)控制SIP核心協(xié)議棧oSIP、RTP/RTCP核心協(xié)議棧ccRTP的正常運(yùn)轉(zhuǎn),控制外

2、圍DSP芯片工作。測試證明,文章所設(shè)計(jì)的VoIP網(wǎng)關(guān)能夠?qū)崿F(xiàn)網(wǎng)關(guān)的主要功能,具有成本低廉、應(yīng)用靈活、可擴(kuò)展性好的特點(diǎn)?!娟P(guān)鍵詞】ARM;DSP;VoIP;網(wǎng)關(guān)【中圖分類號】TP368 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1002-0802(2008)08-0173-03A Design and Implementation of VoIP gateway based on ARM and DSPHONG Bin, WANG Li-xia, ZHANG Hong-ling, SUN Hao-yue, DU Chun-mei(HeBei Institute of Architecture Civil E

3、ngineering, Zhangjiakou Hebei 075024, China)【Abstract】This paper describes the hardware and software design of VoIP Gateway based on ARM and DSP. Its main hardware is microprocessor S3C44B0 subsystem based on ARM core, DSP subsystem based on LSI403LP and telephone interface module. The software desi

4、gn is used to control the normal operations of SIP core protocol stack oSIP, RTP / RTCP core protocol stack ccRTP and the external DSP chip. The test proves that the VoIP gateway described in this paper can achieve the main gateway functions. The VoIP gateway has the advantages of low cost, flexible

5、 application and good scalability.【Key words】ARM;DSP;VoIP;Gateway0 引言隨著Internet和IP技術(shù)的快速發(fā)展,基于IP網(wǎng)絡(luò)的語音通信技術(shù)也取得了長足的進(jìn)步,它為人們的遠(yuǎn)距離交流提供了一種廉價(jià)的途徑。但是,基于電路交換的PSTN還有廣泛的應(yīng)用,并將在很長一段時(shí)間內(nèi)和基于IP的網(wǎng)絡(luò)共存。因此研究能夠有效地連接這兩個(gè)網(wǎng)絡(luò)的網(wǎng)關(guān)就很有現(xiàn)實(shí)意義。使IP數(shù)據(jù)包經(jīng)因特網(wǎng)到達(dá)目的地。網(wǎng)關(guān)能夠有效的溝通兩種采用不同協(xié)議的網(wǎng)絡(luò),為兩種網(wǎng)絡(luò)業(yè)務(wù)的互通建立了一條有效的途徑。2 VoIP網(wǎng)關(guān)硬件設(shè)計(jì)2.1 總體構(gòu)成如圖1所示,網(wǎng)關(guān)主要由內(nèi)含ARM7T

6、DMI RISC處理器S3C44B0子系統(tǒng)和基于LSI403LP DSP的子系統(tǒng)以及電話接口模塊構(gòu)成。2.2 微處理器子系統(tǒng)微處理器子系統(tǒng)主要負(fù)責(zé)協(xié)議棧的正常運(yùn)行,控制IP側(cè)和PSTN側(cè)之間信令的正確轉(zhuǎn)換。它是整個(gè)網(wǎng)關(guān)的主要控制部分。本設(shè)計(jì)中的微處理器將使用三星公司的S3C44BOx芯片。1 VoIP網(wǎng)關(guān)工作原理1VoIP-PSTN網(wǎng)關(guān)具有信令轉(zhuǎn)換的功能,它能把所呼叫的電話號碼映射為相應(yīng)的IP地址。并將這些映射信息存放在數(shù)據(jù)庫中,由相關(guān)的軟件完成呼叫處理、數(shù)字語音打包、呼叫的認(rèn)證計(jì)費(fèi)等管理功能。在用戶撥打電話時(shí),網(wǎng)關(guān)根據(jù)電話區(qū)號數(shù)據(jù)庫資料,確定相應(yīng)的IP地址,并將此IP地址加入本次呼叫的數(shù)據(jù)包

7、中,同時(shí)選擇路由,以減少傳輸時(shí)延,最終收稿日期:2008-04-07。作者簡介:洪 斌(1979-),男,助教,主要從事網(wǎng)絡(luò)工程和管理信息系統(tǒng)的研究;王利霞(1976-),女,講師,主要從事網(wǎng)絡(luò)安全和多媒體技術(shù)的研究;張紅嶺(1979-),女,助教,主要從事高壓電子互感器研究;孫皓月(1980-),男,助教,主要從事管理信息系統(tǒng)研究;杜春梅(1979-),女,助教,主要從事網(wǎng)絡(luò)安全研究。173在本網(wǎng)關(guān)的設(shè)計(jì)中考慮到操作系統(tǒng)的大小以及SIP協(xié)議棧的大小和以后擴(kuò)展的需要,選擇使用4MB Flash。又考慮到實(shí)際的程序是在SDRAM中運(yùn)行,而且uClinux要在SDRAM中解壓之后才運(yùn)行,有必要采用

8、16MB的SDRAM。由于系統(tǒng)加電之后是從0000: 0000開始運(yùn)行,因此在設(shè)計(jì)Flash和44BOx的連接時(shí)要注意片選信號的接法。它相當(dāng)于用戶音頻信號處理接口電路(SLAC)、DTMF電路。3 VoIP網(wǎng)關(guān)軟件設(shè)計(jì)3.1 總體構(gòu)成網(wǎng)關(guān)軟件的整體結(jié)構(gòu)如圖2所示。在網(wǎng)關(guān)的上層應(yīng)用中包括了最主要的控制部分的程序,主要負(fù)責(zé)控制SIP核心協(xié)議棧oSIP, RTP/RTCP核心協(xié)議棧ccRTP的正常運(yùn)轉(zhuǎn),控制外4圍DSP芯片工作。完成IP網(wǎng)側(cè)和PSTN網(wǎng)側(cè)協(xié)議的相互轉(zhuǎn)換。而其他部分的軟件由于各自的功能比較集中因此單獨(dú)實(shí)現(xiàn)。而這一切軟件運(yùn)行的基礎(chǔ)就是操作系統(tǒng)。圖1 網(wǎng)關(guān)硬件模塊示意2.3 DSP子系統(tǒng)D

9、SP子系統(tǒng)主要負(fù)責(zé)完成語音的編解碼工作,由于語音業(yè)務(wù)的實(shí)時(shí)性較強(qiáng),要求DSP子系統(tǒng)要有較高的處理能力。因此選用由美國LSI公司生產(chǎn)的LSI403LP芯片,它是基于ZSP400內(nèi)核的16位定點(diǎn)DSP芯片,提供片上內(nèi)存包括16k字的數(shù)據(jù)內(nèi)存,16k字的指令內(nèi)存,以及另外16k字的可配置內(nèi)存。在DSP子系統(tǒng)中還有很重要的一部分就是DSP和數(shù)模轉(zhuǎn)換芯片的接口,本設(shè)計(jì)中使用的數(shù)模轉(zhuǎn)換芯片是AKM公司生產(chǎn)的AK4586芯片,它具有2路24比特的輸入通道和6路24比特的輸出通道,最大抽樣速率為96kHz。由于此芯片是在音頻子板上,因此需要通過接口才能和LSI403LP芯片進(jìn)行通信。本設(shè)計(jì)中選用LSI403L

10、P芯片的兩個(gè)高速串口(TDM)即對應(yīng)EB403開發(fā)板上的SPORT0, SPORT1接口通過音頻子板上的HEADER 10X2接口和AK4586進(jìn)行通信。LSI403LP的兩個(gè)獨(dú)立的高速串行接口,支持8bit和l6bit的數(shù)據(jù)傳輸。串行接口可以自行產(chǎn)生比特時(shí)鐘和幀同步信號,支持突發(fā)、連續(xù)、TDM模式三種數(shù)據(jù)傳送方式。本設(shè)計(jì)中選擇使用TDM模式進(jìn)行數(shù)據(jù)傳送。TDM模式兼容E1/T1的幀格式,以及H.100/H.110格式的本地串行總線設(shè)備??梢酝ㄟ^對控制寄存器相應(yīng)的比特位進(jìn)行置位,達(dá)到控制字長度、傳送方式約定,屏蔽相應(yīng)的時(shí)隙等目的。 2.4 電話接口模塊由于在現(xiàn)行的標(biāo)準(zhǔn)中,SIP協(xié)議到ISUP之

11、間的映射是比較成熟的,因此考慮將普通電話的信號轉(zhuǎn)換成ISUP信號。普通電話撥打和接收網(wǎng)絡(luò)話音,必須通過POTS接口才能進(jìn)行。POTS接口是能夠連接普通電話與ISDN的接口設(shè)備,它能使兩部電話同時(shí)上網(wǎng)并與其它電話通信。POTS接口電路應(yīng)該具有饋電、過壓保護(hù)、振鈴、監(jiān)視、編解碼、信號音產(chǎn)生器等功能。其中,信號音產(chǎn)生器產(chǎn)生各種信號音,可通過硬件或軟件方法來實(shí)現(xiàn)。若用軟件實(shí)現(xiàn),則將這些信號音進(jìn)行抽樣、量化、編碼成PCM數(shù)字信號后存在一個(gè)只讀存儲器中,然后再周期重復(fù)地讀出這些值就可以得到數(shù)字信號音。接口電路主要為用戶接口電路(SLIC)、編解碼和濾波器(CODEC),17432圖2 網(wǎng)關(guān)軟件模塊示意3.

12、2 SIP協(xié)議核心模塊現(xiàn)在的互聯(lián)網(wǎng)上有很多開放源代碼的SIP協(xié)議棧,如GNU的oSIP、columbia大學(xué)開發(fā)的協(xié)議棧、Vovida的SIP協(xié)議棧5等。由于要開發(fā)的是小型的網(wǎng)關(guān),所以選擇了結(jié)構(gòu)簡單靈活的oSIP。oSIP的應(yīng)用如圖3所示。圖3 oSIP協(xié)議棧的應(yīng)用其中:1:初始化oSIP和注冊CALL BACK函數(shù);2:添加事件;3:執(zhí)行事務(wù);4: 取消事件;5:解析消息;6:觸發(fā)CALL BACK函數(shù);7:接收/發(fā)送消息;A: 保存狀態(tài); B:接收/發(fā)送語音包;在使用oSIP前必須先初始化oSIP,主要調(diào)用函數(shù)osip_global_init()和osip_init(),具體操作代碼如下:

13、osip_t *osip;/ initialize internal element first if (0!= osip_global_init() return -1;/ allocate a global osip element. if (0!= osip_init(&osip) return -1;在初始化oSIP之后還要注冊CALL BACK函數(shù),需要注冊的CALL BACK函數(shù)主要包含發(fā)送消息、結(jié)束事務(wù)、發(fā)送失敗、4個(gè)狀態(tài)機(jī)(ICT, NICT, IST, NIST)相關(guān)函數(shù)。在注冊完CALL BACK函數(shù)后,應(yīng)用程序可以建立Transaction來調(diào)用oSIP的解析器和

14、狀態(tài)機(jī)模塊的操作,來實(shí)現(xiàn)不同應(yīng)用程序的需求。OSIP_manager還包含了所有用于SIP消息偵聽的網(wǎng)絡(luò)套接字(socket),用于接受SIP消息的緩存池,以及用于偵聽的后臺線程。OSIP_manager被設(shè)計(jì)成擁有一個(gè)偵聽套接字隊(duì)列。另外,OSIP_manager也包含了UA發(fā)送套接字和發(fā)送端口。OSIP_manager與OSIP_ua一起使用,管理UA的運(yùn)行。OSIP_dialog包含了OSIP的對話對象dialog_t,負(fù)責(zé)UA的對話管理。另外它還包含了一系列事務(wù)對象指針,在程序運(yùn)行時(shí)將指向當(dāng)前對話中正在處理的事務(wù)。struct_OsipDialog /*對話對象*/ dialog_t

15、*dialog; /*一系列事務(wù)指針*/transaction t *inc_invite_tr; transaction -t *out_invite_tr; transaction -t *inc_bye_tr; transaction t *out_bye_tr; transaction t *inc_cancel_tr; transaction -t *out_cancel_tr; transaction -t *out_register_tr;在UA初始化的時(shí)候,通過調(diào)用OSIP_manager_new()函數(shù),創(chuàng)建OSIP_manager對象,也同時(shí)創(chuàng)建了OSIP_t對象。隨后,將

16、UA外圍定義好的一系列狀態(tài)機(jī)相關(guān)處理函數(shù)逐一賦值給OSIP_t的回調(diào)函數(shù);同時(shí),生成OSIP_t的四個(gè)狀態(tài)機(jī)事務(wù)對象。這個(gè)賦值行為溝通了UA外圍結(jié)構(gòu)和OSIP核心協(xié)議棧,回調(diào)函數(shù)和UA可見的狀態(tài)機(jī)對象可以看作是它們兩者之間的操作紐帶。在UA運(yùn)行的時(shí)候,將收到的SIP消息或者系統(tǒng)消息解析后轉(zhuǎn)換成事件(event)通知給狀態(tài)機(jī),讓它處理;狀態(tài)機(jī)處理的過程中會調(diào)用到用戶定義的回調(diào)函數(shù),并在有些時(shí)候需要用戶的操作介入;收到用戶指令或執(zhí)行完回調(diào)函數(shù)后狀態(tài)機(jī)會發(fā)生狀態(tài)跳轉(zhuǎn)。因此,事件是UA外圍結(jié)構(gòu)和OSIP核心協(xié)議棧之間的通信方式。綜合以上所述,UA外圍與OSIP之間依靠回調(diào)函數(shù)和狀態(tài)機(jī)對象連接,依靠事件

17、進(jìn)行通信。除了通過以上方式管理和OSIP內(nèi)核之間的連接,UA外圍定義了完備的協(xié)議棧外部模塊功能。包括:對話管理外部模塊、SDP處理外部模塊、注冊功能、傳輸層處理(UDP處理)。 3.3 RTP、RTCP協(xié)議模塊RTP以及RTCP協(xié)議是比較成熟的協(xié)議,現(xiàn)在仍在不斷的完善之中。目前采用的RTP協(xié)議棧是ccRTP,它是基于RFC3550, RFC3551, RFC3555的。ccRTP是使用C+語言實(shí)現(xiàn)的,是支持RTCP的靈活的和可擴(kuò)展的RTP協(xié)議棧。在使用ccRTP的時(shí)候,所有RTP進(jìn)程傳輸?shù)臄?shù)據(jù)都是通過由RTP協(xié)議棧控制的接收和傳送隊(duì)列來實(shí)現(xiàn)的。在通常的情況下由RTP進(jìn)程的一個(gè)獨(dú)立的線程對隊(duì)列進(jìn)

18、行操作。這種情況就是通常使用ccRTP時(shí)所采用的線程模式。ccRTP也支持其他的線程模式,特別地,ccRTP支持用單一的執(zhí)行線程為多個(gè)RTP進(jìn)程服務(wù)的模式。同樣的也可以不把任何單獨(dú)的線程和任何RTP進(jìn)程進(jìn)行關(guān)聯(lián),只通過調(diào)用其他線程的數(shù)據(jù)及控制方法即可。4 測試與分析系統(tǒng)的運(yùn)行環(huán)境為10base-T以太網(wǎng)。VoIP網(wǎng)關(guān)的實(shí)驗(yàn)系統(tǒng)由基于S3C44B0的開發(fā)板和基于LSI403LP的DSP開發(fā)板構(gòu)成??刂颇K的內(nèi)容通過JTAG口進(jìn)行系統(tǒng)在線調(diào)試,這樣可以很靈活的改變調(diào)試內(nèi)容和調(diào)試方法。為了能夠驗(yàn)證網(wǎng)關(guān)的RTP/RTCP部分的性能,我們進(jìn)行了在不同連接條件下的數(shù)據(jù)測試。其結(jié)果如下表1和表2所示。表1

19、主叫方-網(wǎng)關(guān)的數(shù)據(jù)統(tǒng)計(jì)連接方式同網(wǎng)段同HUB同網(wǎng)段不同HUB 不同網(wǎng)段呼叫間發(fā)包數(shù)隔(ms)(個(gè))10 10 307042701521414評價(jià)指標(biāo)丟包數(shù)亂序數(shù)環(huán)路時(shí)丟包率平均時(shí)(個(gè)) (個(gè)) 延(ms)(%)延(ms)3000 0 0 92103360 3500 0 0 99108400 35212 0 0.05695104423表2 被叫方-Linphone的數(shù)據(jù)統(tǒng)計(jì)評價(jià)指標(biāo)連接方式呼叫間發(fā)包數(shù)丟包數(shù)亂序數(shù)環(huán)路時(shí)丟包率平均時(shí)隔(ms)(個(gè))(個(gè)) (個(gè)) 延(ms)(%)延(ms)10 10 3071369452570 0 20 0 02850 90100372 3510 95110405

20、 2250.03892106389同網(wǎng)段同HUB同網(wǎng)段不同HUB 不同網(wǎng)段從上面的測試結(jié)果可知采用RTP/RTCP對流媒體打包時(shí)的丟包率很小,適合網(wǎng)關(guān)設(shè)計(jì)的需求。經(jīng)多次實(shí)驗(yàn),通話效果良好。本次測試驗(yàn)證了VoIP網(wǎng)關(guān)對于網(wǎng)絡(luò)數(shù)據(jù)的接收和發(fā)送、模擬的語音信號通過SIP協(xié)議建立的局域網(wǎng)會話等功能。同時(shí)也驗(yàn)證了RIP等應(yīng)用層協(xié)議封裝的實(shí)時(shí)語音數(shù)據(jù)在終端的封裝及拆包功能。測試證明,本文所設(shè)計(jì)的VoIP網(wǎng)關(guān)能夠?qū)崿F(xiàn)網(wǎng)關(guān)的主要功能。5 結(jié)語文章提出了一種基于ARM和DSP的小型VoIP網(wǎng)關(guān)設(shè)計(jì)方(下轉(zhuǎn)第178頁)175平均散布1200個(gè)節(jié)點(diǎn)。假定當(dāng)前radio有5個(gè)可用的頻段,數(shù)據(jù)源位于網(wǎng)絡(luò)的左下角區(qū)域。I

21、AFA利用多頻數(shù)據(jù)傳輸減少信道競爭和干擾,為考察其具體性能,文章定義了一種新的度量路徑影響因子:定義1 路徑影響因子:對路徑節(jié)點(diǎn)存在潛在干擾的其它路徑節(jié)點(diǎn)的個(gè)數(shù)之和,用表示。如果某條路徑等于0,則該路徑不會與其它路徑互相干擾。值越大,路徑受干擾和干擾其它路徑的程度越嚴(yán)重。我們使用多路徑的平均路徑影響因子來考察IAFA的性能。如果兩個(gè)節(jié)點(diǎn)(分別位于不同的路徑)之間的距離在節(jié)點(diǎn)的通信范圍之內(nèi),或者一個(gè)節(jié)點(diǎn)與另一個(gè)節(jié)點(diǎn)的下一跳節(jié)點(diǎn)在的k個(gè)部分,從而使競爭至少降低為原來的1/k。這樣,工作在相同頻段的路徑之間不存在干擾,而工作在相同頻段的路徑的相對距離盡可能拉長,將干擾降低到最小。模擬實(shí)驗(yàn)表明,IAF

22、A顯著地降低了路徑的干擾,高效地發(fā)揮了路徑的作用。參考文獻(xiàn)1 Akyildiz F. Wireless Sensor Networks: a survey, Computer Networks, 2002,38:393-422.2 崔莉,鞠海玲,苗勇,等. 無線傳感器網(wǎng)絡(luò)研究進(jìn)展J.計(jì)算機(jī)研究與發(fā)展,2005,42(1):163-174.3 李建中, 李金寶, 石勝飛. 傳感器網(wǎng)絡(luò)及其數(shù)據(jù)管理的概念,問題與進(jìn)展J.軟件學(xué)報(bào), 2003, 14(10): 1717-1727.4 Kui W, Janelle H. On-Demand Multipath Routing for Mobile Ad

23、 Hoc Networks,presented at EPMCC, 2001.5 Panagiotis P, Zygmunt H, Emin S. Path Set Selection in Mobile Ad Hoc Networks, presented at ACM MOBIHOC, 2002.6 Marc R P, Zygmunt J H. On the Impact of Alternate Path Routing for Load Balancing in Mobile Ad Hoc Networks, presented at ACMMOBIHOC, 2000.7 Thiemo V, Adam D, Torsten B. On-demand Construction of Non-interfering Multiple Paths in Wireless Sensor Networks, presented at Informatik, 2005.8 Hill J, Szewczyk R, Woo A, et al. System Architecture Directions for Networked Sensors, p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論