基于IEEE802.1 5.4/ZigBee的語(yǔ)音通信系統
2.2 發(fā)送接收子程序實(shí)現
發(fā)送端獲取了A/D轉換的結果,并存儲于所開(kāi)設的緩存中。在發(fā)送數據時(shí),將存于緩存的數據,加上網(wǎng)絡(luò )層MAC層和物理層的幀頭,通過(guò)SPI總線(xiàn)發(fā)送到射頻發(fā)射芯片的發(fā)送FIFO中。為簡(jiǎn)化傳輸數據,采用16位短地址尋址而非64位IEEE地址。接收數據時(shí),首先射頻發(fā)射芯片監聽(tīng)信道中的數據,判斷數據是否發(fā)送該設備。如果是,則讀取該數據到接收FIFO,然后觸發(fā),通過(guò)SPI總線(xiàn)將數據發(fā)送到MCU;通過(guò)MCU處理,去掉各層的幀頭,最后將數據存放到指定的緩存區中。具體完成發(fā)送接收部分的子程序流程如圖4所示。
2.3 反向控制與狀態(tài)切換
在無(wú)線(xiàn)通信過(guò)程中,無(wú)論主機還是分機的CC2420通信模塊在某一時(shí)刻只能被配置成一種傳輸模式,即發(fā)射模式或接收模式,因此無(wú)線(xiàn)信道實(shí)質(zhì)提供了一種半雙工通信方式。而在實(shí)際當中通話(huà)雙方不能像對講機那樣采用按鍵進(jìn)行發(fā)射和接收模式的切換,所以既要保證語(yǔ)音數據的實(shí)時(shí)性和準確性,又要保證反向控制信號的有效傳輸,軟件的狀態(tài)切換成為迫切需要解決的問(wèn)題。
利用如圖4所示的收發(fā)子程序控制遠程端是否輸出方波。按鍵按下,則發(fā)送控制命令至遠程端,收到控制命令后,運用定時(shí)器的比較模式輸出方波。從系統考慮,每個(gè)通信節點(diǎn)同時(shí)具備收發(fā)功能。依據CC2420狀態(tài)機可以方便地進(jìn)行狀態(tài)切換,每次發(fā)送完畢恢復無(wú)線(xiàn)收發(fā)模塊至接收狀態(tài)即可。
3 結束語(yǔ)
在系統調試過(guò)程中,考慮到語(yǔ)音傳輸的同步性,避免語(yǔ)音信號無(wú)線(xiàn)接收與SPI讀取數據的速度RXFIFO使用沖突,接收端采用雙緩沖區的設計;另外由于每個(gè)節點(diǎn)同時(shí)具備收發(fā)功能,考慮到半雙工的特點(diǎn),采用語(yǔ)音信號高優(yōu)先級,只在每次中斷檢測方波控制信號的方法,既保證了語(yǔ)音信號的實(shí)時(shí)傳輸,控制信號又實(shí)時(shí)有效。由于CC2420沒(méi)有專(zhuān)用的軟件監聽(tīng)包,語(yǔ)音傳輸信號用正弦波信號模擬,同時(shí)反向發(fā)射方波輸出控制信號。經(jīng)過(guò)調試,最終在D/A輸出口,穩定的輸出階梯狀正弦波,在喇叭輸出口,基本平滑的正弦波。實(shí)驗證明,該波形無(wú)消波失真且波形穩定時(shí),語(yǔ)音傳輸效果最佳,經(jīng)測試,傳輸距離約達到50m。
該系統未使用獨立的ADC與DAC,使得成本和功耗更低;利用MSP430的5種省電模式,加上ZigBee技術(shù)本身的低功耗、低成本特性,使得在僅用電池供電的情況下有更長(cháng)的工作時(shí)間。系統涉及到通信原理、無(wú)線(xiàn)技術(shù)、抗干擾技術(shù)、軟件設計等多種理論和技術(shù),為ZigBee技術(shù)的廣泛應用提供了依據。
評論