999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ADM5120的無線VoIP系統(tǒng)設(shè)計

2010-04-12 00:00:00
現(xiàn)代電子技術(shù) 2010年3期

摘 要:用Infineon公司的MIPS架構(gòu)處理器ADM5120設(shè)計并實現(xiàn)了一個無線VoIP系統(tǒng)。從硬件和軟件兩個方面進行系統(tǒng)設(shè)計:首先對系統(tǒng)硬件三大主要模塊即:ADM5120主處理器、VINETIC語音模塊、存儲模塊分別進行了研討;接著描述了如何在無線局域網(wǎng)內(nèi)實現(xiàn)UDP方式點對點通訊和廣播通訊。無線VoIP系統(tǒng)實現(xiàn)后經(jīng)現(xiàn)場測試證明其性能可靠,價格低廉,具有廣闊的應(yīng)用前景。

關(guān)鍵詞:ADM5120;VoIP;UDP;點對點;廣播

中圖分類號:TP3021 文獻標識碼:A

文章編號:1004-373X(2010)03-078-05

Design of Wireless VoIP System Based on ADM5120

TAN Xia,WANG Ling

(College of Physics and Information Science,Hunan Normal University,Changsha,410081,China)

Abstract:A description of the design and implementation of a wireless VoIP system based on the ADM5120,which is MIPS processor of Infineon firm are proposed.The system is designed from both hardware and software views:Firstly,it discusses three main modules of the hardware system:ADM5120 host processor,VINETIC voice module and memory module.Secondly,it describes how to implement the UDP point to point communication and broadcasting communication in the wireless local network.After the field tests,the wireless VoIP system is proved to be reliable and inexpensive,and it has a good prospect of application.

Keywords:ADM5120;VoIP;UDP;point to point;broadcasting

0 引 言

VoIP[1](Voice over IP)由于其在IP網(wǎng)絡(luò)中實現(xiàn)語音通信,促進了網(wǎng)絡(luò)資源的利用,降低了語音業(yè)務(wù)成本,在全球范圍內(nèi)得到了迅速的發(fā)展。802.11無線局域網(wǎng)(WLAN)將用戶從有線的網(wǎng)絡(luò)連接中解放出來。在企業(yè)中部署WLAN網(wǎng)絡(luò)之后建立VoIP的應(yīng)用,并不需要對現(xiàn)有的網(wǎng)絡(luò)進行改造就能滿足在企業(yè)內(nèi)部進行語音通信的需求,并且滿足下一代移動通信應(yīng)用在單一網(wǎng)絡(luò)內(nèi)進行數(shù)據(jù)、語音、多媒體的傳輸?shù)陌l(fā)展方向。本文將VoIP和WLAN(Wireless LAN)結(jié)合到一起[2],在MIPS(Microprocessor without Interlocked Pipeline Stages)架構(gòu)的處理器ADM5120上實現(xiàn)了在無線局域網(wǎng)內(nèi)進行IP通話的功能。系統(tǒng)以終端的形式進行通信,可移動性強。

1 系統(tǒng)硬件的設(shè)計

1.1 硬件的整體架構(gòu)

系統(tǒng)硬件的整體架構(gòu)設(shè)計如圖1所示。系統(tǒng)硬件主要由五部分組成:ADM5120主處理器部分、通話控制部分、無線子卡部分、存儲部分和外設(shè)連接部分。通話控制部分采用Infineon公司語音芯片VINETIC-2CPE,Version 2.1(PEB3322)為子處理器,外接A/D,D/A轉(zhuǎn)換功能的用戶接口電路SLIC-DC PEB4268,與存儲部分一起構(gòu)成語音實時處理骨架;無線子卡部分采用Atheros公司的WMIA-165G 802.11g Mini PCI模塊,并用Madwifi驅(qū)動無線子卡;存儲部分使用2塊SDRAM存儲器和1塊NOR FLASH存儲器;外設(shè)連接部分包括一個WAN口和四個LAN口、Mini-PCI接口、輸出模擬電話信號的RJ-11接口,以及用于調(diào)試的RS 232串口。

