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