低功耗非接触式射频读写器的设计与实现
CPU的运行时间对系统的功耗影响很大,所以应尽可能缩短其工作时间,使系统较长时间处于休眠或低功耗模式。当系统上电完成初始化操作后立即进入休眠模式,只有当红外接收管接收到信号时产生中断才打开天线进入工作模式。其中断服务程序如下:
#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有五种低功耗模式,本系统采用的是LPM_3,此时DC发生器的DC电流被关闭,只有晶振活动。用晶振做系统主时钟和定时器时钟源,对红外接收管脚中断使能定义,使红外发射管每隔0.24s发射一个0.03ms的脉冲,间断地检测在天线范围内是否有卡,有卡时红外接收管产生中断进入中断服务程序。这样让I/O口间歇运行既不影响正常读卡也能节省电能。
尽量减少CPU的运算量,将一些运算的结果预先算好,放在Flash里,用查表的方式代替实时计算,需要运算时最好使用分数运算,尽量避免浮点数运算。定义变量时,尽量使用字符型变量。减少CPU的运算量可以有效降低CPU的功耗。
总结
本文利用MSP430单片机的中断、定时、运算等功能,借助于软件优势,及MFRC522的低电压,小体积等特点,使读卡器读卡距离为0~60mm,休眠模式的电流10μA,工作模式时电流约为150mA,延长了电池的寿命,增加了系统可靠运行的时间。
评论