1.2 ADM5120主處理器

德國Infineon公司的ADM5120[3]是一款基于哈佛體系結(jié)構(gòu)的SoC(片上系統(tǒng))的嵌入式處理器,具有5級流水線,并使用了32位MIPS指令集。同時ADM5120還是一款典型的寄存器型微處理器,其配置了32個通用寄存器和一對存儲64位數(shù)據(jù)的寄存器Hi和Lo以及異常PC寄存器,其中Hi和Lo寄存器用于存放定點乘法的結(jié)果。ADM5120中還內(nèi)置了32/16位MIPS32 4KEC處理器,其采用TLB(Translation Lookaside Buffer)實現(xiàn)了內(nèi)存管理和流水線中的異常處理功能,并使用馮#8226;諾依曼結(jié)構(gòu)在內(nèi)存和寄存器之間傳輸數(shù)據(jù),提高了數(shù)據(jù)的傳輸效率,加快了程序的執(zhí)行速度。另外,ADM5120還集成了多種外圍部件,主要有:PCI(Peripheral Component Interconnect)總線接口,5個100 Mb/s的以太網(wǎng)接口,并且還配置了ADM5120內(nèi)置的PHY芯片,內(nèi)嵌了16 MB/85 MHz SDRAM存儲器,給系統(tǒng)設(shè)計提供了很大的方便。

圖1 無線VoIP系統(tǒng)硬件架構(gòu)設(shè)計

在本系統(tǒng)中,微控制器接口(非緩沖接口)與VINETIC,F(xiàn)ALSH-RAM,SDRAM并行連接,并分別使用8 B,16 B,32 B的總線寬度。ADM5120通過微控制器接口控制與之相連的VINETIC并將語音數(shù)據(jù)從WLAN接口傳給VINETIC,反之亦然。ADM5120的通用輸入/輸出端口GPIOs控制VINETIC的復(fù)位信號并為VINETIC生成片選信號,同時GPIOs還作為VINETIC準備功能和中斷信號的輸入。而連接到ADM5120的LED指示燈顯示W(wǎng)AN口和LAN口連接狀態(tài)以及模擬輸出接口的模擬線路狀態(tài)。

1.3 VINETIC語音模塊

VINETIC[4] (Voice and Internet Enhance Telephony Interface Circuit)是Infineon公司的一款語音處理模塊,它將編解碼器和語音處理功能集成在一起,能達到與傳統(tǒng)語音服務(wù)相同的語音質(zhì)量。VINETIC 處理模擬電話信號,語音壓縮包,并提供實時壓縮包的緩沖,具有自適應(yīng)回聲抵消,靜音檢測,DTMF信號產(chǎn)生、譯碼等功能。

VINETIC芯片的主接口電路如圖2所示。其中4和5為片選輸入端;AD0~AD7:雙向的輸入/輸出信號,相應(yīng)的引腳有3種運行狀態(tài):低電平、高電平或高阻抗,當(dāng)CSQ為高電平時,DOUT呈高阻狀態(tài),此時需要外接10 kΩ的上拉電阻;28和29輸出數(shù)字電平,漏極開路,相應(yīng)的引腳有2種運行狀態(tài):低電平有效或三態(tài),并允許多個設(shè)備共享為線或。芯片供電電路部分:66外接鎖相環(huán)路,此鎖相環(huán)重要地影響到芯片的總性能,因此應(yīng)特別注意對鎖相環(huán)供電的濾波器;64將鎖相環(huán)接地。

1.4 存儲模塊

系統(tǒng)存儲模塊包括1塊NOR FLASH芯片MX29LV320和2塊SDRAM芯片W986432DH。MX29LV320的引腳分布如圖3所示。

