低功耗非接觸式射頻讀寫器的設計與實現(xiàn)
CPU的運行時間對系統(tǒng)的功耗影響很大,所以應盡可能縮短其工作時間,使系統(tǒng)較長時間處于休眠或低功耗模式。當系統(tǒng)上電完成初始化操作后立即進入休眠模式,只有當紅外接收管接收到信號時產生中斷才打開天線進入工作模式。其中斷服務程序如下:
#pragma vector=PORT2 _VECTOR__interrupt void Port_2(void)
{ LPM3_EXIT; //退出休眠
PcdAntennaOn(); //開啟天線
PcdReset(); //RC522復位
P1OUT = 0xFF; //打開SPI接口
station=1; //轉入工作模式
P2OUT|=BIT6; //LED亮
P2IFG= ~(BIT7); //清除標記}
圖3是程序運行的流程圖。
圖3是程序運行的流程圖。
MSP430有五種低功耗模式,本系統(tǒng)采用的是LPM_3,此時DC發(fā)生器的DC電流被關閉,只有晶振活動。用晶振做系統(tǒng)主時鐘和定時器時鐘源,對紅外接收管腳中斷使能定義,使紅外發(fā)射管每隔0.24s發(fā)射一個0.03ms的脈沖,間斷地檢測在天線范圍內是否有卡,有卡時紅外接收管產生中斷進入中斷服務程序。這樣讓I/O口間歇運行既不影響正常讀卡也能節(jié)省電能。
盡量減少CPU的運算量,將一些運算的結果預先算好,放在Flash里,用查表的方式代替實時計算,需要運算時最好使用分數(shù)運算,盡量避免浮點數(shù)運算。定義變量時,盡量使用字符型變量。減少CPU的運算量可以有效降低CPU的功耗。
總結
本文利用MSP430單片機的中斷、定時、運算等功能,借助于軟件優(yōu)勢,及MFRC522的低電壓,小體積等特點,使讀卡器讀卡距離為0~60mm,休眠模式的電流10μA,工作模式時電流約為150mA,延長了電池的壽命,增加了系統(tǒng)可靠運行的時間。
評論