引言
VoIP是當今熱門技術(shù),而越來越多的用戶提出了在VoIP網(wǎng)絡(luò)的用戶側(cè)一端構(gòu)建起無線網(wǎng)絡(luò),傳統(tǒng)意義上的VoIP終端充當 VoIP網(wǎng)關(guān)的方案。當前許多解決方案采用了藍牙或其他技術(shù),不難發(fā)現(xiàn)這些技術(shù)均有成本高,技術(shù)復雜等缺點。飛思卡爾MC13192是一款低功耗的射頻芯片,具有低成本、低功耗、性能穩(wěn)定等優(yōu)點,適用于低速率無線網(wǎng)絡(luò)的射頻芯片。用戶可以通過該芯片及zigbee協(xié)議棧實現(xiàn)無線網(wǎng)絡(luò)的構(gòu)建,該技術(shù)已經(jīng)被普遍用于家電控制。本文介紹了一種利用此技術(shù)實現(xiàn)VoIP兩路語音通信的方案,是無線語音網(wǎng)絡(luò)的一種新的低成本、低功耗的解決方案。
設(shè)計實現(xiàn)
MC13192簡介
飛思卡爾MC13192收發(fā)器是一個典型的ZigBee產(chǎn)品。芯片采用16通道、2.4GHz的頻帶,數(shù)據(jù)速率為250kb/s。它們可與32位嵌入式控制器(如飛思卡爾的MCF523x系列)協(xié)同使用。MC13192采用標準的4線SPI及7根GPIO與MCU通信,MCU可以通過對SPI的讀寫來設(shè)置及獲取MC13192的寄存器,還可以通過對特定GPIO的電平設(shè)置來將MC13192的特定引腳置高或者拉低。
MC13192同32位嵌入式處理器的通信
由于處理器及開發(fā)板的差異,MCU同MC13192相聯(lián)接的引腳會有所差異,因此為了實現(xiàn)MC13192同MCU的正常通信,必須首先配置相關(guān)引腳的方向及功能,本文所描述的方案基于飛思卡爾MCF5234平臺,該平臺同MC13192的引腳對應(yīng)關(guān)系如表1所示。
引腳的配置分為三部分:QSPI的初始化、GPIO的初始化以及中斷引腳的配置。QSPI和中斷引腳的配置相對比較簡單,下面首先對這兩部分做一個介紹。
QSPI的初始化要完成對模式寄存器及環(huán)繞寄存器的初始化,值得一提的是方式寄存器初始化需要設(shè)置宏MCF_QSPI_QMR_BAUD(x),該宏用于設(shè)置QSPI的波特率,括號內(nèi)的數(shù)值x需要根據(jù)硬件環(huán)境及用戶需要的QSPI的時鐘頻率來確定,計算公式為:
x=系統(tǒng)時鐘頻率
4xQSPI時鐘頻率
MCF5234的時鐘頻率為150MHz,在本系統(tǒng)中使用的QSPI的頻率為2MHz,因此波特率數(shù)值約等于19。對于中斷引腳的初始化則更為簡單,初始化過程包括觸發(fā)方式、引腳方向以及中斷允許三步。其中觸發(fā)方式需要選擇下降沿觸發(fā),引腳方向要設(shè)置為輸出,由于MC13192使用IRQ3,因此最后要允許來自IRQ3的中斷。
GPIO的初始化主要分為三步:引腳配置,方向寄存器初始化,以及數(shù)據(jù)寄存器的初始化。首先需要將要使用的GPIO引腳配置為GPIO功能,然后要將這些引腳配置為輸出(因為這些引腳均被MCU用來控制MC13192,方向是從MCU輸出),最后要將這些引腳上的數(shù)據(jù)配置為初始值。
通過以上步驟,就完成了射頻芯片和MCU的引腳聯(lián)接,可以進行下一步的設(shè)計。
IEEE 802.15.4協(xié)議MAC層的實現(xiàn)
由于本方案需要通過射頻芯片來進行語音數(shù)據(jù)的傳輸,因此需要一個可靠的MAC層協(xié)議的支持,可以采用IEEE802.15.4協(xié)議的一部分來滿足本方案的要求,由于MC13192包含4個定時器,因此可以利用這4個定時器來劃分時槽從而實現(xiàn)時分復用。
網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
本方案實現(xiàn)了兩路語音通信,即兩個手持設(shè)備通過無線網(wǎng)絡(luò)與網(wǎng)關(guān)進行通信,網(wǎng)關(guān)通過有線網(wǎng)絡(luò)連接到因特網(wǎng)。手持設(shè)備可以同時與外界進行通話。
MAC協(xié)議設(shè)計
本方案采用時槽的方式實現(xiàn)兩路語音的復用,因此需要手持設(shè)備和網(wǎng)關(guān)之間時槽的嚴格同步。根據(jù)協(xié)議,每16個時槽作為一個超幀,網(wǎng)關(guān)在每個超幀的第一個時槽發(fā)送Baecon幀,第2到第8時槽是競爭時槽,因此在本方案中保留這7個時槽,第9到第16時槽是無競爭時槽,用于時分復用,在本方案中,將8個時槽分為4部分,分別用于兩個手持設(shè)備的上下行數(shù)據(jù)傳輸。