其中A0~A20:地址輸入;DQ0~DQ14:數(shù)據(jù)輸入/輸出;DQ15/A-1:DQ15(按字模式進行數(shù)據(jù)的輸入/輸出),A-1(按字節(jié)模式進行最低有效位地址輸入);CE:切片啟動輸入;WE:寫啟動輸入;OE:輸出啟動輸入;RESET:硬件重啟引腳,低電平有效;RY/BY:讀/忙輸出,連接到主處理器ADM5120的RDY引腳以提高速度。

W986432DH的引腳分布如圖4所示。其中A0~A10:地址引腳;BS0和BS1:存儲體選擇;DQ0~DQ31:數(shù)據(jù)輸入/輸出的復(fù)用引腳;RAS:行地址選通;CAS:列地址選通;WE:允許寫入,命令輸入,當(dāng)在RAS時鐘上升沿取樣時,CAS和WE確定操作將被執(zhí)行;DQM0~DQM3:輸入/輸出掩碼,當(dāng)DQM在讀周期高電平采樣時輸出緩沖區(qū)置于高阻抗(2個時延),而在寫周期采樣將零時延地阻止寫操作;CLK:在時鐘上升沿抽樣輸入;CKE:時鐘啟動,當(dāng)CKE為低時,進入掉電模式、暫停模式或自我充電模式。

圖2 主接口電路

圖3 NOR FLASH芯片(MX29LV320)

圖4 SDRAM芯片(W986432DH)

2 系統(tǒng)軟件的設(shè)計與實現(xiàn)

系統(tǒng)軟件設(shè)計的整體架構(gòu)如圖5所示,其在無線局域網(wǎng)內(nèi)實現(xiàn)了基于ADM5120的UDP方式點對點通訊和廣播通訊。UDP[5](User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用例如網(wǎng)絡(luò)視頻會議系統(tǒng)等都需要使用UDP協(xié)議。UDP協(xié)議直接位于IP(網(wǎng)際協(xié)議)協(xié)議的頂層,屬于網(wǎng)絡(luò)協(xié)議中的傳輸層協(xié)議。由于UDP協(xié)議不需建立連接,具有效率高、速度快和占用資源少等優(yōu)點,應(yīng)用于消息通信和實時系統(tǒng)中可以提高系統(tǒng)傳輸數(shù)據(jù)的效率。UDP具有組播和廣播功能,是分發(fā)信息的一個理想?yún)f(xié)議。本系統(tǒng)還移植了一種基于ADM5120的嵌入式Web服務(wù)器boa,實現(xiàn)了對VoIP系統(tǒng)進行基于B/S方式的Web配置。

圖5 無線VoIP系統(tǒng)軟件架構(gòu)設(shè)計

2.1 點對點通訊的實現(xiàn)[6]

在本系統(tǒng)中,在一個網(wǎng)段內(nèi)的任意兩個應(yīng)用程序之間可以進行全雙工通信,每個應(yīng)用程序既可做為服務(wù)器又可做為客戶端。其UDP編程步驟如圖6所示,以下是兩個應(yīng)用程序A和B之間進行點對點通訊的具體實現(xiàn)過程:

(1) 雙方分別建立socket,調(diào)用socket函數(shù):

s=socket(PF_INET,SOCK_DGRAM,0)

SOCK_DGRAM表示套接字類型為數(shù)據(jù)報套接字,即采用UDP協(xié)議進行通信。

(2) 綁定已設(shè)置好的自己的地址和端口信息,調(diào)用bind函數(shù):

bind(s,(struct sockaddr *) my_addr,sizeof(struct sockaddr))

(3) 將select函數(shù)置于阻塞狀態(tài),直到監(jiān)視文件描述符集合rfds中某個文件描述符發(fā)生變化為止:

select(pCtrl->rwd + 1,rfds,IFX_NULL,IFX_NULL,NULL)

