引言
射频识别(RFID)技术近年来在国内外得到了迅速发展。对于需要电池供电的便携式系统,功耗也越来越受到人们的重视。本文将具体阐述基于 MSP430 F2012和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~10 dBm输出功率内置地址解码器、先入先出堆栈区、调制处理器、时钟处理器、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标签与配套的阅读器可以组成人员或物品识别定位系统,广泛应用于采矿、工业生产、道路交通、物流运输、医疗、医药、国防安全等众多领域。