基于RF2.4 GHz的超低功耗無線數(shù)傳系統(tǒng)設(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)容。本文引用地址:http://butianyuan.cn/article/157488.htm
EMl98810有兩種檢測(cè)收發(fā)數(shù)據(jù)包長(zhǎng)度的方法:一種是自動(dòng)在數(shù)據(jù)幀內(nèi)檢測(cè)出來,最大幀長(zhǎng)度不能超過255字節(jié)。先設(shè)置Reg57的第13位為1,則發(fā)送或接收數(shù)據(jù)區(qū)中的第1個(gè)字節(jié)就代表數(shù)據(jù)的長(zhǎng)度,幀控制器會(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ù)長(zhǎng)度超過63字節(jié),應(yīng)該分多次寫入。FIFO_flag=1表示FIFO為空,MSP430F247利用此信號(hào)作為中斷請(qǐng)求,保證發(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)檢測(cè)到同步字后會(huì)自動(dòng)進(jìn)行數(shù)據(jù)包的接收解碼,接收完成后進(jìn)入待機(jī)模式。如果接收數(shù)據(jù)超過63字節(jié),則有FIFO_flag=1,MSP430F247利用此信號(hào)作中斷請(qǐng)求以保證讀出數(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è)置為L(zhǎng)PM3模式,則系統(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í)際電路連接后測(cè)試,數(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ì)可以適合長(zhǎng)期進(jìn)行低功耗無線數(shù)據(jù)采集方面的應(yīng)用。
評(píng)論