《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 根據(jù)RF2.4GHz的超低功耗無線數(shù)傳系統(tǒng)設(shè)計(jì)策略
根據(jù)RF2.4GHz的超低功耗無線數(shù)傳系統(tǒng)設(shè)計(jì)策略
摘要: 本文利用MSP430超低功耗單片機(jī)和2.4 GHz ISM頻段的射頻芯片EMl98810設(shè)計(jì)了一種低功耗的無線數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)使用干電池供電,可廣泛應(yīng)用于電池供電的自動(dòng)化數(shù)據(jù)采集系統(tǒng)、無線遙控、無線鼠標(biāo)、無線鍵盤、無線電子標(biāo)簽、遙控玩具,以及水、氣、熱、電等居民計(jì)量表具無線遠(yuǎn)傳自動(dòng)抄表。
Abstract:
Key words :
</a>通信" title="通信">通信" title="通信">通信" title="通信">通信技術(shù)已經(jīng)成為一大熱點(diǎn),而系統(tǒng)設(shè)計(jì)的微型化、低功耗成為發(fā)展的必然趨勢。在保證系統(tǒng)工作可靠性的前提下,如何實(shí)現(xiàn)系統(tǒng)低功耗是無線數(shù)據(jù)傳輸系統(tǒng)亟待解決的一個(gè)主要問題。本文利用MSP430超低功耗單片機(jī)和2.4 GHz ISM頻段的射頻芯片EMl98810設(shè)計(jì)了一種低功耗的無線數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)使用干電池供電,可廣泛應(yīng)用于電池供電的自動(dòng)化數(shù)據(jù)采集系統(tǒng)、無線遙控、無線鼠標(biāo)、無線鍵盤、無線電子標(biāo)簽、遙控玩具,以及水、氣、熱、電等居民計(jì)量表具無線遠(yuǎn)傳自動(dòng)抄表。

      1 系統(tǒng)概述

      目前在2.4 GHz頻段的集成射頻芯片有多種,性能各有差異,表1列出了幾種常用芯片的性能特點(diǎn)。

      本系統(tǒng)采用MSP430F247單片機(jī)和EMC公司的EMl98810芯片進(jìn)行設(shè)計(jì)。MSP430系列單片機(jī)是一個(gè)16位精簡指令集(RISC)微處理器。它具有豐富的尋址方式(7種源操作數(shù)尋址,4種目的操作數(shù)尋址),簡潔的27條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算;具有高效的查表處理指令;有較高的處理速度,在8 MHz晶振驅(qū)動(dòng)下指令周期為125 ns;中斷源較多,并且可以任意嵌套;當(dāng)系統(tǒng)處于省電的備用狀態(tài)時(shí),用中斷請求喚醒只用6μs。MSP430系列單片機(jī)的電源電壓采用1.8~3.6 V,其在1 MHz的時(shí)鐘條件下運(yùn)行時(shí),芯片的電流為200~400μA左右,時(shí)鐘關(guān)斷模式最低只有O.1 μA。

      EMl98810芯片內(nèi)建2.4 GHz GFSK射頻收發(fā)器,帶有8位數(shù)據(jù)幀無線收發(fā)功能,前導(dǎo)區(qū)可以設(shè)置為1~8字節(jié),支持1~4個(gè)字地址(最多可達(dá)64位),最大數(shù)據(jù)傳輸速率為1 Mbps,允許長數(shù)據(jù)包傳送;頻率范圍為2 400~2 482 MHz(81信道),傳輸距離100 m(PCB天線),RF" title="RF">RF輸出功率2 dBm,接收靈敏度在-85 dBm以上,采用SPI數(shù)字編程接口,接口電壓為2.5~3.7 V。該芯片發(fā)射功率可數(shù)字編程調(diào)節(jié),通過寄存器的設(shè)置很容易實(shí)現(xiàn)低功耗模式;內(nèi)建多種糾檢錯(cuò)功能,采用各種有效載荷數(shù)據(jù)格式來消除直流漂移量;支持FEC的1/3、2/3糾檢錯(cuò)功能和CRC16檢錯(cuò)功能。內(nèi)部具有FIFO和DIRECT兩種工作模式:FIFO模式簡單易用,對(duì)MCU要求不高,發(fā)射和接收各有64字節(jié)的緩沖區(qū),一次發(fā)送、接收可以最多處理64字節(jié)數(shù)據(jù);DIRECT模式對(duì)MCU要求較高,需要MCU處理各種糾檢錯(cuò)功能。

      2 系統(tǒng)設(shè)計(jì)

      2.1 系統(tǒng)硬件設(shè)計(jì)

      圖1是MSP430F247單片機(jī)和EMl98810的連接示意圖,通過SPI總線與RF芯片相連。實(shí)際電路連接如圖2所示。

 


      2.2 系統(tǒng)軟件設(shè)計(jì)

      數(shù)據(jù)包格式如下:

      其中,前導(dǎo)區(qū)可配置為1~8字節(jié),同步字可配置為16、32、48或64位;前導(dǎo)尾區(qū)可配置為4、6、8……18位;數(shù)據(jù)區(qū)可為NRZ碼、Manch-ester碼、8/10位碼、帶FEC的數(shù)據(jù)4種格式。

      系統(tǒng)上電后,先使EMl98810的RESET_n引腳為低電平,以保證芯片有效復(fù)位;再使此引腳為高電平,BRCLK腳會(huì)產(chǎn)生12 MHz的時(shí)鐘;然后進(jìn)行相關(guān)寄存器初始化。初始化程序流程如圖3所示。

      其中,Reg48為數(shù)據(jù)幀格式配置寄存器,需要設(shè)置前導(dǎo)區(qū)的長度(默認(rèn)為3字節(jié)),同步字長度默認(rèn)為64位,前導(dǎo)尾默認(rèn)長度為4位,數(shù)據(jù)默認(rèn)為NRZ格式。該寄存器的第2位為1則配置為睡眠模式,第3位為1則配置為待機(jī)模式。Reg49~51用于設(shè)置發(fā)射和接收的延遲時(shí)間。Reg52~55用于設(shè)置同步控制字,默認(rèn)全部為0000H。Reg57用于配置是否啟用CRC校驗(yàn)、包長度控制方式等。Reg48~57詳細(xì)配置數(shù)據(jù)如下:

      Reg0~28主要是配置發(fā)射功率、VCO、RSSI、接收延時(shí)、通道選擇與控制、AMS測試及控制、BPF和AGC控制、發(fā)射與接收數(shù)據(jù)控制、直流漂移控制、PLL同步控制、數(shù)據(jù)收發(fā)的時(shí)序控制、N/VCO參數(shù)控制、時(shí)鐘等。Reg0~28詳細(xì)配置數(shù)據(jù)如下:

      Reg0~28初始化完成后再延時(shí)2 ms,就可以直接進(jìn)行數(shù)據(jù)的收發(fā)了。特別要注意的是,幀寄存器Reg48~57必須在RFIC寄存器Reg0~28之前初始化。所有寄存器讀寫和收發(fā)的數(shù)據(jù)都是通過SPI接口進(jìn)行的,并且只支持從模式,SPI操作時(shí)序如圖4所示。在芯片第28腳LDO_TUNE接地時(shí)(R1斷開,R2接O Ω電阻),其數(shù)據(jù)在SPI_CLK時(shí)鐘的上升沿有效;當(dāng)LDO_TUNE接VDD時(shí)(R2斷開,R1接0 Ω電阻),數(shù)據(jù)在SPI_CLK時(shí)鐘的下降沿有效。只要SPI_SS為高電平,寄存器中的數(shù)據(jù)就保持不變;只有SPI_SS為低電平時(shí),才能重新改寫寄存器中的內(nèi)容。


      EMl98810有兩種檢測收發(fā)數(shù)據(jù)包長度的方法:一種是自動(dòng)在數(shù)據(jù)幀內(nèi)檢測出來,最大幀長度不能超過255字節(jié)。先設(shè)置Reg57的第13位為1,則發(fā)送或接收數(shù)據(jù)區(qū)中的第1個(gè)字節(jié)就代表數(shù)據(jù)的長度,幀控制器會(huì)自動(dòng)控制收發(fā)開始與停止。另外一種是保持發(fā)射或接收的狀態(tài)不變,通過外接MSP430F247來控制數(shù)據(jù)包的正確發(fā)送與接收。

      發(fā)送數(shù)據(jù)流程如圖5所示。在發(fā)射數(shù)據(jù)時(shí),先設(shè)置Reg7的第8位為1,允許在內(nèi)部狀態(tài)機(jī)控制下進(jìn)入數(shù)據(jù)發(fā)射狀態(tài),再設(shè)置Reg7的O~6位為所選通道。在發(fā)送前導(dǎo)尾區(qū)數(shù)據(jù)前,MSP430F247必須將數(shù)據(jù)放人FIFO中,如果數(shù)據(jù)長度超過63字節(jié),應(yīng)該分多次寫入。FIFO_flag=1表示FIFO為空,MSP430F247利用此信號(hào)作為中斷請求,保證發(fā)送數(shù)據(jù)寫入FIF0的實(shí)時(shí)性,在數(shù)據(jù)發(fā)送完成后PKT_flag=1。

      如果設(shè)置Reg7[7]=1和Reg7[O~6]為與發(fā)射相同的通道,則芯片進(jìn)入自動(dòng)接收狀態(tài),接收數(shù)據(jù)流程如圖6所示。當(dāng)檢測到同步字后會(huì)自動(dòng)進(jìn)行數(shù)據(jù)包的接收解碼,接收完成后進(jìn)入待機(jī)模式。如果接收數(shù)據(jù)超過63字節(jié),則有FIFO_flag=1,MSP430F247利用此信號(hào)作中斷請求以保證讀出數(shù)據(jù)的實(shí)時(shí)性。

      在進(jìn)行超低功耗設(shè)計(jì)時(shí),MSP430F247可以設(shè)置定時(shí)器中斷。平常處于LPM3或LPM4模式,要發(fā)送數(shù)據(jù)時(shí)產(chǎn)生定時(shí)器中斷,同時(shí)控制EMl98-810處于待機(jī)或睡眠模式。MSP430F247工作在LPM3模式下電流為O.8μA左右,LPM4模式下電流為0.1μA左右。EMl98810正常情況下發(fā)射電流26 mA,接收電流25 mA,待機(jī)電流1.9mA;睡眠模式下為3.5μA。若將EMl98810設(shè)置為睡眠模式,將MSP430F247設(shè)置為LPM3模式,則系統(tǒng)耗電僅為4.3μA,使用干電池供電完全可行。

      MSP430F247通過SPI接口與EMl98810相連,進(jìn)入LPM3模式和退出LPM3模式的程序如下:

      將EMl98810的Reg48的第2位設(shè)置為1,并將SPI_SS設(shè)為高電平,則進(jìn)入睡眠模式;如再將SPI_SS設(shè)為低電平,則EMl98810會(huì)自動(dòng)喚醒,退出睡眠模式。

      結(jié)語

      經(jīng)過實(shí)際電路連接后測試,數(shù)據(jù)發(fā)送端在進(jìn)行500kbps速率下連續(xù)發(fā)送數(shù)據(jù)時(shí),整個(gè)系統(tǒng)電流為28.2 mA,接收數(shù)據(jù)端的電流為26.1 mA;當(dāng)發(fā)射端進(jìn)入到睡眠模式時(shí)電流為5.2μA;當(dāng)接收端進(jìn)入待機(jī)狀態(tài)LPM3后,整個(gè)系統(tǒng)電流為l.9 mA。按照2節(jié)干電池容量1 300 mAh計(jì)算,間隔1 min發(fā)送100字節(jié)數(shù)據(jù),考慮單片機(jī)模式切換時(shí)間,則在500 kbps速率下:

      發(fā)送數(shù)據(jù)所需時(shí)間為5 ms,1小時(shí)耗能:

      28.2mA×5ms×60次=8460(mA·ms)

      睡眠模式下1小時(shí)耗能:

      5.2μA×3600S×1000ms=18720(mA·ms)

      發(fā)送狀態(tài)下可以工作的時(shí)間為:

      (1300mA×3600S×1000ms)/(18720+8460)=172185h

      即2節(jié)干電池供電時(shí)可以工作20年。同樣,可以計(jì)算出接收狀態(tài)下可以工作683小時(shí)(大約28天)。因此本設(shè)計(jì)可以適合長期進(jìn)行低功耗無線數(shù)據(jù)采集方面的應(yīng)用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。