基于IEEE802.1 5.4/ZigBee的語音通信系統(tǒng)
摘要 提出一種基于IEEE802.15.4的無線傳輸方案,該方案基于Chipcon公司開發(fā)的一款符合ZigBee標(biāo)準(zhǔn)的低功耗射頻芯片CC2420,設(shè)計了以MSP430為處理器、CC2420芯片為無線通信芯片的無線語音通信系統(tǒng)。使用的外圍器件少,實現(xiàn)了短距離無線語音傳輸和方波輸出的雙向數(shù)據(jù)傳輸,并通過正弦波實驗進(jìn)行代碼調(diào)試,具有成本低、音質(zhì)好的優(yōu)點。
關(guān)鍵詞 IEEE802.15.4;Zigbee;無線語音通信;雙向傳輸
ZigBee是ZigBee聯(lián)盟在IEEE802.15.4定義的物理層(PHY)和媒體訪問控制層(MAC)基礎(chǔ)上指定的一種低速無線個域網(wǎng)(LR-WPAN)技術(shù)規(guī)范。其主要目標(biāo)是以簡單靈活的協(xié)議構(gòu)建一種布置簡易、數(shù)據(jù)傳輸可靠、設(shè)備成本低、能量消耗小的短距離無線通信網(wǎng)絡(luò)。ZigBee工作頻段靈活,使用的頻段分別為2.4 GHz、868 MHz及915 MHz,均為免執(zhí)照頻段;傳輸速率為250 kbit·s-1,有效傳輸距離為10~75 m。通過在發(fā)射端加功率放大器還可以實現(xiàn)更遠(yuǎn)距離的通信。ZigBee技術(shù)具有多跳傳送(Muhi-hop Relay)機(jī)制、網(wǎng)絡(luò)擴(kuò)展性能好、布設(shè)容易以及具有自組織與自修復(fù)能力。廣泛地應(yīng)用到庫存管理、產(chǎn)品質(zhì)量控制、工業(yè)過程控制、災(zāi)害地區(qū)監(jiān)測、生物監(jiān)測和監(jiān)督、定位及消防安全等領(lǐng)域。雖然實現(xiàn)語音通信不是ZigBee聯(lián)盟最初的目標(biāo),但是,在許多領(lǐng)域中沒有語音通信功能,將使其應(yīng)用受到較大局限;另一方面,在有緊急需求和不易布置環(huán)境下,ZigBee具有其他通信技術(shù)難以替代的優(yōu)勢,如能利用ZigBee網(wǎng)絡(luò)進(jìn)行語音傳輸則具有較大的實用價值;同時,在無線傳感網(wǎng)絡(luò)的應(yīng)用中,聲音也是一種傳感量,傳輸采樣的聲音數(shù)據(jù)正是聲音傳感應(yīng)用的基本要求,所以文中針對IEEE802.15.4/ZigBee的應(yīng)用環(huán)境,并考慮到ZigBee理論通信速率為250 kbit·s-1,實際速率也能滿足語音通信要求的情況,提出實現(xiàn)語音通信的研究課題。并且充分利用本方案所選MCU的性能特性,以及較少的外圍器件,很好地實現(xiàn)了語音通信。
1 硬件方案
1.1 方案總體架構(gòu)
該系統(tǒng)總體架構(gòu)為:語音處理功能遠(yuǎn)程端MSP430單片機(jī)作為發(fā)送端時,片上的ADC完成從麥克風(fēng)采樣,把輸入的語音信號經(jīng)過轉(zhuǎn)換后發(fā)送,而近程端MSP430片上的DAC則把接收到的數(shù)據(jù)轉(zhuǎn)化為聲音信號再由喇叭播放。方波輸出功能的實現(xiàn)則以近程端作為發(fā)送端,發(fā)送控制命令給遠(yuǎn)程端,遠(yuǎn)程端接收到控制命令后,輸出占空比可調(diào)的方波信號。進(jìn)而實現(xiàn)半雙工通信下的雙向通信。數(shù)據(jù)的收發(fā)則通過以CC2420為核心的RF前端完成,外圍附加放大與濾波電路。該平臺的原理框圖如圖1所示。
前置放大器完成對咪頭微弱信號的放大,以便與ADC的滿度測量范圍相匹配,提高信噪比;前置低通濾波器濾除高于采樣頻率1/2的信號,即堆疊信號,以減小語音失真;嵌入式處理器完成數(shù)據(jù)處理及發(fā)送接收;射頻收發(fā)器CC2420完成數(shù)據(jù)的收/發(fā),接收/發(fā)送該設(shè)備的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到嵌入式處理器。后置低通濾波器對經(jīng)過D/A變換的語音信號濾波,還原語音信號。采用低噪聲、非斬波穩(wěn)零的雙極性運放設(shè)計成二階有源濾波電路。音頻放大器對經(jīng)過濾波的語音信號放大,提高負(fù)載能力,輸出到揚聲器,最終實現(xiàn)無線語音通信。電路外圍元件少,電壓增益可調(diào)。
1.2 器件選型
MSP430是具有超低功耗特點的16位單片機(jī),方案選用MSP430F168,功耗電流已達(dá)到μA級。CPU內(nèi)核功能強(qiáng)大:16位CPU和高效的RISC指令系統(tǒng),無外擴(kuò)的數(shù)據(jù)地址總線,在8MHz時可達(dá)125ns的指令周期,具有16個快速響應(yīng)中斷,能及時處理各種緊急事件。豐富的片內(nèi)外圍功能模塊:12位的A/D轉(zhuǎn)換器ADC12內(nèi)包括采樣/保持功能的ADC內(nèi)核、轉(zhuǎn)換存儲邏輯、內(nèi)部參考電平發(fā)生器、多種時鐘源、采樣及轉(zhuǎn)換時序電路。具有8個外通道和4個內(nèi)通道,高達(dá)采樣速率200 kbit·s-1,且具有多種采樣方式。兩路USART通信串口,可用于UART和SPI模式;片內(nèi)有精密硬件乘法器、兩個16位定時器,其具有48 kB閃存和2 kB的RAM,用于存儲采集數(shù)據(jù)。
射頻芯片采用挪威Chipcon公司的CC2420。該芯片具有完全集成的壓控振蕩器,只需要天線、16 MHz晶振等非常少的外圍電路就能工作在ISM免費頻帶上,工作頻率為2.4 GHz。具有2 Mchip·s-1直接擴(kuò)頻序列基帶調(diào)制解調(diào)和250 kbit·s-1的有效數(shù)據(jù)速率;適合簡化功能裝置和全功能裝置操作:低電流消耗;低電源電壓要求。可編程輸出功率;獨立的128 Byte發(fā)射、接收數(shù)據(jù)緩沖器。芯片具有良好的性能,尤其是極低的電流消耗和封裝尺寸,完全滿足無線網(wǎng)絡(luò)設(shè)備體積小、功耗小、成本低的設(shè)計要求。CC2420只提供一個SPI接口與微處理器連接,通過這個接口完成設(shè)置和收發(fā)數(shù)據(jù)工作。許多單片機(jī)都集成了SPI控制器,可以方便地與CC2420配合使用。
基于單片機(jī)MSP430和無線射頻芯片CC2420的SPI通信,通過設(shè)計單片機(jī)的SPI寄存器驅(qū)動CC2420。處理器通過SPI接口訪問CC2420內(nèi)部寄存器和存儲區(qū)。CC2420與處理器的連接使用SFD、FIFO、FIFOP、和CCA 4個引腳表示收發(fā)數(shù)據(jù)的狀態(tài);而處理器通過SPI接口與CC2420交換數(shù)據(jù)、發(fā)送命令等。MSP430F168的SPI是全雙工的,因此當(dāng)通過SIMO向從機(jī)發(fā)送數(shù)據(jù)時,SOMI接口同時也在接收數(shù)據(jù)。
1.3 硬件實現(xiàn)
硬件方案充分利用MSP430片上12位ADC和DAC,從而無需外部語音編碼解碼器件,系統(tǒng)更加精簡。語音傳輸系統(tǒng)的硬件電路如圖2所示。
麥克風(fēng)放大器及前置低通濾波器電路的工作原理:U1構(gòu)成的反向放大器提供麥克風(fēng)放大,其增益由R4和R5決定;R2、R3分壓后為U1提供合適的偏置,R1給駐極體話筒提供偏置電壓,C2阻止直流成分輸入到放大器;一級Sallen-key結(jié)構(gòu)的切比雪夫低通濾波器R8和C5構(gòu)成一階低通濾波器,用于ADC的反堆疊濾波。后置濾波器由一級Sallen-key結(jié)構(gòu)的切比雪夫低通濾波器、一級RC低通濾波器和一級電壓跟隨器U4構(gòu)成。三級濾波器的截止頻率彼此稍有錯位,以限制整個濾波電路通帶的紋波。整個電路的截止頻率設(shè)置在3 400 Hz,電壓跟隨器用于防止電路從輸出獲得反饋,并提供電流驅(qū)動。
在設(shè)計音頻部分的電路時,考慮到采樣率為10 kHz,根據(jù)奈奎斯特取樣定理,系統(tǒng)的有效取樣頻率Os必須滿足Os≥2ON的規(guī)定。在此ON稱為奈奎斯特頻率而ON稱為奈奎斯特率。當(dāng)采樣頻率小于奈奎斯特頻率時,在接收端恢復(fù)的信號失真較大,這是因為存在信號的混迭;當(dāng)采樣頻率大于或等于奈奎斯特頻率時,恢復(fù)信號與原信號基本一致。輸入的信號頻率最高不能超過5kHz,在輸入ADC之前必須加一個低通濾波器,將高于5 kHz的信號加以濾除。
2 軟件實現(xiàn)
軟件設(shè)計主要是基于MSP430F168與CC2420之間的SPI通信。通過設(shè)計單片機(jī)的SPI寄存器來驅(qū)動CC2420,進(jìn)而設(shè)置和讀取射頻芯片的寄存器值,實現(xiàn)相應(yīng)的發(fā)送和接收功能。
2.1 系統(tǒng)功能實現(xiàn)
遠(yuǎn)程端對語音數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換并打包發(fā)送。為實現(xiàn)語音實時通信,應(yīng)盡量減少幀間等待時間,以提高有效數(shù)據(jù)率。為達(dá)到最大傳輸效率,理論上應(yīng)使用最大載荷打包,但較長的數(shù)據(jù)幀也更容易被外界干擾信號破壞,同時也增加了語音遲延。綜合考慮濾波器的截止頻率以及CC2420的節(jié)點傳輸速度,A/D轉(zhuǎn)換采用10 kHz的采樣頻率,8位分辨率。MSP430的主頻為8 MHz,ADC將其8分頻,單通道單次轉(zhuǎn)換。定時器B與其時鐘同步,每50μs產(chǎn)生一次中斷。每兩次中斷進(jìn)行一次轉(zhuǎn)換,并將數(shù)據(jù)讀出取高8位。ADC一次采樣84個8位信號為一個數(shù)據(jù)包,這個數(shù)據(jù)包在被RF發(fā)送出去之前由協(xié)議棧自動加上一個12Byte的包頭。由于CC2420傳送速率為250kbit·s-1,所以每傳送一個數(shù)據(jù)包耗時約3.072ms。
近程端將接收到的語音采集數(shù)據(jù)進(jìn)行還原。D/A轉(zhuǎn)換時鐘設(shè)置與A/D轉(zhuǎn)換同步。并且也采用10 kHz的頻率。用單片機(jī)的定時器A模塊,每100μs產(chǎn)生一次中斷,在中斷中進(jìn)行一次D/A轉(zhuǎn)換。一個ADC的輸入緩沖區(qū)或一個DAC的輸出緩沖區(qū)的大小為84Byte。裝滿這些緩沖區(qū)需要8.4 ms。系統(tǒng)流程圖如圖3所示。
2.2 發(fā)送接收子程序?qū)崿F(xiàn)
發(fā)送端獲取了A/D轉(zhuǎn)換的結(jié)果,并存儲于所開設(shè)的緩存中。在發(fā)送數(shù)據(jù)時,將存于緩存的數(shù)據(jù),加上網(wǎng)絡(luò)層MAC層和物理層的幀頭,通過SPI總線發(fā)送到射頻發(fā)射芯片的發(fā)送FIFO中。為簡化傳輸數(shù)據(jù),采用16位短地址尋址而非64位IEEE地址。接收數(shù)據(jù)時,首先射頻發(fā)射芯片監(jiān)聽信道中的數(shù)據(jù),判斷數(shù)據(jù)是否發(fā)送該設(shè)備。如果是,則讀取該數(shù)據(jù)到接收FIFO,然后觸發(fā),通過SPI總線將數(shù)據(jù)發(fā)送到MCU;通過MCU處理,去掉各層的幀頭,最后將數(shù)據(jù)存放到指定的緩存區(qū)中。具體完成發(fā)送接收部分的子程序流程如圖4所示。
2.3 反向控制與狀態(tài)切換
在無線通信過程中,無論主機(jī)還是分機(jī)的CC2420通信模塊在某一時刻只能被配置成一種傳輸模式,即發(fā)射模式或接收模式,因此無線信道實質(zhì)提供了一種半雙工通信方式。而在實際當(dāng)中通話雙方不能像對講機(jī)那樣采用按鍵進(jìn)行發(fā)射和接收模式的切換,所以既要保證語音數(shù)據(jù)的實時性和準(zhǔn)確性,又要保證反向控制信號的有效傳輸,軟件的狀態(tài)切換成為迫切需要解決的問題。
利用如圖4所示的收發(fā)子程序控制遠(yuǎn)程端是否輸出方波。按鍵按下,則發(fā)送控制命令至遠(yuǎn)程端,收到控制命令后,運用定時器的比較模式輸出方波。從系統(tǒng)考慮,每個通信節(jié)點同時具備收發(fā)功能。依據(jù)CC2420狀態(tài)機(jī)可以方便地進(jìn)行狀態(tài)切換,每次發(fā)送完畢恢復(fù)無線收發(fā)模塊至接收狀態(tài)即可。
3 結(jié)束語
在系統(tǒng)調(diào)試過程中,考慮到語音傳輸?shù)耐叫裕苊庹Z音信號無線接收與SPI讀取數(shù)據(jù)的速度RXFIFO使用沖突,接收端采用雙緩沖區(qū)的設(shè)計;另外由于每個節(jié)點同時具備收發(fā)功能,考慮到半雙工的特點,采用語音信號高優(yōu)先級,只在每次中斷檢測方波控制信號的方法,既保證了語音信號的實時傳輸,控制信號又實時有效。由于CC2420沒有專用的軟件監(jiān)聽包,語音傳輸信號用正弦波信號模擬,同時反向發(fā)射方波輸出控制信號。經(jīng)過調(diào)試,最終在D/A輸出口,穩(wěn)定的輸出階梯狀正弦波,在喇叭輸出口,基本平滑的正弦波。實驗證明,該波形無消波失真且波形穩(wěn)定時,語音傳輸效果最佳,經(jīng)測試,傳輸距離約達(dá)到50m。
該系統(tǒng)未使用獨立的ADC與DAC,使得成本和功耗更低;利用MSP430的5種省電模式,加上ZigBee技術(shù)本身的低功耗、低成本特性,使得在僅用電池供電的情況下有更長的工作時間。系統(tǒng)涉及到通信原理、無線技術(shù)、抗干擾技術(shù)、軟件設(shè)計等多種理論和技術(shù),為ZigBee技術(shù)的廣泛應(yīng)用提供了依據(jù)。