低功耗非接觸式射頻讀寫(xiě)器的設計與實(shí)現
CPU的運行時(shí)間對系統的功耗影響很大,所以應盡可能縮短其工作時(shí)間,使系統較長(cháng)時(shí)間處于休眠或低功耗模式。當系統上電完成初始化操作后立即進(jìn)入休眠模式,只有當紅外接收管接收到信號時(shí)產(chǎn)生中斷才打開(kāi)天線(xiàn)進(jìn)入工作模式。其中斷服務(wù)程序如下:
#pragma vector=PORT2 _VECTOR__interrupt void Port_2(void)
{ LPM3_EXIT; //退出休眠
PcdAntennaOn(); //開(kāi)啟天線(xiàn)
PcdReset(); //RC522復位
P1OUT = 0xFF; //打開(kāi)SPI接口
station=1; //轉入工作模式
P2OUT|=BIT6; //LED亮
P2IFG= ~(BIT7); //清除標記}
圖3是程序運行的流程圖。

圖3是程序運行的流程圖。
MSP430有五種低功耗模式,本系統采用的是LPM_3,此時(shí)DC發(fā)生器的DC電流被關(guān)閉,只有晶振活動(dòng)。用晶振做系統主時(shí)鐘和定時(shí)器時(shí)鐘源,對紅外接收管腳中斷使能定義,使紅外發(fā)射管每隔0.24s發(fā)射一個(gè)0.03ms的脈沖,間斷地檢測在天線(xiàn)范圍內是否有卡,有卡時(shí)紅外接收管產(chǎn)生中斷進(jìn)入中斷服務(wù)程序。這樣讓I/O口間歇運行既不影響正常讀卡也能節省電能。
盡量減少CPU的運算量,將一些運算的結果預先算好,放在Flash里,用查表的方式代替實(shí)時(shí)計算,需要運算時(shí)最好使用分數運算,盡量避免浮點(diǎn)數運算。定義變量時(shí),盡量使用字符型變量。減少CPU的運算量可以有效降低CPU的功耗。
總結
本文利用MSP430單片機的中斷、定時(shí)、運算等功能,借助于軟件優(yōu)勢,及MFRC522的低電壓,小體積等特點(diǎn),使讀卡器讀卡距離為0~60mm,休眠模式的電流10μA,工作模式時(shí)電流約為150mA,延長(cháng)了電池的壽命,增加了系統可靠運行的時(shí)間。
評論