當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本文提出了一種適用于家庭辦公室小范圍內(nèi)的無線VoIP話機系統(tǒng)設(shè)計方案,并且將該方案在具體的硬件平臺上付諸實現(xiàn)。本文重點介紹了該系統(tǒng)的設(shè)計特點,無線MAC層的設(shè)計,以及手持設(shè)備端的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)。

摘要: 隨著網(wǎng)絡(luò)的普及,基于分組交換的VoIP技術(shù)得到迅猛發(fā)展。如何將VoIP技術(shù)與無線通信技術(shù)相結(jié)合,實現(xiàn)無線VoIP話機是當(dāng)前嵌入式VoIP話機設(shè)計的一個新方向。本文提出了一種適用于家庭辦公室小范圍內(nèi)的無線VoIP話機系統(tǒng)設(shè)計方案,并且將該方案在具體的硬件平臺上付諸實現(xiàn)。本文重點介紹了該系統(tǒng)的設(shè)計特點,無線MAC層的設(shè)計,以及手持設(shè)備端的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)。
關(guān)鍵詞: IEEE802.15.4;mC/OS-II;SIP;g.726
  
當(dāng)前VoIP技術(shù)和無線通信技術(shù)的迅速發(fā)展為無線VoIP話機的實現(xiàn)創(chuàng)造了條件,也形成了一個研究熱點。當(dāng)前提出的設(shè)計方案有采用802.11協(xié)議(WLAN)實現(xiàn)VoIP無線化,雖然覆蓋范圍可達(dá)上百米,充足的帶寬對語音壓縮也沒有過高要求,但作為移動便攜設(shè)備,其成本和功耗成為了設(shè)計瓶頸。本設(shè)計主要從性能,成本,功耗等方面出發(fā),提出了一種利用低速低功耗的無線個域網(wǎng)技術(shù)IEEE802.15.4[1]來實現(xiàn)無線VoIP話機系統(tǒng)的方案,并在基于Freescale射頻芯片MC13192的硬件平臺上成功實現(xiàn)了該方案。
  
無線VoIP話機系統(tǒng)方案

  
作為無線便攜設(shè)備,功耗是首要考慮的一個因素,如果把網(wǎng)絡(luò)協(xié)議棧,各個語音處理模塊,無線通信都放在手持設(shè)備上,必然造成手持設(shè)備功能復(fù)雜,功耗過大。本設(shè)計考慮將嵌入式VoIP話機劃分為兩部分:無線語音網(wǎng)關(guān)和手持設(shè)備端。無線語音網(wǎng)關(guān)作為該系統(tǒng)的非移動端,以有線方式連接到互聯(lián)網(wǎng),主要處理網(wǎng)絡(luò)及會話協(xié)議,各種語音壓縮標(biāo)準(zhǔn)與g.726壓縮標(biāo)準(zhǔn)之間的轉(zhuǎn)換以及無線收發(fā)工作,而作為真正移動部分的手持設(shè)備端僅作簡單的會話信令處理,g.726語音編解碼和無線收發(fā)工作。在這種結(jié)構(gòu)下,還可以增加手持設(shè)備的數(shù)量,實現(xiàn)多路無線通話,本設(shè)計成功實現(xiàn)了兩個手持設(shè)備的無線語音通話。即兩個手持設(shè)備可同時與互聯(lián)網(wǎng)上其它用戶建立語音通話。該無線VoIP話機系統(tǒng)如圖1所示。


圖1 無線VoIP話機的系統(tǒng)示意圖
  
無線語音網(wǎng)關(guān)同手持設(shè)備端之間的無線通信采用了低速低功耗的IEEE802.15.4協(xié)議,采用該協(xié)議雖然能極大地降低系統(tǒng)特別是手持設(shè)備的功耗,但僅僅250Kb/s的無線帶寬對語音的傳輸卻提出了挑戰(zhàn)。為適應(yīng)250Kb/s的無線傳輸速率同時保證語音質(zhì)量,本設(shè)計采用了g.726壓縮編解碼將語音速率從64Kb/s降低到16Kb/s。另外根據(jù)該應(yīng)用的特點:手持設(shè)備與語音網(wǎng)關(guān)間僅構(gòu)成星型拓?fù)浣Y(jié)構(gòu),刪減了IEEE802.15.4協(xié)議部分功能,對其幀結(jié)構(gòu)也作了一定修改以增加負(fù)載數(shù)據(jù)在幀中所占的比例。
  
