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