MSP430和CC1101的電磁波喚醒功能設(shè)計(jì)
摘要:為了實(shí)現(xiàn)在低功耗前提下將有效數(shù)據(jù)以無線方式進(jìn)行傳輸,設(shè)計(jì)了一種基于超低功耗MSP430微控制器和無線收發(fā)模塊CC1101的無線傳輸系統(tǒng),該系統(tǒng)利用MSP430靈活的定時(shí)器和CC1101特有的電磁波喚醒Wake On Radi,WOR)功能,最終實(shí)現(xiàn)了單片機(jī)在超低功耗前提下將數(shù)據(jù)在電腦上顯示出來。其中,WOR實(shí)現(xiàn)的難點(diǎn)是對CC1101寄存器的配置,以及其從深度睡眠模式喚醒時(shí)間和開始接收數(shù)據(jù)模式的時(shí)間的計(jì)算。
引言
隨著計(jì)算機(jī)通信技術(shù)的迅速發(fā)展和因特網(wǎng)的廣泛應(yīng)用,尤其是工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛,物與物之間能夠直接通信就變得愈加重要。特別是在倉儲系統(tǒng)中,目前主要使用無源RFID(Radio Frequency Identifcation)電子標(biāo)簽,因?yàn)槭艿阶R別距離和識別條件的影響(例如,必須使標(biāo)簽離閱讀器很近并且要正對著閱讀器),使用起來會比較麻煩。有源RFID雖然能夠克服這個(gè)缺點(diǎn),但是因?yàn)樾枰娫?,所以必須保證通信的低功耗,才能使有源RFID得到廣泛地應(yīng)用。而MSP430 MCU專門為超低功耗應(yīng)用而特別設(shè)計(jì),其具有高度靈活的定時(shí)系統(tǒng)、多種低功耗模式、即時(shí)喚醒以及智能化自主型外設(shè),不僅可以實(shí)現(xiàn)真正的超低功耗優(yōu)化,而且還能大幅延長電池的使用壽命。CC1101的WOR功能可以使芯片在無需MCU干預(yù)下周期性地從深度睡眠模式醒來偵聽潛在的數(shù)據(jù)包,同時(shí)在深度睡眠模式下,CC1101的功耗幾乎為0。
正是出于這種考慮,本文提出了一種基于MSP430和CC1101的無線喚醒數(shù)據(jù)傳輸系統(tǒng),并且能將被喚醒的ED(Ending Device)的MAC(Media Access Control)地址通過串口顯示在電腦上。
1 系統(tǒng)的總體結(jié)構(gòu)
圖1為電磁波喚醒總體設(shè)計(jì)方案。它主要由3部分組成:多個(gè)被喚醒對象即ED、用于數(shù)據(jù)傳遞的AP(Access Point)、用于數(shù)據(jù)采集或者發(fā)送命令的終端設(shè)備(如電腦)或者手持設(shè)備等。
終端設(shè)備通過UART(Universal Asynchronous Receiver/Transmitter)向AP發(fā)送指令,AP根據(jù)指令向ED發(fā)送命令,ED接收到AP發(fā)送的命令后,立即從深度睡眠狀態(tài)被喚醒進(jìn)入到工作狀態(tài),然后將自己的MAC地址通過CC1101發(fā)送給AP,AP對收到的MAC信息進(jìn)行處理后通過UART發(fā)送給終端設(shè)備顯示出來。整個(gè)過程實(shí)現(xiàn)的是AP發(fā)送數(shù)據(jù),ED接收數(shù)據(jù),然后ED發(fā)送數(shù)據(jù),AP接收數(shù)據(jù),進(jìn)而實(shí)現(xiàn)最終的顯示。
2 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
圖2為電磁波喚醒的部分硬件結(jié)構(gòu)。MCU采用的是TI公司的MSP430系列單片機(jī),通過CC1101無線射頻收發(fā)芯片實(shí)現(xiàn)無線數(shù)據(jù)的接收和發(fā)送,然后通過有線或者無線方式與終端設(shè)備進(jìn)行連接。
3 系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
智能終端ED和AP是以無線射頻信號方式進(jìn)行數(shù)據(jù)通信的。AP先發(fā)送包含MAC信息的WOR指令,當(dāng)收到AP發(fā)送過來的指令時(shí),ED被喚醒,發(fā)送自己的MAC地址給AP,然后AP判斷接收到的MAC是否符合要求。如果符合,那么就讓相應(yīng)的ED閃燈,如果不符合要求,則AP發(fā)送使ED繼續(xù)進(jìn)入睡眠狀態(tài)的指令,即進(jìn)入低功耗模式。圖3和圖4分別是AP和ED的軟件流程圖。
4 系統(tǒng)的低功耗設(shè)計(jì)
本系統(tǒng)的MCU采用MSP430,當(dāng)其處于等待指令的LPM3低功耗模式時(shí),此時(shí)ED的電流大約是10μA,因此整個(gè)系統(tǒng)低功耗設(shè)計(jì)的關(guān)鍵是對CC1101的WOR的使用。當(dāng)它處于接收狀態(tài)時(shí),其工作電流為12.5 mA左右;如果始終處于接收狀態(tài),整個(gè)系統(tǒng)的供電電池會很快耗盡。為了解決這個(gè)問題,可以將系統(tǒng)的工作模式設(shè)置為定時(shí)工作模式,在持定的工作時(shí)間段內(nèi),啟用WOR,系統(tǒng)會自動處于偵聽狀態(tài)(即接收狀態(tài))。這樣,就需要兩個(gè)時(shí)間參數(shù)T0(最長工作周期)和T1(最長接收時(shí)間)以及接收的占空比d(Duty Cycle)。降低功耗的關(guān)鍵就是降低占空比。設(shè)定每2 s醒一次,每次持續(xù)3.5 ms。喚醒ED時(shí)要先發(fā)送前導(dǎo)字,時(shí)長要保證喚醒終端CC1101的時(shí)間周期2 s,并且,在連續(xù)兩個(gè)周期(7 ms)內(nèi)沒有收到同步字和幀起始碼,則認(rèn)為是無效的數(shù)據(jù),重新進(jìn)入WOR狀態(tài)。如此設(shè)定后,整個(gè)系統(tǒng)的平均工作電流為35μA左右。這樣一來普通的500mAh紐扣電池就能使用很長時(shí)間。
結(jié)語
經(jīng)過實(shí)驗(yàn)驗(yàn)證,本文設(shè)計(jì)的基于MSP430和CC1101的電磁波喚醒系統(tǒng)能夠保證在低功耗下進(jìn)行數(shù)據(jù)的無線傳輸。結(jié)合實(shí)際需要對該系統(tǒng)進(jìn)行改造,在倉儲及尋貨等方面有重要的現(xiàn)實(shí)意義。