SIP協(xié)議與無線網(wǎng)內(nèi)部會話信令
  
VoIP目前有兩大獨立的信令標(biāo)準(zhǔn):H.323協(xié)議和SIP協(xié)議。H.323主要參考了傳統(tǒng)PSTN的呼叫控制和信令架構(gòu),便于與傳統(tǒng)電話網(wǎng)相連。SIP協(xié)議是由IETF在1999年提出來的一個應(yīng)用控制協(xié)議,它可用來創(chuàng)建、修改以及終結(jié)多個參與者參加的多媒體會話進(jìn)程。SIP協(xié)議借鑒了Internet協(xié)議設(shè)計思想,具有簡單,開放,可擴展等特點。本設(shè)計采用了SIP協(xié)議,并在實現(xiàn)時采用了源代碼開放的SIP協(xié)議棧osip2/eXosip庫。
  
無線網(wǎng)內(nèi)部會話信令是本設(shè)計中無線語音網(wǎng)關(guān)與手持設(shè)備間進(jìn)行通話所交互的信令。該信令集可以看成SIP信令在本無線網(wǎng)絡(luò)中的擴展。由于SIP協(xié)議是放在無線語音網(wǎng)關(guān)上實現(xiàn),而在會話過程中,部分SIP事件例如發(fā)起呼叫,需要由手持設(shè)備來響應(yīng)或送出,所以需要無線語音網(wǎng)關(guān)將這部分消息發(fā)送給手持設(shè)備,同時需要將從手持設(shè)備接收到的消息轉(zhuǎn)換成相應(yīng)的SIP信息發(fā)送到互聯(lián)網(wǎng)。無線網(wǎng)內(nèi)部會話信令便在無線語音網(wǎng)關(guān)和手持設(shè)備間充當(dāng)了信息傳遞的橋梁。表1列舉了部分無線網(wǎng)內(nèi)部會話信令在軟件實現(xiàn)中定義的宏名。
  
這里以無線手持設(shè)備發(fā)起呼叫為例介紹無線手持設(shè)備如何通過內(nèi)部會話信令與其他VoIP電話建立會話,如圖2所示。

圖2 無線手持設(shè)備發(fā)起呼叫信令交互

當(dāng)用戶通過無線手持設(shè)備撥打一個號碼時,無線手持設(shè)備將發(fā)送一個HtoG_CALL_ NEW的內(nèi)部會話信令連同呼叫的號碼給無線語音網(wǎng)關(guān),無線語音網(wǎng)關(guān)收到該信令后,將根據(jù)該信令構(gòu)造相應(yīng)的SIP消息并發(fā)送到外部網(wǎng)絡(luò)。當(dāng)無線語音網(wǎng)關(guān)收到來自被叫方表示振鈴信息的暫時應(yīng)答RINGING時,將發(fā)送一個GtoH_CALL_RINGING的內(nèi)部會話信令給手持設(shè)備。當(dāng)無線語音網(wǎng)關(guān)收到來自被叫方表示應(yīng)答的信息ANSWERED時,語音網(wǎng)關(guān)將啟動RTP線程并發(fā)送一個GtoH_CALL_ANSWERED的內(nèi)部會話信令給手持設(shè)備以通知被叫方已應(yīng)答。此時手持設(shè)備開啟語音進(jìn)程,與被叫方實現(xiàn)通話。
  
無線MAC層設(shè)計和同步的實現(xiàn)
  
