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