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

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于ZigBee的語音通信技術(shù)

          基于ZigBee的語音通信技術(shù)

          作者: 時間:2008-03-13 來源: 收藏

            是一種低功耗、低成本的新型短距離無線通信開放性技術(shù)標(biāo)準(zhǔn)。它工作頻段靈活,使用的頻段分別為2.4 GHz、868MHz(歐洲)及915MHz(美國),均為免執(zhí)照頻段;傳輸速率為250kbps,有效傳輸距離為10~75m。通過在發(fā)射端加功率放大器還可以實(shí)現(xiàn)更遠(yuǎn)距離的通信。

          本文引用地址:http://www.ex-cimer.com/article/79980.htm

            技術(shù)的低成本、低功耗特點(diǎn),使其廣泛地應(yīng)用到庫存管理、產(chǎn)品質(zhì)量控制、工業(yè)過程控制、災(zāi)害地區(qū)監(jiān)測、生物監(jiān)測和監(jiān)督、定位及消防安全等領(lǐng)域。雖然實(shí)現(xiàn)語音通信不是聯(lián)盟最初的目標(biāo),但是,在許多領(lǐng)域(如消防搶險(xiǎn))中沒有語音通信功能,將使其應(yīng)用受到很大的局限。本文正是考慮到這一點(diǎn),并考慮到ZigBee理論通信速率為250 kps,實(shí)際速率也能滿足語音通信要求的情況,充分利用本方案所選的MCU的性能特性,以及很少的外圍器件,很好地實(shí)現(xiàn)了語音通信。

            1 總體方案構(gòu)架

            ZigBee語音通信系統(tǒng)的架構(gòu)為:以嵌入式處理器和射頻發(fā)射芯片為核心,輔以外圍的放大與濾波電路實(shí)現(xiàn)語音通信。總體框圖如圖1所示。

            

            按功能分,主要包括以下幾部分:

            語音前置放大器:主要實(shí)現(xiàn)對麥克風(fēng)接收的語音電信號進(jìn)行放大處理。

            語音前置濾波器:完成對高頻電磁波的濾出,消除部分干擾,減小語音的失真。

            嵌入式處理器:發(fā)送語音時,完成對語音模擬電信號的采集,將其轉(zhuǎn)變?yōu)閿?shù)字信號,并打包成數(shù)據(jù)幀,加上必要的幀頭,發(fā)送到射頻收發(fā)器。接收語音時,讀取射頻收發(fā)器緩存器的數(shù)據(jù),并進(jìn)行D/A變換,發(fā)送到語音接收電路。

            射頻收發(fā)器:完成數(shù)據(jù)的收/發(fā),接收/發(fā)送該設(shè)備的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到嵌入式處理器。

            語音后置濾波器:對經(jīng)過D/A變換的語音信號濾波,得到所需的語音信號。

            語音后置放大器:對經(jīng)過濾波以后的語音信號放大,最后輸出到耳機(jī),實(shí)現(xiàn)最終的語音通信。

            2 硬件電路實(shí)現(xiàn)

            2.1 器件選型

            嵌入式處理器選用ATmegal28L單片機(jī)。ATmegal28L是Atmel公司推出的低功耗、高性能MCU。其內(nèi)核為AVR,具有先進(jìn)的RISC架構(gòu),內(nèi)部具有133條功能強(qiáng)大的指令系統(tǒng),且大部分指令是單周期;具有2個8位定時器/計(jì)數(shù)器和2個具有比較/捕捉寄存器的16位定時器/計(jì)數(shù)器,2通道位數(shù)可編程PWM通道,8路10位A/D轉(zhuǎn)換器,主/從SPI串行接口,可編程串行通信接口以及片內(nèi)精確的模擬比較器等。CPU可工作在IDLE、POWERSAVE、POWERDOWN、STANDYBY等幾種省電模式。

            ATmegal28L的軟件結(jié)構(gòu)也是針對低功耗而設(shè)計(jì)的,具有內(nèi)外多種中斷模式;豐富的中斷能力減少了系統(tǒng)設(shè)計(jì)中查詢的需要,可以方便地設(shè)計(jì)出中斷程序結(jié)構(gòu)的控制程序、上電復(fù)位和可編程的低電壓檢測,工作電壓為2.7~5.5V。該系統(tǒng)設(shè)計(jì)可以充分利用其8路10位A/D轉(zhuǎn)換器和2通道位數(shù)可編程PWM通道,實(shí)現(xiàn)語音信號的A/D轉(zhuǎn)換和D/A轉(zhuǎn)換,從而省去獨(dú)立的A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器,且成本更加低廉,系統(tǒng)更加精簡,更加穩(wěn)定可靠。同時,考慮到該MCU的低功耗特點(diǎn),可以使系統(tǒng)一次工作更長的時間。

            無線發(fā)射器選用Chipcon公司的CC2420。CC2420的主要特點(diǎn):具有2Mchips/s直接擴(kuò)頻序列基帶調(diào)制解調(diào)和250kbps的有效數(shù)據(jù)速率;適合簡化功能裝置和全功能裝置操作;低電流消耗(接收19.7mA,發(fā)射17.4mA);低電源電壓要求(使用內(nèi)部電壓調(diào)節(jié)器時2.1~3.6V,使用外部電壓調(diào)節(jié)器時1.6~2.0V);可編程輸出功率;獨(dú)立的128字節(jié)發(fā)射、接收數(shù)據(jù)緩沖器;電池電量可監(jiān)控。

            放大電路及濾波器電路的放大器選用LMV324。LMV324(四通道)放大器在2.7 V以下消耗的最大供電電流為1 20μA,在5V下一般只消耗100μA,較同級器件的功耗低20%,而且價(jià)格低廉,該系統(tǒng)每個沒備需要4個運(yùn)算放大器,充分利用該器件。

            2.2 系統(tǒng)硬件實(shí)現(xiàn)

            語音傳輸系統(tǒng)的硬件電路如圖2所示,連接麥克風(fēng)的放大器是一個簡單的反向放大器。增益通過R2和R3控制(G=R3/R2);R4給麥克風(fēng)提供電壓,C1阻止直流成分輸入到放大器;R4和R5給放大器提供合適的偏置;Rll和C9構(gòu)成一個簡單的一級低通濾波器。另外,R5可以在放大器輸出短路的情況下,對放大器起保護(hù)作用。語音接收電路由5級低通Chebychev濾波器和1級電壓跟隨器構(gòu)成。濾波器電路由兩個相互交錯的2級Chebychev濾波器(R6、R7、R8、C2、C5和R8、R9、R10、C3、C6)和一個無源濾波器(R10,C7)構(gòu)成。這3個濾波器的截止頻率彼此稍微有點(diǎn)錯位,這樣可以限制整個濾波電路通帶的紋波。整個電路的截止頻率設(shè)置在4000Hz,電壓跟隨器用來防止電路從輸出獲得反饋。

            

            3 軟件實(shí)現(xiàn)

            3.1 發(fā)送端軟件實(shí)現(xiàn)

            發(fā)送端軟件主要完成語音電壓信號的模/數(shù)轉(zhuǎn)換,并將數(shù)據(jù)按照ZigBee協(xié)議規(guī)定的最大幀長度打包。本系統(tǒng)采取每幀84字節(jié),并按照用戶要求發(fā)送到特定網(wǎng)絡(luò)設(shè)備。ATmegal28L的主頻是8 MHz,ADC時鐘采取64分頻,每次轉(zhuǎn)換需要13個ADC周期,完成一次轉(zhuǎn)換需要112μs;采用單次轉(zhuǎn)換模式,如果按照8 kHz采樣,則每次采樣時間是125μs;采用定時器T/C1,則每到125μs產(chǎn)生一次中斷,并在中斷處理程序中讀取A/D轉(zhuǎn)換的值,同時啟動下一次轉(zhuǎn)換。發(fā)送端程序流程如圖3所示。

            

            3.2 中間層軟件實(shí)現(xiàn)

            發(fā)送端獲取了A/D轉(zhuǎn)換的結(jié)果,并存儲于所開設(shè)的緩存中;中間層在發(fā)送數(shù)據(jù)時,將存于緩存的數(shù)據(jù)按照ZigBee協(xié)議規(guī)定的格式,加上網(wǎng)絡(luò)層MAC層和物理層的幀頭,將數(shù)據(jù)通過SPI總線發(fā)送到射頻發(fā)射芯片的發(fā)送FIFO中。ZigBee設(shè)備有兩種尋址方式,分別通過64位的IEEE地址和16位的網(wǎng)絡(luò)地址來尋找網(wǎng)絡(luò)設(shè)備。一般來說,IEEE地址是固定的,而網(wǎng)絡(luò)地址則是在組網(wǎng)時隨機(jī)分配的。因此要對特定設(shè)備通信,必須用IEEE地址,但是在進(jìn)行語音通信時,為了簡化傳輸數(shù)據(jù),一般采用16位網(wǎng)絡(luò)地址尋址。這就需要在第一次通信時知道IEEE地址的前提下,獲取設(shè)備的網(wǎng)絡(luò)地址;以后采用網(wǎng)絡(luò)地址通信。這部分工作通過Chipcon的ZigBee協(xié)議棧實(shí)現(xiàn)。程序功能實(shí)現(xiàn)流程如圖4所示。接收數(shù)據(jù)時,首先射頻發(fā)射芯片監(jiān)聽信道中的數(shù)據(jù),通過判斷數(shù)據(jù)是否發(fā)送該設(shè)備。如果是,則讀取該數(shù)據(jù)到接收FIFO,然后觸發(fā),通過SPI總線將數(shù)據(jù)發(fā)送到MCU;通過MCU處理,去掉各層的幀頭,最后將數(shù)據(jù)存放到指定的緩存區(qū)中。

            

            3.3 接收端軟件實(shí)現(xiàn)

            接收端需要把數(shù)字語音信號還原為模擬信號。該系統(tǒng)充分利用MCU的功能,不采用分離的D/A器件,而是利用MCU的PWM功能,輔之外圍的5級Cheychey濾波器實(shí)現(xiàn)D/A變換。MCU時鐘頻率是8MHz,采用T/C2的8位快速PWM模式,每次PWM需要256個系統(tǒng)時鐘周期。在系統(tǒng)時鐘頻率為8MHz的情況下,PWM的頻率接近32kHz,采用與發(fā)送端相同時間的定時中斷,從而達(dá)到收發(fā)同步。用T/C3定時器,在125μs產(chǎn)生一次中斷,并在中斷處理程序中,將接收到的值發(fā)送到OCR2,發(fā)送到語音接收電路的濾波電路,實(shí)現(xiàn)濾波、放大,最后實(shí)現(xiàn)語音通信。在接收端開設(shè)兩個緩存區(qū),交替存儲發(fā)送端的語音幀數(shù)據(jù)。接收端程序流程如圖5所示。

            3.4 主從模式轉(zhuǎn)換

            以上分析的是主從模式。要進(jìn)行兩個模式的切換,只需要通過按鍵,并控制不同的寄存器初始化,即可實(shí)現(xiàn)模式的切換。

            4 結(jié) 論

            通過測試驗(yàn)證。該系統(tǒng)可以很好地實(shí)現(xiàn)實(shí)時語音短距離無線傳輸。該系統(tǒng)硬件簡單,沒有使用分離的A/D及D/A器件,使得成本更加低廉.功耗更低;同時由于ZigBee技術(shù)本身的低功耗、低成本特性,使得該系統(tǒng)在僅用電池供電的情況下,可以一次工作很長時間。將ZigBee應(yīng)用于消防、安全監(jiān)控領(lǐng)域,能夠提供更加方便、準(zhǔn)確的服務(wù)。

          濾波器相關(guān)文章:濾波器原理


          pwm相關(guān)文章:pwm是什么


          pa相關(guān)文章:pa是什么


          濾波器相關(guān)文章:濾波器原理


          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理


          低通濾波器相關(guān)文章:低通濾波器原理




          關(guān)鍵詞:  ZigBee

          評論


          相關(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); })();