根據(jù)設(shè)計的特點,無線語音網(wǎng)關(guān)同手持設(shè)備間的無線網(wǎng)絡(luò)采用星型拓?fù)浣Y(jié)構(gòu),無線語音網(wǎng)關(guān)作為無線個域網(wǎng)的協(xié)調(diào)器同手持設(shè)備進(jìn)行信息交互。IEEE802.15.4MAC層分為使用信標(biāo)幀和不使用信標(biāo)幀兩種工作模式,本設(shè)計采用使用信標(biāo)幀同步的超幀結(jié)構(gòu),由無線語音網(wǎng)關(guān)發(fā)送信標(biāo)幀同步無線手持設(shè)備的數(shù)據(jù)傳輸。本設(shè)計中超幀長30ms,等分為16個時隙,每個時隙為1.875ms。信標(biāo)幀在時隙1發(fā)送,時隙2到時隙8為競爭時隙,使用時隙CSMA-CA算法傳輸命令幀和應(yīng)答幀。時隙9到時隙16固定分配給兩個手持設(shè)備作為上下行語音數(shù)據(jù)通道。上下行各兩個時隙的分配可以滿足經(jīng) g.726壓縮后16Kb/s的語音數(shù)據(jù)傳輸帶寬要求。超幀結(jié)構(gòu)如圖3所示。

圖3 超幀結(jié)構(gòu)
  
對于命令幀,采用應(yīng)答和超時重發(fā)機制保證其可靠傳輸。對于語音數(shù)據(jù),采用5/6分組FEC糾錯算法改善語音質(zhì)量。該糾錯算法可以恢復(fù)五個連續(xù)語音數(shù)據(jù)包中任意丟失的一個,且實現(xiàn)簡單,延遲較小。
  
由于所有信息傳輸都是在雙方約定的時隙內(nèi)進(jìn)行,時隙的錯位,抖動都將造成丟幀,而丟幀對語音質(zhì)量的影響非常大,所以本設(shè)計的一個關(guān)鍵點是實現(xiàn)語音網(wǎng)關(guān)與手持設(shè)備間的精確同步,即手持設(shè)備在收到信標(biāo)幀后保證隨后15個時隙與語音網(wǎng)關(guān)的對應(yīng)時隙對齊。本設(shè)計利用了射頻芯片MC13192的接收時間戳功能來實現(xiàn)精確同步,如圖4所示。

圖4 超幀的同步

