基于單片機低功耗主動式RFID標簽設計
引言
本文引用地址:http://m.butianyuan.cn/article/261090.htm射頻識別(RFID)技術近年來在國內外得到了迅速發(fā)展。對于需要電池供電的便攜式系統(tǒng),功耗也越來越受到人們的重視。本文將具體闡述基于MSP430F2012和CC1100低功耗設計理念的雙向主動式標簽的軟硬件實現(xiàn)方法。
低功耗設計
低功耗概述
功耗基本定義為能量消耗的速率,可分為瞬態(tài)功耗和平均功耗兩類。兩者意義不同,有不同的應用背景和優(yōu)化策略,通常被籠統(tǒng)地概括為低功耗設計。實際研究中可根據(jù)不同情況區(qū)分為:
(1)瞬態(tài)功耗優(yōu)化:目標是降低峰值功耗,解決電路可靠性問題。
(2)平均功耗優(yōu)化:目標是降低給定時間內的能量消耗,主要針對電池供電的便攜電子設備,以延長電池壽命或減輕設備重量。
功耗的物理來源
芯片電路的功耗主要來自兩方面:動態(tài)功耗和靜態(tài)功耗。動態(tài)功耗主要是電容的充放電和短路電流。靜態(tài)功耗主要是漏電流,包括PN結反向電流和亞閾值電流,以及穿透電流。如果工作時序及軟件算法設計有缺陷,會降低系統(tǒng)工作效率、延長工作時間,也會直接增加系統(tǒng)能量的消耗。
低功耗設計策略
算法級功耗優(yōu)化:在電路設計的開始,就要進行算法的選擇,應該盡量選擇功耗效率高的算法。首先,從實現(xiàn)算法所需邏輯的大小來看,算法中操作的數(shù)目、所需要的帶寬、存儲操作、端口操作越少,此算法應用到的電路功耗越低。在實際的設計中,需要按照應用的要求進行總體性能和功耗的均衡。同時,算法中需要的協(xié)處理必須考慮,算法所需的協(xié)處理越簡單、協(xié)作模塊越少、實現(xiàn)算法所需要的功耗就越小。此外,算法中臨時變量少、臨時變量有效的時間短、循環(huán)的合理運用都會降低算法所需的功耗。
系統(tǒng)級功耗設計與管理:系統(tǒng)級的功耗管理主要是動態(tài)功耗管理。通常的做法是處于空閑狀態(tài)的時候,運作于睡眠狀態(tài),只有部分設備處于工作之中;當產(chǎn)生一個中斷時,由這個中斷喚醒其它設備。實際上,這一部分需要硬件的支持,如:電源系統(tǒng)的低功耗技術;系統(tǒng)軟硬件的劃分,在于決定哪些功能模塊由軟件來實現(xiàn)功耗較小,哪些功能模塊由硬件實現(xiàn)功耗較小;低功耗處理器的選擇。
系統(tǒng)硬件設計
綜合考慮系統(tǒng)功耗來源與低功耗設計策略,硬件設計選擇具有低功耗特性的單片機及射頻收發(fā)芯片,并盡量簡化電路減少功耗開支。
主要芯片的選擇
MSP430系列單片機的結構完全以系統(tǒng)低功耗運行為核心,電源采用1.8~3.6V低電壓,活動模式耗電250μA/MIPS,RAM數(shù)據(jù)保持方式下耗電僅0.1μA。由于系統(tǒng)在90%以上的時間內都是處于休眠或低功耗狀態(tài),因此漏電流成為影響系統(tǒng)功耗的另一個重要因素,其I/O輸入端口的漏電流最大僅為50nA。加上有獨特的時鐘系統(tǒng)設計,包括兩個不同的時鐘系統(tǒng):基本時鐘系統(tǒng)和鎖頻環(huán)(FLL和FLL+)時鐘系統(tǒng)或DCO數(shù)字震蕩器時鐘系統(tǒng)。由時鐘系統(tǒng)產(chǎn)生CPU和各功能模塊所需的時鐘,并且這些時鐘可以在指令的控制下打開或關閉,從而實現(xiàn)對總體功耗的控制。由于系統(tǒng)運行時使用的模塊不同,即采用不同的工作模式,芯片的功耗會有明顯的差別。在系統(tǒng)中共有一種活動模式(AM)和五種低功耗模式(LPM0~LPM4)。另外,MSP430系列單片機采用矢量中斷,支持十多個中斷源,并可以任意嵌套。用中斷請求把CPU喚醒只需要6μs,通過合理編程,既可以降低系統(tǒng)功耗,又可以對外部請求做出快速響應。
射頻芯片是整個RFID卡最核心的部分,直接關系到標簽的讀寫距離和可靠性,同時也直接影響到整個系統(tǒng)的功耗。CC1100是Chipcon公司推出的單片UHF無線發(fā)射芯片,體積小,功耗低,數(shù)據(jù)速率支持1.2~500kbps的可編程控制,其工作電壓范圍為1.9~3.6V,可以工作在 915MHz.、868MHz.、433MHz和315MHz四個波段,還可通過程序配置在所有頻段提供-30~10dBm輸出功率內置地址解碼器、先入先出堆棧區(qū)、調制處理器、時鐘處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊。它具有兩種低功耗工作模式:關機模式和空閑模式,在關機模式下工作電流小于200nA。本文中CC1100工作在433MHz的頻率上,采用FSK調制方式,數(shù)據(jù)速率為100kbps,信道間隔為 200kHz。
電路設計
為簡化系統(tǒng)結構,本系統(tǒng)僅由必須的微處理器單元、射頻收發(fā)單元、天線及電池單元組成。省去電池到器件之間的穩(wěn)壓電路,直接由電池給系統(tǒng)供電。節(jié)省了穩(wěn)壓電路所帶來的靜態(tài)電流消耗,使電池壽命進一步延長。為防止發(fā)射狀態(tài)較大的電流造成電池電壓瞬態(tài)降低,使用較大容量電容與電池并聯(lián)。 MSP430F2012內部集成的零功耗欠壓復位(BOR)保護功能,可以在電壓低于安全操作范圍時執(zhí)行完全復位,很好地解決了單片機復位不完全而產(chǎn)生的隨機錯誤操作問題。
軟件設計
盡量用軟件來代替硬件也是低功耗系統(tǒng)設計常常采取的措施。本次程序開發(fā)綜合考慮了時序調度和工作效率兩方面問題,以降低系統(tǒng)的功耗。
合理設計工作時序
由于CPU的運行時間對系統(tǒng)的功耗影響極大,應盡可能縮短其工作時間,較長地處于空閑方式或掉電方式是軟件設計降低單片機系統(tǒng)功耗的關鍵。程序運行流程圖如圖2(a)、(b)所示,當系統(tǒng)上電完成初始化操作即刻進入低功耗模式,只在系統(tǒng)接收到正確信息產(chǎn)生中斷時才會喚醒單片機進入工作模式,盡量在短時間內完成對信息或數(shù)據(jù)的處理,當處理結束立即返回低功耗模式等待下一個中斷到來。
提高工作效率
用宏定義來代替子程序調用。因為CPU進入子程序時,會首先將當前CPU寄存器推入堆棧(RAM),在離開時又將CPU寄存器彈出堆棧,這樣至少帶來兩次對RAM的操作,所以讀RAM會比讀Flash帶來更大的功耗。用宏定義來代替子程序調用,無疑會降低系統(tǒng)的功耗。
盡量減少CPU的運算量,將一些運算的結果預先算好,放在Flash中,用查表的方法替代實時的計算,減少CPU的運算工作量,可以有效降低 CPU的功耗;不可避免的實時計算,精度夠了就結束;盡量使用短的數(shù)據(jù)類型:如盡量使用字符型的8位數(shù)據(jù)替代16位的整型數(shù)據(jù),盡量使用分數(shù)運算而避免浮點數(shù)運算等。
讓I/O模塊間歇運行,不用的I/O模塊或間歇使用的I/O模塊要及時關掉,以節(jié)省電能。不用的I/O引腳要設置成輸出或設置成輸入,用上拉電阻拉高。若引腳沒有初始化,可能會增大單片機的漏電流。
結論
本文詳細介紹了基于MSP430單片機的低功耗主動式RFID標簽的設計,合理地利用了MSP430單片機的中斷、定時、運算等功能,借助于軟件優(yōu)勢,對耗能較低的CC1100模塊采取限能工作措施,提高了電池的壽命,增加了系統(tǒng)可靠運行的時間,與其它設計功耗對比如圖3所示。這種主動式 RFID標簽的設計使RFID的性能得到了改進,它在很大程度上解決了遠距離、大流量、抗干擾、高速移動的標識物的識別難題。本設計完成的RFID標簽與配套的閱讀器可以組成人員或物品識別定位系統(tǒng),廣泛應用于采礦、工業(yè)生產(chǎn)、道路交通、物流運輸、醫(yī)療、醫(yī)藥、國防安全等眾多領域。
評論