EP9302的嵌入式VOWiFi電話終端設(shè)計(jì)
下一代網(wǎng)絡(luò)NGN(Next Generation Network)已經(jīng)成為通信網(wǎng)絡(luò)發(fā)展的方向,VoIP是NGN研究的一個(gè)熱點(diǎn),具有廣闊的應(yīng)用市場(chǎng)。VoIP技術(shù)可以在分組交換網(wǎng)絡(luò)上傳輸語(yǔ)音業(yè)務(wù),滿足人們?cè)跀?shù)據(jù)通信網(wǎng)上對(duì)語(yǔ)音業(yè)務(wù)的需求。目前,IP電話領(lǐng)域存在兩個(gè)呼叫信令和控制標(biāo)準(zhǔn):ITU—T的H.323協(xié)議和1ETF的SIP協(xié)議。H.323協(xié)議因其提出時(shí)間較早已經(jīng)獲得了成熟的應(yīng)用,而IETF提出的SIP協(xié)議,因其簡(jiǎn)單、靈活的技術(shù)特點(diǎn)而呈現(xiàn)出后來(lái)居上的趨勢(shì)。
與此同時(shí)無(wú)線局域網(wǎng)(WLAN)技術(shù)發(fā)展迅速。
WLAN主流技術(shù)標(biāo)準(zhǔn)已從802.11發(fā)展到802.11a/b/g,接入速率已從最高l Mbps發(fā)展到54 Mbps,而且技術(shù)成熟,成本低,普及率提高迅速,迎合了便攜式終端的發(fā)展要求,已得到大量國(guó)際廠商的支持和市場(chǎng)的廣泛認(rèn)同。但是目前802.11a/b/g技術(shù)只提供高速數(shù)據(jù)接入業(yè)務(wù),不能提供語(yǔ)音業(yè)務(wù),因此有必要在該數(shù)據(jù)業(yè)務(wù)基礎(chǔ)上采用VoIP技術(shù),研制一種無(wú)線VoIP電話(VoWiFi),以適應(yīng)嵌入式通信網(wǎng)絡(luò)設(shè)備應(yīng)用越來(lái)越廣泛的現(xiàn)實(shí)。實(shí)現(xiàn)VoWiFi的軟硬件平臺(tái),可以采用當(dāng)前最流行的嵌入式開(kāi)發(fā)平臺(tái)和開(kāi)源的Linux操作系統(tǒng)。基于以上技術(shù)可以構(gòu)建一個(gè)嵌入式VoWiFi電話終端,具有重要的應(yīng)用價(jià)值。
1 技術(shù)方案
嵌入式VoWiFi電話是能夠在802.11a/b/g無(wú)線局域網(wǎng)上進(jìn)行電話通信的設(shè)備。為了能在802.1la/b/g上實(shí)現(xiàn)電話通信,必須采用VoIP技術(shù),本系統(tǒng)VoIP標(biāo)準(zhǔn)可以選擇更靈活的SIP協(xié)議。為了能實(shí)現(xiàn)各種通信協(xié)議,完成各種控制和管理工作,滿足今后進(jìn)一步開(kāi)發(fā)需要,需采用基于微控制器的嵌入式系統(tǒng)。為了提高硬件設(shè)計(jì)的靈活性和軟件代碼在平臺(tái)間的可移植性,本系統(tǒng)軟硬件的設(shè)計(jì)采用了模塊化的方法。在硬件上,把系統(tǒng)劃分為以太網(wǎng)接口、USB無(wú)線網(wǎng)卡接口、音頻接口、串行接口等幾個(gè)功能單元;在軟件上,利用嵌入式操作系統(tǒng)分離底層硬件平臺(tái)和上層應(yīng)用,通過(guò)對(duì)終端系統(tǒng)的模塊劃分和模塊間的接口定義,有效分離各模塊間的相關(guān)性,從而使得各個(gè)模塊可以同時(shí)進(jìn)行開(kāi)發(fā),提高開(kāi)發(fā)效率。
2 硬件設(shè)計(jì)
2.1 總體方案
VoWiFi電話硬件技術(shù)方案如圖1所示。ARM9處理器是整個(gè)終端的核心部分,外圍包括802.11b/g無(wú)線模塊、語(yǔ)音信號(hào)處理模塊、鍵盤和LCD電路。ARM嵌入式系統(tǒng)是VoWiFi電話通信控制和管理的核心,它負(fù)責(zé)操作系統(tǒng)的運(yùn)行、資源的管理和分配、信息數(shù)據(jù)的處理以及與外部擴(kuò)展單元的通信,完成與各個(gè)模塊的接口和通信、TCP/IP協(xié)議和SIP協(xié)議的操作等。綜合考慮各種因素,本系統(tǒng)采用ARM9微控制器芯片EP9302。為了使系統(tǒng)能夠支持多任務(wù),使得程序開(kāi)發(fā)更加容易、便于維護(hù),同時(shí)能夠提高系統(tǒng)的穩(wěn)定性和可靠性,采用嵌入式操作系統(tǒng)Linux。
2.2 模塊選擇與電路設(shè)計(jì)
802.11b/g無(wú)線模塊實(shí)現(xiàn)空中無(wú)線接口和無(wú)線局域網(wǎng)接入功能。選用VIA威盛公司的VT6656 USB無(wú)線網(wǎng)卡,VT6656 wLAN控制器包括1個(gè)IEEE802.11a/b/gMAC,并集成了一枚基帶處理器支持USB2.O。該控制器可提供54Mbps高速的無(wú)線連接。
在ARM9開(kāi)發(fā)板內(nèi)部含有1個(gè)USB2.O接口控制器,接口電路如圖2所示。共有3個(gè)LISB接口(2個(gè)Host和1個(gè)Device),通過(guò)選擇開(kāi)關(guān)SW800進(jìn)行選通控制。74HC08作為4個(gè)二輸入與門邏輯電路,負(fù)責(zé)控制信號(hào)的邏輯組合。該接口用來(lái)連接USB接口的外部設(shè)備。
[!--empirenews.page--]
語(yǔ)音信號(hào)處理模塊用于對(duì)語(yǔ)音信號(hào)的數(shù)字化處理。本終端的音頻接口由I2S音頻總線接口和UDAl341TS音頻編解碼器組成,I2S接口采用DMA的數(shù)據(jù)傳輸模式。UDAl341TS是一款經(jīng)濟(jì)型音頻編解碼器,它通過(guò)I2S數(shù)字音頻接口實(shí)現(xiàn)音頻信號(hào)的數(shù)字化處理。圖3是EP9302與UDAl341TS的引腳連接示意簡(jiǎn)圖。
LCD顯示器和4×4鍵盤用于人機(jī)接口,在ARM嵌入式系統(tǒng)支持下實(shí)現(xiàn)各種人機(jī)操作??紤]到LCD顯示器主要用于號(hào)碼以及各種狀態(tài)標(biāo)識(shí)顯示,因此采用背光的128×64圖形點(diǎn)陣LCD模塊。
3 軟件設(shè)計(jì)
本嵌入式WLAN SIP電話終端的軟件結(jié)構(gòu)如圖4所示。具體來(lái)說(shuō),需要如下的軟件。
(1)嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)
提供了嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái),具有將CPU時(shí)間、中斷、I/0、定時(shí)器等資源包裝起來(lái)而留給用戶標(biāo)準(zhǔn)的API系統(tǒng)調(diào)用,對(duì)任務(wù)進(jìn)行合理調(diào)度以保證實(shí)時(shí)性和可靠性等功能。無(wú)線網(wǎng)卡驅(qū)動(dòng)程序、TCP/IP協(xié)議棧、液晶顯示器及鍵盤驅(qū)動(dòng)程序等都屬于操作系統(tǒng)模塊。
(2)SIP協(xié)議
SIP協(xié)議主要用于呼叫控制,包括呼叫的建立、維護(hù)和終結(jié),以及根據(jù)呼叫進(jìn)展情況動(dòng)態(tài)調(diào)整和修改相關(guān)屬性。SIP協(xié)議的相關(guān)操作包括:SIP消息的發(fā)送和接收、消息的生成與分析、狀態(tài)機(jī)的保存與轉(zhuǎn)換、SIP對(duì)話的管理、SIP事務(wù)處理機(jī)制的運(yùn)行、SDP消息的構(gòu)造、解析和雙方媒體協(xié)商處理,以及終端的注冊(cè)等功能。[!--empirenews.page--]
(3)語(yǔ)音處理軟件
語(yǔ)音處理軟件用于實(shí)現(xiàn)用戶間完整的語(yǔ)音交互,可進(jìn)一步劃分為:
①語(yǔ)音處理模塊。負(fù)責(zé)語(yǔ)音數(shù)據(jù)的采集、編解碼和播放,這里采用全世界的電路電話交換網(wǎng)中使用的G.711語(yǔ)音編碼技術(shù)。
②實(shí)時(shí)媒體傳輸模塊。完成數(shù)據(jù)包的RTP封裝與分解,以及數(shù)據(jù)包的發(fā)送和接收。SIP協(xié)議和語(yǔ)音處理是兩個(gè)獨(dú)立的過(guò)程,按照建立SIP會(huì)話在前、建立媒體流連接在后,拆除媒體流連接在前、拆除SIP會(huì)話在后的順序工作。
(4)硬件設(shè)備驅(qū)動(dòng)
硬件設(shè)備驅(qū)動(dòng)包括無(wú)線網(wǎng)卡、鍵盤和LCD驅(qū)動(dòng)。將驅(qū)動(dòng)程序編譯成內(nèi)核的一個(gè)可載入模塊并鏈入內(nèi)核,生成新的可以在目標(biāo)板上運(yùn)行的內(nèi)核,然后將內(nèi)核燒入目標(biāo)板的Flash中,使它們能正常使用。
(5)終端應(yīng)用程序
終端應(yīng)用程序?qū)崿F(xiàn)終端程序的初始化,創(chuàng)建線程;管理程序中各模塊信息,為它們分配資源;通過(guò)與用戶的交互,負(fù)責(zé)在全局上控制和管理其他各模塊的工作及模塊間的通信;并作為SIP用戶代理的運(yùn)行平臺(tái),實(shí)現(xiàn)整個(gè)系統(tǒng)的呼叫發(fā)起、呼叫響應(yīng)及呼叫結(jié)束的功能。
在整個(gè)系統(tǒng)的工作過(guò)程中,包括信令控制協(xié)議的傳輸、信令控制功能的使用、建立連接之后的語(yǔ)音傳輸、實(shí)時(shí)媒體的傳輸與控制,都是采用UDP方式實(shí)現(xiàn)的。語(yǔ)音數(shù)據(jù)要求比較高的實(shí)時(shí)性及處理速度,而且語(yǔ)音數(shù)據(jù)質(zhì)量對(duì)可能出現(xiàn)的因可靠性問(wèn)題而產(chǎn)生的丟包現(xiàn)象不是很敏感,所以使用UDP作為語(yǔ)音數(shù)據(jù)的傳輸載體。
在整個(gè)會(huì)話過(guò)程中,用來(lái)保障實(shí)時(shí)數(shù)據(jù)傳輸?shù)膮f(xié)議是RTP協(xié)議。RTP算法并不作為一個(gè)獨(dú)立的網(wǎng)絡(luò)層來(lái)實(shí)現(xiàn),而是作為應(yīng)用程序代碼的一部分。實(shí)時(shí)傳輸控制協(xié)議RTCP和RTP一起提供流量控制和擁塞控制服務(wù)。
4 工作過(guò)程與實(shí)驗(yàn)測(cè)試
4.1 工作過(guò)程
采用嵌入式VoWiFi電話終端、無(wú)線AP和基于PC機(jī)的SIP軟電話為實(shí)驗(yàn)環(huán)境。VoWiFi終端工作過(guò)程為:音頻信號(hào)首先經(jīng)過(guò)MIC后送入音頻處理單元,完成聲音信號(hào)的模/數(shù)轉(zhuǎn)換,再經(jīng)過(guò)語(yǔ)音編解碼自上而下分別以RTP協(xié)議、UDP協(xié)議、IP協(xié)議將數(shù)據(jù)封裝。ARM9處理器則通過(guò)I2S總線由DMA方式把封裝后的數(shù)據(jù)讀取到片外緩存單元SDRAM,當(dāng)所開(kāi)辟的緩存區(qū)域存滿后,運(yùn)行無(wú)線網(wǎng)卡驅(qū)動(dòng),把IP包通過(guò)無(wú)線網(wǎng)卡發(fā)送出去。在PC上運(yùn)行的SIP軟電話收到發(fā)送過(guò)來(lái)的數(shù)據(jù)后,通過(guò)應(yīng)用層軟件把IP包中的音頻數(shù)據(jù)取出,然后調(diào)用PC聲卡驅(qū)動(dòng),并把數(shù)據(jù)送入聲卡還原成模擬話音。反方向的數(shù)據(jù)傳輸類似,只是數(shù)據(jù)是由運(yùn)行于宿主機(jī)上TCP/IP的客戶端程序發(fā)送。
4.2 實(shí)驗(yàn)測(cè)試
經(jīng)過(guò)對(duì)終端的注冊(cè)、呼叫、撤銷呼叫、語(yǔ)音通信等功能進(jìn)行測(cè)試,終端可以對(duì)SIP信令過(guò)程進(jìn)行很好的控制,從而實(shí)現(xiàn)注冊(cè)、呼叫等基本功能。在語(yǔ)音傳輸方面,本終端可以與被叫RTP通道進(jìn)行實(shí)時(shí)語(yǔ)音傳輸,在局域網(wǎng)環(huán)境內(nèi)語(yǔ)音質(zhì)量較好,延遲較?。辉诨ネǚ矫?,除了與另一同樣終端可以互通,還可以與Linphone、X—lite等終端建立呼叫和語(yǔ)音通信,互通性較好。
結(jié) 語(yǔ)
在介紹VoIP原理的基礎(chǔ)上,設(shè)計(jì)了基于ARM9平臺(tái)的嵌入式VoWiFi電話終端的軟硬件。該設(shè)計(jì)采用當(dāng)前最流行的嵌入式開(kāi)發(fā)平臺(tái)和開(kāi)源的Linux操作系統(tǒng)實(shí)現(xiàn)了無(wú)線局域網(wǎng)上VoIP語(yǔ)音通話功能。創(chuàng)新點(diǎn)在于:在802.11a/b/g無(wú)線局域網(wǎng)(wLAN)上,采用VoIP技術(shù)實(shí)現(xiàn)VoWiFi電話終端語(yǔ)音通話功能。