時隙1開始后,語音網(wǎng)關(guān)需要TSTms的時間將射頻芯片從空閑狀態(tài)轉(zhuǎn)換為發(fā)送狀態(tài),當(dāng)轉(zhuǎn)換為發(fā)送狀態(tài)后,預(yù)先存儲在射頻芯片發(fā)送RAM中的信標(biāo)幀立即開始發(fā)送,手持設(shè)備上的射頻芯片在收到六個字節(jié)TSPms后自動鎖存一個當(dāng)前時間timestamp(時間戳), 這個值由手持設(shè)備在正確接收完信標(biāo)幀后讀取。根據(jù)這個值,手持設(shè)備可以設(shè)定MC13192定時器在(timestamp+1875-TST- TSP)ms時刻產(chǎn)生中斷,進(jìn)入該中斷服務(wù)程序的時刻即時隙2的起始時刻。在時隙2中使用MCU定時器設(shè)置隨后14個時隙的定時中斷產(chǎn)生時間,定時時間為1875ms。設(shè)置MC13192定時器中斷相關(guān)代碼如下所示:
  switch(frametype)
  {
  /*收到信標(biāo)幀*/
  case BEACON:
  /*獲取接收時間戳*/
  timestamp=PLMEGetTimestampRequest();
  /*設(shè)置時隙2定時中斷時刻*/
  PLMEEnableMC13192Timer1(timestamp+1875-144-192);
  beacon_receive_index++;
  break;
  case DATA:
  ...
  }
  在時隙2中斷服務(wù)程序中設(shè)置隨后14個時隙中斷時刻,代碼如下所示:
  /*MC13192定時器1中斷服務(wù)*/
  if ((u16StatusContent & TIMER1_IRQ_MASK) != 0) {
  /* 停止MC13192計數(shù)器*/
  SPIDrvWrite(T1_HI_ADDR, 0x8000);
  /* 設(shè)置MCU定時器*/
  EnableTMR(1875);
  無線手持設(shè)備端的硬件框架
  手持設(shè)備端的硬件結(jié)構(gòu)需要支持以下功能:
  ·能接收并處理用戶按鍵信息
  ·能在LCD屏上顯示系統(tǒng)信息
  ·無線數(shù)據(jù)傳輸
  ·語音數(shù)據(jù)的采樣、恢復(fù)以及PCM編解碼
  ·外擴存儲設(shè)備以存放大量的代碼和數(shù)據(jù)

按照以上對硬件功能的要求,本設(shè)計采用了Freescale公司32位微處理器MCF5249作為主控芯片。該處理器工作主頻為140MHz,實際工作頻率可通過片內(nèi)PLL設(shè)定,片內(nèi)帶有8K的指令高速緩存和96K的SRAM。該處理器還提供豐富的外設(shè)供用戶使用。
  
無線收發(fā)模塊采用Freescale公司符合IEEE802.15.4規(guī)范的射頻芯片MC13192,該芯片工作在2.4GHz頻段,提供16個無線通道,數(shù)據(jù)速率為250Kb/s[4],通過QSPI與主控芯片進(jìn)行數(shù)據(jù)交換。語音采樣模塊采用Motorola公司13位線形PCM編解碼芯片MC145483SD[5],該芯片對語音進(jìn)行AD采樣并形成線形PCM流,通過音頻接口與主控芯片交換數(shù)據(jù)。時鐘模塊的設(shè)計充分考慮手持設(shè)備的低功耗要求,提供高低兩種時鐘輸入。當(dāng)系統(tǒng)處于未通話狀態(tài),可向系統(tǒng)提供低頻率時鐘。時鐘輸入可通過軟件配置GPIO進(jìn)行選擇。因為要處理大量音頻數(shù)據(jù)和固化代碼,擴展了片外SDRAM和FLASH。其他模塊還包括鍵盤,LCD,串口和BDM調(diào)試接口,其硬件框架如圖5所示。

圖5 無線手持設(shè)備端的硬件框架
  
無線手持設(shè)備端的軟件設(shè)計
  
無線手持設(shè)備端的軟件框架

  
無線手持設(shè)備在軟件設(shè)計上需充分考慮系統(tǒng)的實時性和功耗。其一,手持設(shè)備需要處理語音,會話控制信令,鍵盤輸入信息等多種數(shù)據(jù),并需要進(jìn)行通話過程控制,無線收發(fā)控制,單任務(wù)環(huán)境顯然不能勝任。其二語音數(shù)據(jù)是實時數(shù)據(jù),必須得到及時有效的處理,且系統(tǒng)不能過于復(fù)雜,以減少不必要的開銷,降低功耗。綜合以上兩點,本設(shè)計采用了一個輕巧的多任務(wù)實時嵌入式操作系統(tǒng)mC/OS-II,其內(nèi)核可剝奪性保證了實時任務(wù)的運行。而且其內(nèi)核代碼量小,能充分節(jié)省系統(tǒng)資源。該嵌入式操作系統(tǒng)提供除空閑,統(tǒng)計和保留任務(wù)以外的56個實時任務(wù)供用戶使用,提供信號量,消息隊列等機制實現(xiàn)任務(wù)間的同步和信息傳遞。其實時性強,代碼量小,內(nèi)核簡單的特點使其非常適用于本手持設(shè)備。
  
使用該操作系統(tǒng)之前需將其移植到MCF5249上,根據(jù)處理器的具體信息,編寫OS_CPU.H,OS_CPU_A.ASM和 OS_CPU_C.C三個文件。
  
除內(nèi)核外,完整的操作系統(tǒng)還需要編寫鍵盤,LCD,音頻驅(qū)動和射頻芯片驅(qū)動。音頻驅(qū)動采用Phlips I2S數(shù)據(jù)格式,設(shè)定采樣率為8KHz。射頻芯片驅(qū)動采用Freescale公司為MC13192提供的配套軟件模塊。

操作系統(tǒng)之上是無線MAC層,該模塊針對語音無線傳輸?shù)奶攸c簡化實現(xiàn)了IEEE 802.15.4 協(xié)議MAC層功能。第三層為語音壓縮編解碼g.726模塊和無線網(wǎng)內(nèi)部會話信令處理模塊。會話信令處理模塊負(fù)責(zé)處理來自無線語音網(wǎng)關(guān)的會話信令。最上層為應(yīng)用層,實現(xiàn)用戶界面和通話過程控制。無線手持設(shè)備總統(tǒng)框架如圖6所示。

