1 引言
1.1 VoWLAN概述
VoWLAN是WLAN的新興應(yīng)用之一。VoIP通過數(shù)據(jù)網(wǎng)絡(luò)傳輸語音信號(hào);WLAN(無線局域網(wǎng)),通過無線接入點(diǎn)進(jìn)行無線上網(wǎng)。VoWLAN可以說是這兩者的有機(jī)結(jié)合,它可以利用現(xiàn)有的WLAN網(wǎng)絡(luò)實(shí)現(xiàn)無線的VoIP通話能力,企業(yè)員工通過VoWLAN可在辦公場(chǎng)所以外的地方隨時(shí)語音通信、訪問E-mail和其他已接入的網(wǎng)絡(luò)資源,這樣提高了網(wǎng)絡(luò)資源的利用率并降低了通話的成本,從而節(jié)省企業(yè)的總體IT費(fèi)用。對(duì)于住宅用戶也可以通過與寬帶802.11無線網(wǎng)絡(luò)相連的VoIP電話來降低話費(fèi)。VoWLAN系統(tǒng)的數(shù)據(jù)流如下:通過接入點(diǎn)AP (Access Point)把語音信號(hào)傳輸?shù)絍oIP網(wǎng)關(guān),該網(wǎng)關(guān)可以就是原來的有線VoIP網(wǎng)關(guān),這樣語音數(shù)據(jù)在IP網(wǎng)絡(luò)和PBX(交換機(jī))之間傳輸。這種方式使得傳統(tǒng)有線辦公和住宅電話的功能都能在VoWLAN中實(shí)現(xiàn),而運(yùn)營(yíng)商只需要增加語音網(wǎng)關(guān)、計(jì)費(fèi)系統(tǒng)等設(shè)備,就可為其WLAN熱點(diǎn)提供VoWLAN應(yīng)用,實(shí)現(xiàn)數(shù)據(jù)通信與語音通信的高效結(jié)合。
1.2 SIP概述
目前VoIP涉及的基本通信協(xié)議主要有三種:H323協(xié)議、SIP協(xié)議和MGCP協(xié)議。SIP稱為會(huì)話發(fā)起協(xié)議(Session Initiation Protocol),是Internet工程任務(wù)組(IETF)提出的建議中的一項(xiàng)協(xié)議。與H.323協(xié)議比較,SIP協(xié)議側(cè)重于將IP電話作為因特網(wǎng)上的一個(gè)應(yīng)用,較其實(shí)應(yīng)用(如FTP,E-mail等)增加了信令和QoS的要求,它們支持的業(yè)務(wù)基本相同,也都利用RTP作為媒體傳輸?shù)膮f(xié)議;SIP是基于文本的協(xié)議,類似于HTTP?;谖谋镜木幋a意味著頭域的含義是一目了然的,如From、To、Subject等域名。這種分布式、幾乎不需要復(fù)雜的文檔說明的標(biāo)準(zhǔn)規(guī)范風(fēng)格,其優(yōu)越性已在過去的實(shí)踐中得到了充分的證明(現(xiàn)在廣為流行的郵件協(xié)議SMTP就是 這樣的一個(gè)例子)。SIP的消息體部份采用SDP進(jìn)行描述,SDP中的每一項(xiàng)格式為’=’號(hào),也比較簡(jiǎn)單;SIP很方便地支持補(bǔ)充業(yè)務(wù)或智能業(yè)務(wù),只要充分利用SIP已定義的頭域,并對(duì)SIP進(jìn)行簡(jiǎn)單的擴(kuò)展,就可以實(shí)現(xiàn)這些業(yè)務(wù)。例如對(duì)于呼叫轉(zhuǎn)移,只要在BYE請(qǐng)求消息中添加Contact頭域,加入意欲轉(zhuǎn)至的第三方地址就可以實(shí)現(xiàn)此業(yè)務(wù)。對(duì)于通過擴(kuò)展頭域較難實(shí)現(xiàn)的一些智能業(yè)務(wù),可在體系結(jié)構(gòu)中增加業(yè)務(wù)代理,提供一些補(bǔ)充服務(wù)或與智能網(wǎng)設(shè)備的接口;SIP協(xié)議借鑒了其它因特網(wǎng)的標(biāo)準(zhǔn)和協(xié)議的設(shè)計(jì)思想,在風(fēng)格上遵循因特網(wǎng)一貫堅(jiān)持的簡(jiǎn)練、開放、兼容和可擴(kuò)展等原則,比較簡(jiǎn)單。
2 系統(tǒng)的硬件設(shè)計(jì)
2.1中央控制器
中央控制器MCU采用UBICOM公司的IP2022網(wǎng)絡(luò)處理器。它是專為 Internet-edge(網(wǎng)際邊緣)設(shè)計(jì)的微處理器。其主要特點(diǎn):通過軟件來處理協(xié)議, 而不是用硬件邏輯來實(shí)現(xiàn)協(xié)議,降低了 chip 的復(fù)雜性;對(duì)到達(dá)的 packet,使用 memory-to-memory 的操作,而不需要大容量,昂貴的on-chip caches(高速緩沖存儲(chǔ)器),以及 packet buffers;簡(jiǎn)潔設(shè)計(jì)的 real-time operating system,沒有memory-hungry requirement;Designer可以通過設(shè)計(jì) software 來實(shí)現(xiàn)各種 Internet-edge 應(yīng)用;IP2022 的 Memory 分為 on-chip 與 off-chip 兩個(gè)部分,采用的是Harvard architecture,分離的 data 與 code memories;4k bytes on-chip data memory、64k bytes 的 on-chip flash memory、16k bytes 的 on-chip PRAM、外部的 memory、extra flash memory,用來放更多的code,比如embedded web server 的code可以放在外部的 flash中,也包括一些dll functions。以及online firmware upgrades。SRAM,是用來拓展PRAM 空間來用的,比如可以在SRAM 中buffer packets。
2.2 語音模塊
本模塊采用的是TLV320AIC10。TLV320AIC10是TI公司近年新推出的低功耗∑-Δ型16位A/D、D/A音頻接口(AIC)芯片。它由5個(gè)控制寄存器控制。其中,控制寄存器1:軟件復(fù)位,DAC的16位或15+1位模式選擇以及抗混疊濾波器、抽樣濾波器、插值濾波器使能/旁路選擇??刂萍拇嫫?:決定工作方式和采樣速率。低功耗模式控制,分頻寄存器控制(決定濾波器的時(shí)鐘頻率和取樣周期)??刂萍拇嫫?:軟件關(guān)電,模擬及數(shù)字信號(hào)反饋和事件控制模式選擇;ADC的16位或15+1位模式選擇??刂萍拇嫫?:輸入輸出增益控制(通過控制輸入和輸出可編程增益放大器來實(shí)現(xiàn))。AIC的初始化主要就是對(duì)這4個(gè)寄存器參數(shù)進(jìn)行設(shè)定。該器件與單片機(jī)接口易于實(shí)現(xiàn),開發(fā)和使用更加方便。尤其適合應(yīng)用于低比特率、高性能密集設(shè)備的話音傳輸、識(shí)別及合成等的各種VoIP、電纜調(diào)制解調(diào)器、語音和電話領(lǐng)域。
2.3網(wǎng)絡(luò)模塊
無線接收發(fā)送模塊選用的是CF無線網(wǎng)卡插槽。CF卡(CompactFlash)是1994年SanDisk推出的一種閃存卡。CF卡具有PCMCIA-ATA功能,并與之兼容,CF卡采用閃存(flash)技術(shù),是一種穩(wěn)定的存儲(chǔ)解決方案,不需要電池來維持其中存儲(chǔ)的數(shù)據(jù)。對(duì)所有保存的數(shù)據(jù)來說,CF卡比傳統(tǒng)的磁盤驅(qū)動(dòng)器安全性和保護(hù)性都更高,而且CF卡的用電量?jī)H為小型磁盤驅(qū)動(dòng)器的5%。這些優(yōu)異的條件使得大多數(shù)PDA用網(wǎng)絡(luò)設(shè)備都選擇CF卡作為其首選接口。
本系統(tǒng)無線接收發(fā)送模塊選用的是WL-672F CF無線網(wǎng)絡(luò)適配器。該無線網(wǎng)絡(luò)適配器為CompactFlashⅠ型適配器,可與配有Ⅱ型插槽的終端一起使用。使用該適配器,在移動(dòng)使用PDA進(jìn)行工作時(shí),收發(fā)E-MAIL及訪問服務(wù)器數(shù)據(jù)時(shí),都可使之保持連接。其使用信用卡式設(shè)計(jì),提供集成天線,可以和所有符合IEEE802.11b(DSSS)2.4GHz標(biāo)準(zhǔn)的無線網(wǎng)絡(luò)設(shè)備進(jìn)行交互式操作,也可以通過AP與有線以太網(wǎng)進(jìn)行交互式操作,支持Ad-Hoc以及Infrastructure通訊方式,使用128-bit的WEP加密方式以保證網(wǎng)絡(luò)的安全。
[align=center]
圖1 VoWLAN語音終端的硬件框架圖[/align]
建立連接后用戶的模擬話音通過AIC10的AURXFP、AURXM、AURXCP輸入,將模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換形成數(shù)字信號(hào)流后傳至編碼模塊。編碼模塊中的DSP根據(jù)系統(tǒng)要求將語音數(shù)據(jù)壓縮,壓縮后放入DOUT的寄存器中。
在接收語音數(shù)據(jù)時(shí),在TLV320AIC10的幀同步FS為低電平,轉(zhuǎn)換時(shí)鐘信號(hào)SCLK的上升沿時(shí),系統(tǒng)處理器將語音數(shù)據(jù)通過DIN送入AIC10進(jìn)行解壓縮,形成64Kbps的PCM碼流,送入D/A進(jìn)行數(shù)模轉(zhuǎn)換,最后由AIC10的OUTP和OUTM輸出模擬語音。
3 VoWLAN的軟件設(shè)計(jì)
系統(tǒng)軟件是基于SIP協(xié)議棧的基礎(chǔ)上實(shí)現(xiàn)的。由于SIP協(xié)議棧采用模塊化設(shè)計(jì)思想,因此,系統(tǒng)軟件可以直接調(diào)用協(xié)議棧各模塊提供的API。軟件應(yīng)用模塊的消息獲取線程是實(shí)時(shí)獲取協(xié)議棧處理的結(jié)果(以消息或事件的形式存儲(chǔ)在協(xié)議棧消息隊(duì)列中),并把它轉(zhuǎn)換成系統(tǒng)應(yīng)用的消息結(jié)構(gòu)存放在應(yīng)用模塊的消息隊(duì)列中。圖2是軟件應(yīng)用模塊的程序流程圖。
[align=center]
圖2軟件應(yīng)用程序流程圖[/align]
圖2中的“應(yīng)用初始化”包括建立消息讀取線程等;“SIP協(xié)議棧初始化”包括建立協(xié)議棧主線程、注冊(cè)回調(diào)函數(shù)、協(xié)議棧其它模塊的初始化及消息隊(duì)列的建立等;“關(guān)機(jī)準(zhǔn)備操作”首先進(jìn)行注銷操作,接著終止消息讀取線程和協(xié)議棧主線程,釋放軟件應(yīng)用模塊和協(xié)議棧各模塊占用的資源。
協(xié)議棧模塊包含事務(wù)管理和對(duì)話管理這兩模塊,同樣,軟件應(yīng)用模塊也包含類似的管理功能,即“呼叫(call)管理”。呼叫管理的功能和協(xié)議棧模塊中的對(duì)話管理功能類似,只是呼叫管理側(cè)重于和用戶交互,通過人機(jī)界面顯示信息,提示用戶當(dāng)前呼叫的進(jìn)度,引導(dǎo)用戶執(zhí)行進(jìn)一步的操作。
呼叫有四種狀態(tài):“S_IDLE”、“S_PROGRESS”、“S_INCOMING” “S_CONNECTED”,它們之間的關(guān)系用一個(gè)有限狀態(tài)機(jī)來描述,如圖3。
[align=center]
圖 3 呼叫管理有限狀態(tài)機(jī)[/align]
“S_IDLE”狀態(tài)就是我們通常所說的待機(jī)狀態(tài)。當(dāng)用戶撥打?qū)Ψ降腟IP URI,協(xié)議棧通過發(fā)送INVITE請(qǐng)求消息,得到臨時(shí)響應(yīng)消息,呼叫就處于“S_PROGRESS”,圖中箭頭<1>表示該操作引起的狀態(tài)切換。在“S_PROGRESS”狀態(tài),對(duì)方如果拒絕接受呼叫,狀態(tài)又返回“S_IDLE”,如箭頭<2>;當(dāng)對(duì)方接受呼叫,就處于連接通話狀態(tài)“S_CONNECTED”,如箭頭<5>。在“S_IDLE”狀態(tài)也可能收到對(duì)方的呼叫請(qǐng)求,當(dāng)UA應(yīng)用發(fā)現(xiàn)一個(gè)新的呼叫請(qǐng)求,就應(yīng)當(dāng)切換狀態(tài)到“S_INCOMING”,如箭頭<3>;同樣,用戶可以拒絕接受呼叫,狀態(tài)切換回“S_IDLE”,如箭頭<4>;當(dāng)用戶接受呼叫請(qǐng)求,呼叫狀態(tài)就處于“S_CONNECTED”。在“S_CONNECTED”狀態(tài),通話雙方任何一方的結(jié)束通話請(qǐng)求都會(huì)導(dǎo)致狀態(tài)返回“S_IDLE”,結(jié)束通話。
4 結(jié)論
本終端成本價(jià)格低,目前已經(jīng)能夠注冊(cè)到有關(guān)廠家的SIP測(cè)試平臺(tái),并可以完成基本會(huì)話功能;同時(shí),在LAN中可以以靜態(tài)IP的方式注冊(cè)成功,并進(jìn)行會(huì)話操作。
創(chuàng)新點(diǎn)
SIP/SDP信令協(xié)議的VoWLAN終端嵌入式開發(fā)使用;USER Agent在VoWLAN終端的嵌入實(shí)現(xiàn);實(shí)現(xiàn)VoWLAN終端對(duì)PC、VoWLAN終端對(duì)VoWLAN等終端、VoWLAN終端對(duì)PSTN的通話。
參考文獻(xiàn)
1. 呂京建等,嵌入式系統(tǒng)設(shè)計(jì)綜述,單片機(jī)公共實(shí)驗(yàn)室,2001
2. 王瑞剛,李燕。IP電話終端設(shè)備——原理、電路及應(yīng)用. 西安:電子科技大學(xué)出版社,2003
3. Zhang Y. SIP-based VoIP network and its interworking with PSTN. Electronics & Communication Engineering Journal, 2002. 273~282.
4. Goode B. Voice over Internet protocol (VoIP). Proc. of the IEEE, 2002
5. IP2022 Internet Processor User Manual http://www.ubicom.com
6. TLV320AIC10 Data Sheet. http://218.19.77.199:8001/download.php
7. 咸廷偉 ,孫仁祥 ,毛琦?;贛PLS(多協(xié)議標(biāo)記交換技術(shù))的IP QoS應(yīng)用.微計(jì)算機(jī)信息,2003,(08)