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