圖6 無線手持設(shè)備端的軟件框架
  
無線手持設(shè)備端的軟件流程
  
當(dāng)手持設(shè)備上電啟動后,其工作流程如圖7示。首先進(jìn)行的是系統(tǒng)的初始化,包括處理器初始化,操作系統(tǒng)mC/OS-II初始化,LCD,鍵盤,射頻模塊等的初始化。之后建立起始任務(wù)并通過OSStart()函數(shù)進(jìn)入多任務(wù)環(huán)境。此時起始任務(wù)占用CPU資源,在起始任務(wù)中,建立按鍵信息處理任務(wù)并通過信號量機制掛起。然后判斷是否收到來自無線語音網(wǎng)關(guān)的幀,如果有,調(diào)用frame_deal()函數(shù)處理幀信息,在該函數(shù)中調(diào)用call_command_deal()完成無線網(wǎng)內(nèi)部會話信令的處理。接著判斷通話是否建立,如果建立則創(chuàng)建語音任務(wù),在語音進(jìn)程中使能PCM編解碼芯片,并進(jìn)行g(shù).726壓縮編碼。最后判斷是否有幀需要發(fā)送給無線語音網(wǎng)關(guān),如果有則把幀添加到發(fā)送緩存,等待發(fā)送時隙到來。這一過程完成以后重新跳到判斷是否收到來自無線語音網(wǎng)關(guān)的幀,重復(fù)以上過程。如果有鍵盤中斷,將會釋放一個信號量,該信號量將解掛按鍵信息處理任務(wù)。該任務(wù)對鍵盤輸入信息進(jìn)行處理。

圖7 無線手持設(shè)備的軟件流程

結(jié)語
  
本設(shè)計已經(jīng)在基于MCF5234微處理器(無線語音網(wǎng)關(guān))和MCF5249微處理器(無線手持設(shè)備)的硬件平臺上實現(xiàn)。如圖8所示,左圖為無線語音網(wǎng)關(guān),右圖為無線手持設(shè)備。

圖8 系統(tǒng)硬件實物圖
  
本設(shè)計實現(xiàn)了包括呼叫轉(zhuǎn)移,三方通話等在內(nèi)的7項通話功能。在40米范圍內(nèi),具有良好的語音效果。該系統(tǒng)為家庭、辦公環(huán)境實現(xiàn)無線VoIP通信提供了一種參考設(shè)計,且具有結(jié)構(gòu)簡單,功耗小,軟件層次清晰等特點。
  
參考文獻(xiàn):
  1. IEEE Standard 802.15.4-2003
  2.RFC 3261.Session Initial Protocol. 2002
  3.Freescale. MCF5249 ColdFire Integrated Microprocessor User’s Manual. 2003
  4.Freescale. MC13192/MC13193-2.4GHz Low Power Transceiver for the IEEE802.15.4 Standard Reference
  Manual. 2006
  5.Motorola. 3V 13-bit Linear PCM Codec-Filter User’s Manual. 1997
  6.Jean J. Labrosse 著,邵貝貝等譯,嵌入式實時操作系統(tǒng)uC/OS-II(第二版). 北京航空航天大學(xué)出版社. 2005 
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