(4) 數(shù)據(jù)傳輸:sendto()和recvfrom()用于在無連接的數(shù)據(jù)報socket方式下進行數(shù)據(jù)傳輸。由于本地socket并沒有與遠端機器建立連接,所以在發(fā)送數(shù)據(jù)時應(yīng)指明目的地址。如圖6所示,A作為發(fā)送方,通過其套接字用函數(shù)sendto()將其服務(wù)請求數(shù)據(jù)發(fā)送到接收方B的指定端口,B通過其套接字用函數(shù)recvfrom()接收數(shù)據(jù),處理好服務(wù)請求后又將服務(wù)應(yīng)答發(fā)回A,此時A便成了接收方,A接收應(yīng)答后還可繼續(xù)發(fā)送數(shù)據(jù)給B。

圖6 UDP編程步驟

2.2 廣播通訊的實現(xiàn)[7]

廣播和多播都用于實現(xiàn)向多個接收者發(fā)送UDP數(shù)據(jù)報,但是廣播不像多播那樣在接收端有復(fù)雜的控制過程,因而實現(xiàn)比多播簡單的多。以下廣播通訊的實現(xiàn)均在點對點通訊的基礎(chǔ)上實現(xiàn)的。

在發(fā)送方,只需要設(shè)置套接字socket的選項為允許發(fā)送廣播,然后在發(fā)送時指定目的IP為廣播地址即可。具體地,允許socket廣播通過setsockopt函數(shù)設(shè)置廣播選項來實現(xiàn),當(dāng)setsockopt參數(shù)optname為SO_BROADCAST時,表示打開或禁止從該socket廣播,當(dāng)參數(shù)optval為1時允許廣播,為0時禁止廣播。

系統(tǒng)編程實現(xiàn)廣播的部分源碼為:

int bBroadcast=1;

setsockopt(pCtrl->nAdminSocket,SOL_SOCKET,SO_BROADCAST,bBroadcast,sizeof(bBroadcast));

setsockopt(pConn->nUsedSocket,SOL_SOCKET,SO_BROADCAST,bBroadcast,sizeof(bBroadcast));

to_addr.sin_addr.s_addr= inet_addr(WIRLESS_ IP_BROADCAST);

/* WIRLESS_IP_BROADCAST為廣播地址,其值是將網(wǎng)絡(luò)接口(本系統(tǒng)為ath0)IP地址的主機ID部分設(shè)置為全1,網(wǎng)絡(luò)ID部分不變而得到*/

to_addr.sin_family =AF_INET;

據(jù)文獻[7]所講,在接收方,一般不需做任何改動即可收到廣播。但在本系統(tǒng)實現(xiàn)的實驗過程中,當(dāng)將socket綁定到非INADDR_ANY的IP地址時,接收方無法收到廣播,并且沒有任何錯誤指示,即需要綁定本地端口地址到通配地址INADDR_ANY才可接收廣播:

my_addr.sin_addr.s_addr = htonl(INADDR_ANY);

另外,本系統(tǒng)還實現(xiàn)了廣播強插功能,即不管用戶當(dāng)前處于摘機、撥號狀態(tài),還是處于通話狀態(tài),當(dāng)有廣播來電時,都斷開原來的連接而與廣播主叫建立新的連接(用戶不用掛機)。為了防止通話混亂,本系統(tǒng)設(shè)定同一時刻只有擁有廣播控制權(quán)的用戶有發(fā)言權(quán),而其他用戶能聽不能說,當(dāng)其他用戶想發(fā)言時,只要按下“*”鍵就搶到了廣播控制權(quán),最后只有當(dāng)擁有廣播控制權(quán)的用戶掛機時,廣播才停止,而任一其他用戶掛機,不影響廣播通訊繼續(xù)進行。

系統(tǒng)編程實現(xiàn)廣播強插的部分源碼見表1和表2。

表1 斷開原來連接部分(事件EVENT=US_INCBROADCAST,有廣播呼入)

Old State US_(舊狀態(tài))New State US_(新狀態(tài))Action during transition

(當(dāng)發(fā)生廣播呼入事件時,從舊狀態(tài)轉(zhuǎn)換到新狀態(tài)的源碼實現(xiàn))

