<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于IEEE802.15.4的無(wú)線VoIP話機(jī)系統(tǒng)

          基于IEEE802.15.4的無(wú)線VoIP話機(jī)系統(tǒng)

          ——
          作者:飛思卡爾-電子科技大學(xué)研究中心 王晗 李廣軍 郭志勇 時(shí)間:2007-12-31 來(lái)源:電子產(chǎn)品世界 收藏

            摘要: 隨著網(wǎng)絡(luò)的普及,基于分組交換的VoIP技術(shù)得到迅猛發(fā)展。如何將VoIP技術(shù)與無(wú)線通信技術(shù)相結(jié)合,實(shí)現(xiàn)無(wú)線VoIP話機(jī)是當(dāng)前嵌入式VoIP話機(jī)設(shè)計(jì)的一個(gè)新方向。本文提出了一種適用于家庭辦公室小范圍內(nèi)的無(wú)線VoIP話機(jī)系統(tǒng)設(shè)計(jì)方案,并且將該方案在具體的硬件平臺(tái)上付諸實(shí)現(xiàn)。本文重點(diǎn)介紹了該系統(tǒng)的設(shè)計(jì)特點(diǎn),無(wú)線MAC層的設(shè)計(jì),以及手持設(shè)備端的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)。

            關(guān)鍵詞;;;

            當(dāng)前VoIP技術(shù)和無(wú)線通信技術(shù)的迅速發(fā)展為無(wú)線VoIP話機(jī)的實(shí)現(xiàn)創(chuàng)造了條件,也形成了一個(gè)研究熱點(diǎn)。當(dāng)前提出的設(shè)計(jì)方案有采用802.11協(xié)議(WLAN)實(shí)現(xiàn)VoIP無(wú)線化,雖然覆蓋范圍可達(dá)上百米,充足的帶寬對(duì)語(yǔ)音壓縮也沒(méi)有過(guò)高要求,但作為移動(dòng)便攜設(shè)備,其成本和功耗成為了設(shè)計(jì)瓶頸。本設(shè)計(jì)主要從性能,成本,功耗等方面出發(fā),提出了一種利用低速低功耗的無(wú)線個(gè)域網(wǎng)技術(shù)[1]來(lái)實(shí)現(xiàn)無(wú)線VoIP話機(jī)系統(tǒng)的方案,并在基于Freescale射頻芯片MC13192的硬件平臺(tái)上成功實(shí)現(xiàn)了該方案。

            無(wú)線VoIP話機(jī)系統(tǒng)方案

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

          圖1 無(wú)線VoIP話機(jī)的系統(tǒng)示意圖

            無(wú)線語(yǔ)音網(wǎng)關(guān)同手持設(shè)備端之間的無(wú)線通信采用了低速低功耗的協(xié)議,采用該協(xié)議雖然能極大地降低系統(tǒng)特別是手持設(shè)備的功耗,但僅僅250Kb/s的無(wú)線帶寬對(duì)語(yǔ)音的傳輸卻提出了挑戰(zhàn)。為適應(yīng)250Kb/s的無(wú)線傳輸速率同時(shí)保證語(yǔ)音質(zhì)量,本設(shè)計(jì)采用了g.726壓縮編解碼將語(yǔ)音速率從64Kb/s降低到16Kb/s。另外根據(jù)該應(yīng)用的特點(diǎn):手持設(shè)備與語(yǔ)音網(wǎng)關(guān)間僅構(gòu)成星型拓?fù)浣Y(jié)構(gòu),刪減了IEEE802.15.4協(xié)議部分功能,對(duì)其幀結(jié)構(gòu)也作了一定修改以增加負(fù)載數(shù)據(jù)在幀中所占的比例。

            協(xié)議與無(wú)線網(wǎng)內(nèi)部會(huì)話信令

            VoIP目前有兩大獨(dú)立的信令標(biāo)準(zhǔn):H.323協(xié)議和協(xié)議。H.323主要參考了傳統(tǒng)PSTN的呼叫控制和信令架構(gòu),便于與傳統(tǒng)電話網(wǎng)相連。SIP協(xié)議是由IETF在1999年提出來(lái)的一個(gè)應(yīng)用控制協(xié)議,它可用來(lái)創(chuàng)建、修改以及終結(jié)多個(gè)參與者參加的多媒體會(huì)話進(jìn)程。SIP協(xié)議借鑒了Internet協(xié)議設(shè)計(jì)思想,具有簡(jiǎn)單,開(kāi)放,可擴(kuò)展等特點(diǎn)。本設(shè)計(jì)采用了SIP協(xié)議,并在實(shí)現(xiàn)時(shí)采用了源代碼開(kāi)放的SIP協(xié)議棧osip2/eXosip庫(kù)。

            無(wú)線網(wǎng)內(nèi)部會(huì)話信令是本設(shè)計(jì)中無(wú)線語(yǔ)音網(wǎng)關(guān)與手持設(shè)備間進(jìn)行通話所交互的信令。該信令集可以看成SIP信令在本無(wú)線網(wǎng)絡(luò)中的擴(kuò)展。由于SIP協(xié)議是放在無(wú)線語(yǔ)音網(wǎng)關(guān)上實(shí)現(xiàn),而在會(huì)話過(guò)程中,部分SIP事件例如發(fā)起呼叫,需要由手持設(shè)備來(lái)響應(yīng)或送出,所以需要無(wú)線語(yǔ)音網(wǎng)關(guān)將這部分消息發(fā)送給手持設(shè)備,同時(shí)需要將從手持設(shè)備接收到的消息轉(zhuǎn)換成相應(yīng)的SIP信息發(fā)送到互聯(lián)網(wǎng)。無(wú)線網(wǎng)內(nèi)部會(huì)話信令便在無(wú)線語(yǔ)音網(wǎng)關(guān)和手持設(shè)備間充當(dāng)了信息傳遞的橋梁。表1列舉了部分無(wú)線網(wǎng)內(nèi)部會(huì)話信令在軟件實(shí)現(xiàn)中定義的宏名。

            這里以無(wú)線手持設(shè)備發(fā)起呼叫為例介紹無(wú)線手持設(shè)備如何通過(guò)內(nèi)部會(huì)話信令與其他VoIP電話建立會(huì)話,如圖2所示。

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

          {{分頁(yè)}}

            當(dāng)用戶通過(guò)無(wú)線手持設(shè)備撥打一個(gè)號(hào)碼時(shí),無(wú)線手持設(shè)備將發(fā)送一個(gè)HtoG_CALL_ NEW的內(nèi)部會(huì)話信令連同呼叫的號(hào)碼給無(wú)線語(yǔ)音網(wǎng)關(guān),無(wú)線語(yǔ)音網(wǎng)關(guān)收到該信令后,將根據(jù)該信令構(gòu)造相應(yīng)的SIP消息并發(fā)送到外部網(wǎng)絡(luò)。當(dāng)無(wú)線語(yǔ)音網(wǎng)關(guān)收到來(lái)自被叫方表示振鈴信息的暫時(shí)應(yīng)答RINGING時(shí),將發(fā)送一個(gè)GtoH_CALL_RINGING的內(nèi)部會(huì)話信令給手持設(shè)備。當(dāng)無(wú)線語(yǔ)音網(wǎng)關(guān)收到來(lái)自被叫方表示應(yīng)答的信息ANSWERED時(shí),語(yǔ)音網(wǎng)關(guān)將啟動(dòng)RTP線程并發(fā)送一個(gè)GtoH_CALL_ANSWERED的內(nèi)部會(huì)話信令給手持設(shè)備以通知被叫方已應(yīng)答。此時(shí)手持設(shè)備開(kāi)啟語(yǔ)音進(jìn)程,與被叫方實(shí)現(xiàn)通話。

            無(wú)線MAC層設(shè)計(jì)和同步的實(shí)現(xiàn)

            根據(jù)設(shè)計(jì)的特點(diǎn),無(wú)線語(yǔ)音網(wǎng)關(guān)同手持設(shè)備間的無(wú)線網(wǎng)絡(luò)采用星型拓?fù)浣Y(jié)構(gòu),無(wú)線語(yǔ)音網(wǎng)關(guān)作為無(wú)線個(gè)域網(wǎng)的協(xié)調(diào)器同手持設(shè)備進(jìn)行信息交互。IEEE802.15.4MAC層分為使用信標(biāo)幀和不使用信標(biāo)幀兩種工作模式,本設(shè)計(jì)采用使用信標(biāo)幀同步的超幀結(jié)構(gòu),由無(wú)線語(yǔ)音網(wǎng)關(guān)發(fā)送信標(biāo)幀同步無(wú)線手持設(shè)備的數(shù)據(jù)傳輸。本設(shè)計(jì)中超幀長(zhǎng)30ms,等分為16個(gè)時(shí)隙,每個(gè)時(shí)隙為1.875ms。信標(biāo)幀在時(shí)隙1發(fā)送,時(shí)隙2到時(shí)隙8為競(jìng)爭(zhēng)時(shí)隙,使用時(shí)隙CSMA-CA算法傳輸命令幀和應(yīng)答幀。時(shí)隙9到時(shí)隙16固定分配給兩個(gè)手持設(shè)備作為上下行語(yǔ)音數(shù)據(jù)通道。上下行各兩個(gè)時(shí)隙的分配可以滿足經(jīng) g.726壓縮后16Kb/s的語(yǔ)音數(shù)據(jù)傳輸帶寬要求。超幀結(jié)構(gòu)如圖3所示。

          圖3 超幀結(jié)構(gòu)

            對(duì)于命令幀,采用應(yīng)答和超時(shí)重發(fā)機(jī)制保證其可靠傳輸。對(duì)于語(yǔ)音數(shù)據(jù),采用5/6分組FEC糾錯(cuò)算法改善語(yǔ)音質(zhì)量。該糾錯(cuò)算法可以恢復(fù)五個(gè)連續(xù)語(yǔ)音數(shù)據(jù)包中任意丟失的一個(gè),且實(shí)現(xiàn)簡(jiǎn)單,延遲較小。

            由于所有信息傳輸都是在雙方約定的時(shí)隙內(nèi)進(jìn)行,時(shí)隙的錯(cuò)位,抖動(dòng)都將造成丟幀,而丟幀對(duì)語(yǔ)音質(zhì)量的影響非常大,所以本設(shè)計(jì)的一個(gè)關(guān)鍵點(diǎn)是實(shí)現(xiàn)語(yǔ)音網(wǎng)關(guān)與手持設(shè)備間的精確同步,即手持設(shè)備在收到信標(biāo)幀后保證隨后15個(gè)時(shí)隙與語(yǔ)音網(wǎng)關(guān)的對(duì)應(yīng)時(shí)隙對(duì)齊。本設(shè)計(jì)利用了射頻芯片MC13192的接收時(shí)間戳功能來(lái)實(shí)現(xiàn)精確同步,如圖4所示。

          圖4 超幀的同步

          {{分頁(yè)}}

            時(shí)隙1開(kāi)始后,語(yǔ)音網(wǎng)關(guān)需要TSTms的時(shí)間將射頻芯片從空閑狀態(tài)轉(zhuǎn)換為發(fā)送狀態(tài),當(dāng)轉(zhuǎn)換為發(fā)送狀態(tài)后,預(yù)先存儲(chǔ)在射頻芯片發(fā)送RAM中的信標(biāo)幀立即開(kāi)始發(fā)送,手持設(shè)備上的射頻芯片在收到六個(gè)字節(jié)TSPms后自動(dòng)鎖存一個(gè)當(dāng)前時(shí)間timestamp(時(shí)間戳), 這個(gè)值由手持設(shè)備在正確接收完信標(biāo)幀后讀取。根據(jù)這個(gè)值,手持設(shè)備可以設(shè)定MC13192定時(shí)器在(timestamp+1875-TST- TSP)ms時(shí)刻產(chǎn)生中斷,進(jìn)入該中斷服務(wù)程序的時(shí)刻即時(shí)隙2的起始時(shí)刻。在時(shí)隙2中使用MCU定時(shí)器設(shè)置隨后14個(gè)時(shí)隙的定時(shí)中斷產(chǎn)生時(shí)間,定時(shí)時(shí)間為1875ms。設(shè)置MC13192定時(shí)器中斷相關(guān)代碼如下所示:

            switch(frametype)

            {

            /*收到信標(biāo)幀*/

            case BEACON:

            /*獲取接收時(shí)間戳*/

            timestamp=PLMEGetTimestampRequest();

            /*設(shè)置時(shí)隙2定時(shí)中斷時(shí)刻*/

            PLMEEnableMC13192Timer1(timestamp+1875-144-192);

            beacon_receive_index++;

            break;

            case DATA:

            ...

            }

            在時(shí)隙2中斷服務(wù)程序中設(shè)置隨后14個(gè)時(shí)隙中斷時(shí)刻,代碼如下所示:

            /*MC13192定時(shí)器1中斷服務(wù)*/

            if ((u16StatusContent & TIMER1_IRQ_MASK) != 0) {

            /* 停止MC13192計(jì)數(shù)器*/

            SPIDrvWrite(T1_HI_ADDR, 0x8000);

            /* 設(shè)置MCU定時(shí)器*/

            EnableTMR(1875);

            無(wú)線手持設(shè)備端的硬件框架

            手持設(shè)備端的硬件結(jié)構(gòu)需要支持以下功能:

            



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();