DIALTONE

(撥號音)ACTIVE_RX

(可接收)disable dialtone on local phone,set line to standby mode:ioctl(fd_data_ch_old,IFX_TAPI_TONE_LOCAL_PLAY,NO_PARAM);ioctl(fd_phone_ch_old,IFX_TAPI_LINE_FEED_SET,IFX_TAPI_LINE_FEED_STANDBY);

RINGING

(振鈴)READY

(準備)stop ringing on local phone,clear phone(stop encoder/decoder),set line to standby mode:ioctl(fd_phone_ch_old,IFX_TAPI_RING_STOP,NO_PARAM);

TAPIDEMO_ClearPhone(pCtrl,tmpphone,tmpconn,US_READY,fd_data_ch_old,tmpphone->pBoard)(包括停止編解碼);

ioctl(fd_phone_ch_old,IFX_TAPI_LINE_FEED_SET,IFX_TAPI_LINE_FEED_STANDBY);

RINGBACK

(回鈴音)ACTIVE_RX

(可接收)disable ringback tone on local phone,clear phone(stop encoder/decoder),set line to standby mode:

ioctl(fd_data_ch_old,IFX_TAPI_TONE_LOCAL_PLAY,NO_PARAM);

TAPIDEMO_ClearPhone(pCtrl,tmpphone,tmpconn,US_READY,fd_data_ch_old,tmpphone->pBoard)(包括停止編解碼);

ioctl(fd_phone_ch_old,IFX_TAPI_LINE_FEED_SET,IFX_TAPI_LINE_FEED_STANDBY);

CALLING(呼叫)ACTIVE_RX(可接收)ACTIVE_TX(可發(fā)送)ACTIVE_RX(可接收)clear phone(stop encoder/decoder),set line to standby mode:

TAPIDEMO_ClearPhone(pCtrl,tmpphone,tmpconn;US_ACTIVE_RX,fd_data_ch_old,tmpphone->pBoard)(包括停止編解碼);

ioctl(fd_phone_ch_old,IFX_TAPI_LINE_FEED_SET,IFX_TAPI_LINE_FEED_STANDBY);

表2 與廣播主叫建立新的連接部分

源碼實現(xiàn)

line feed active,send US_ACTIVE_TX event to peer,start encoder/decoder on local phone:

ioctl(fd_phone_ch,IFX_TAPI_LINE_FEED_SET,IFX_TAPI_LINE_FEED_ACTIVE);

TAPIDEMO_SetAction(pCtrl,pPhone,pConn,US_ACTIVE_TX);

VOIP_StartCodec(pConn->nUsedCh,pBoard);

return US_ACTIVE_RX;

3 結(jié) 語

該系統(tǒng)設(shè)計完成后,成功地應(yīng)用于常德市某一電廠,進行生產(chǎn)調(diào)度,系統(tǒng)能實現(xiàn)點對點通訊和廣播通訊,并且通話質(zhì)量良好,基本無雜音和抖動。

本系統(tǒng)因自帶無線網(wǎng)卡可以自組織網(wǎng)絡(luò),它可以作為一種無線指令調(diào)度機被應(yīng)用到通信蔽塞的工廠,另外還可外接喇叭自動接聽電話,機器操作員不用停下手中的工作就可照指令進行相應(yīng)的操作。另外,本系統(tǒng)應(yīng)用可拓展性好,如:系統(tǒng)可通過PCM通道進行FXO連接從而實現(xiàn)與傳統(tǒng)PSTN互通(見圖1);在本系統(tǒng)上移植SIP協(xié)議棧便可實現(xiàn)與WIFI手機互通;將本系統(tǒng)整合到Ad Hoc網(wǎng)絡(luò)中,基于Ad Hoc網(wǎng)絡(luò)的各類移動終端設(shè)備便可應(yīng)運而生,因此本系統(tǒng)具有廣闊的市場前景。

參考文獻

[1]Jonathan Davidson,James Peters,Manoj Bhatia.VoIP技術(shù)架構(gòu)[M].北京:人民郵電出版社,2008.

[2]劉曉紅,張薇.VoWLAN技術(shù)研究與測試[J].無線電技術(shù)與信息,2005(11):35-40.

[3]昂志敏,周志斌.一種MIPS架構(gòu)的處理器在軟交換中的應(yīng)用[J].國外電子測量技術(shù),2006,25(7):65-68.

[4]英飛凌科技公司.VINETIC語音處理器在VoIP解決方案中的應(yīng)用[Z].2005.

[5]趙毅.剖析TCP和UDP協(xié)議[J].安順學(xué)院學(xué)報,2008,10(4):93-94.

[6]UDP方式點對點通訊[EB/OL].http://zhoulifa.bokee.com.

[7]UDP方式廣播通訊[EB/OL].http://zhoulifa.bokee.com.

[8]Wang Wei,Soung Chang Liew.Solutions to Performance Problems in VoIP over a 802.11 Wireless LAN[J].IEEE Trans.on Vehicular Technology,2005,54(1):366-384.

[9]白潔,劉亮.無線局域網(wǎng)絡(luò)綜述[J].計算機工程與設(shè)計,2004,25(3):426-428.

主站蜘蛛池模板: 久操线在视频在线观看| 曰AV在线无码| 亚洲综合激情另类专区| 四虎国产精品永久在线网址| 亚洲中文无码av永久伊人| 999福利激情视频| 日本精品影院| 欧美激情网址| 久久青草免费91线频观看不卡| 经典三级久久| 99在线视频网站| 一本一道波多野结衣av黑人在线| 99久久精品国产精品亚洲| 欧美成人h精品网站| 在线色综合| 亚洲成人在线免费观看| 亚洲国产精品美女| 99热在线只有精品| 免费一级大毛片a一观看不卡| 青青草欧美| 国产精品原创不卡在线| 精品伊人久久久大香线蕉欧美 | 久久久久久高潮白浆| 国产福利大秀91| 亚洲色成人www在线观看| 国产无码精品在线播放| 国产区免费| 99久久精品美女高潮喷水| 国产精品尤物在线| 精品国产一区二区三区在线观看 | 在线看免费无码av天堂的| 91福利国产成人精品导航| 国产综合网站| 免费国产好深啊好涨好硬视频| 国产微拍一区二区三区四区| 国内毛片视频| 欧美日韩精品一区二区在线线 | a亚洲视频| 日本三级黄在线观看| 精品自窥自偷在线看| 亚洲视频a| 天堂网亚洲系列亚洲系列| 精品一区国产精品| 精品国产成人a在线观看| 欧美日韩一区二区三区在线视频| 制服丝袜国产精品| 精品一区二区三区无码视频无码| 扒开粉嫩的小缝隙喷白浆视频| 粗大猛烈进出高潮视频无码| 久久精品午夜视频| 在线色国产| 亚洲天堂日本| 看你懂的巨臀中文字幕一区二区 | 欧美精品成人一区二区在线观看| 国产成人综合在线观看| 亚洲毛片网站| 婷婷久久综合九色综合88| 另类综合视频| 老司机久久99久久精品播放| 色综合激情网| 永久在线精品免费视频观看| 欧美成人手机在线观看网址| 国产性爱网站| 日韩欧美国产精品| 国产精品主播| a级毛片毛片免费观看久潮| 一本大道香蕉久中文在线播放| 在线中文字幕网| 超碰免费91| 免费观看男人免费桶女人视频| 欧美成人一级| 这里只有精品在线播放| 深夜福利视频一区二区| 韩国v欧美v亚洲v日本v| 精品视频福利| 精品国产黑色丝袜高跟鞋| 国禁国产you女视频网站| 亚洲中文在线视频| 天堂在线www网亚洲| 日韩国产欧美精品在线| 99在线视频网站| 2021最新国产精品网站|