基于有源RFID的极低功耗温湿度传感标签的设计
作者:孟海斌,张红雨
来源:RFID世界网
日期:2011-07-22 16:19:58
摘要:提出了可以显著降低功耗的有源RFID标签工作流程,设计出一种极低功耗的温湿度传感标签。该标签采用微控制器PIC24F16KA102为核心,以温湿度传感器SHT21S和射频收发芯片nRF24L01为外围器件,完成温湿度及电池电量信息的检测和发送。该有源标签在开阔场地的有效阅读距离可以达到80 m左右,标签连续工作时的电池寿命为9年以上,具有体积小、寿命长等优点,可广泛应用于生产车间的温湿度监测、冷链物流、医疗系统、仓储物资管理等方面。
射频识别技术RFID(Radio Frequency Identification)是通过射频信号对某个目标的ID进行自动识别得到对象信息,并获取相关数据的技术。不同于传统的磁卡和IC卡,RFID技术解决了无源和免接触两大问题,同时它可实现运动目标和多目标识别,能够广泛应用于各类场合。其突出优点是环境适应性强、能够穿透非金属材质、数据存储量大、抗干扰能力强。根据供电方式的不同,可以将RFID分为两类:无源RFID和有源RFID。无源RFID工作时,标签通过读写器的电磁场获得能量,标签本身不需要电池。有源RFID则恰恰相反,需要提供全部器件工作所需的电源[1],电子标签需要自备电池。与无源标签相比,有源RFID温湿度标签有着对阅读器的发射功率要求低、有效阅读距离远的优点,因此在冷链物流、医疗系统、仓储物资管理、疫苗生产物流、卫生防疫系统、科研机构等方面有着十分广泛的应用。但有源RFID温湿度传感标签对使用寿命、可靠性、体积等方面有较高的要求。因此,设计一个寿命长、可靠性高、体积小的有源RFID温湿度传感标签在国民生活中有着十分重要的意义。本文主要解决了有源标签设计的低功耗问题。
1 有源RFID系统组成及工作原理
有源RFID系统由有源标签、阅读器和应用系统三部分组成,如图1所示。有源标签具有唯一的身份识别码(即ID),一些有源标签内部还集成了传感器,用于对特定物理量的测量。在阅读器的有效工作范围内,电子标签主动地将自己的ID和所测得的物理量以电磁波的形式发送给阅读器,阅读器将相关信息存储在自己的存储设备中,存储在阅读器中的数据可以通过以太网口、RS-232、USB等通信接口传送给应用系统,以便对数据进行进一步处理[2]。
2.1 结构
本文所设计的有源温湿度传感标签的结构框图如图2所示。有源标签的核心是一个微控制器(MCU),射频模块通过天线进行射频信号的收/发;EEPROM存储标签的身份识别码以及物品的属性等信息;温度检测和湿度检测分别用来检测标签所处环境的温度和湿度,为简化设计,可以使用集温湿度检测于一体的芯片;电量检测模块通过检测电池的电压,并根据电池电量和电压的对照关系,间接地检测出电池的剩余电量;电池为各个模块的正常工作提供电源。
2.2.1 主控模块:主控模块采用Microchip公司型号为PIC24F16KA102的16 bit超低功耗单片机。该系列的MCU采用nanoWatt XLP(eXtreme Low Power)极低功耗技术,其典型休眠电流可以低至20 nA,实时时钟电流低至490 nA,看门狗定时器电流低至370 nA[3]。MCU可连续运行20年以上而无需更换电池,成为业界8 bit和16 bit MCU中低功耗性能最突出的MCU。该单片机具有SPI、I2C、UART、9个模拟输入通道、3个16 bit定时器/计数器、3个外部中断[3],完全可以满足有源标签的需求。MCU与标签通过SPI接口进行串行通信,如图3所示。图3中的J1是PIC 24F16KA102单片机用于下载和调试程序所用的ICSP接口。
nRF24L01是一款工作在2.4 GHz~2.5 GHz世界通用ISM 频段的单片无线收发器芯片。nRF24L01主要由调制/解调器、CRC编码/解码器、GFSK滤波器、中频带通滤波器、功率放大器、低噪声放大器(LNA)、先进先出缓冲器(FIFO)组成[4]。通过SPI接口与MCU进行通信,其电路图如图4所示。nRF24LOT射频收发芯片有以下优点:
(1)具有125个可选工作频道,可用于跳频工作方式,能够有效地降低周围环境的干扰。
(2)采用QFN20封装面积仅为4 mm×4 mm,占用较小的PCB面积。
(3)低功耗。当工作在发射模式下发射功率为-6 dBm时,电流消耗为9.0 mA,接收模式时为12.3 mA,掉电模式和待机模式下电流消耗更低。
(4)具有自动应答和自动重发功能。
(5)较高的数据传输速率。处于ShockBurstTM模式时为1 Mb/s,处于增强型ShockBurstTM模式时为2 Mb/s。
2.2.5 电量检测:电量检测采用MCU内部的高低电压检测HLVD(High/Low-Voltage Detect)功能,通过编程可以设定产生该中断的电压值,这样既解决了使用A/D检测电压没有内部参考源的问题,又在一定程度上降低了功耗。
3 软件设计
3.1 发送数据包的格式
发送数据包的格式如图6所示。前导码用来进行同步,仅在发送模式下使用;标志位用来进行包识别,9 bit中仅仅用到其中的2 bit,剩余的7 bit保留;数据是要传送/接收的1 B~32 B宽度的物品识别信息,对于本设计,指的是要检测的温湿度以及电池的剩余电量信息;CRC校验选择生成多项式为X16+X12+X5+X1的16 bit CRC校验。
3.2 标签工作流程
为达到超低功耗的目的,标签有两种工作流程:(1)正常的工作流程,检测出所需的物理量并打包发送,时间间隔是10 s(在程序中可自行设定)一次,每发送完一次即进入深度睡眠模式,达到10 s后通过定时器唤醒,唤醒后程序从复位向量处重新执行;(2)进入深度休眠状态,通过外部中断0(即INT0,外接nRF24L01的中断请求IRQ)进行唤醒,唤醒后重新从复位向量处执行。标签主程序流程图如图7所示。
4 系统测试
4.1 功耗测试与估算
首先要通过PIC单片机的集成开发环境MPLAB IDE V8.46的软件仿真器测定单片机在初始化、温湿度检测等工作过程分别所需要的时间;其次,用示波器测试nRF24L01在各个工作过程所持续的时间和所消耗的电流;然后将以上测定的数据,输入Microchip公司的极低功耗电池寿命估算软件(Microchip XLP Battery Life Estimator)中,如图8所示。
标签寿命的计算是基于平均电流的,即标签的理论寿命等于电池的容量(mAh)除以标签消耗的平均电流(mA)。平均电流的定义如下:
需要注意的是,实际寿命的计算要考虑标签所用电池的自放电率(本设计的软件给出的估算时间已经考虑了所选电池本身的自放电率)。估算中采用225 mAh的LiMnO2电池,计算得到的电池寿命是2年263天19小时,实际采用的电池是750 mAh的锰锂电池,通过换算得到使用750 mAh的锰锂电池的标签寿命约是9.08年。如果考虑到电池的实际自放电率(比本软件中给出的稍大些),实际电池寿命会短一些。本计算得到的寿命是让标签处在日夜不停的连续工作状态(即每隔10 s检测出温湿度和电池电压然后进行发送)的寿命,即考虑的是最坏的可能。实际的标签可能只在一天的某个时间段内工作,不工作时即进入深度休眠状态,处理器消耗的功率只在nA级。
4.2 整机测试
调试时使用MCU的串口通信方式将收到的标签ID、温湿度及电池电量信息实时显示在上位机软件中,当发送端每10 s发送一次ID和相关数据时,接收标签能够按照既定的时间间隔正确地接收数据并实时显示在上位机软件中。经与标准仪器对比,所测温湿度数据的精度可满足要求。
当软件中设定发射功率为0 dBm时,在开阔的试验场地测试测得通信距离为80 m左右;在封闭楼道内测试的通信距离在30 m~40 m。
有源电子标签对低功耗性能指标要求极高,因为即使是1 ?滋A的静态电流在很长时间内也会消耗较多的电量,所以在硬件选型上应该特别注意这一点。如果需要设计一个低功耗性能突出的系统,在软硬件方面都需要认真考虑,硬件的低功耗性能至关重要,软件的低功耗措施也必不可少,尤其是需要长时间工作的系统,利用器件的休眠或待机状态能极大地降低系统的功耗。该有源温湿度传感标签已经用在某公司生产车间的温湿度监测系统中,并取得了很好的低功耗效果。
1 有源RFID系统组成及工作原理
有源RFID系统由有源标签、阅读器和应用系统三部分组成,如图1所示。有源标签具有唯一的身份识别码(即ID),一些有源标签内部还集成了传感器,用于对特定物理量的测量。在阅读器的有效工作范围内,电子标签主动地将自己的ID和所测得的物理量以电磁波的形式发送给阅读器,阅读器将相关信息存储在自己的存储设备中,存储在阅读器中的数据可以通过以太网口、RS-232、USB等通信接口传送给应用系统,以便对数据进行进一步处理[2]。
图一 有源RFID系统原理
2.1 结构
本文所设计的有源温湿度传感标签的结构框图如图2所示。有源标签的核心是一个微控制器(MCU),射频模块通过天线进行射频信号的收/发;EEPROM存储标签的身份识别码以及物品的属性等信息;温度检测和湿度检测分别用来检测标签所处环境的温度和湿度,为简化设计,可以使用集温湿度检测于一体的芯片;电量检测模块通过检测电池的电压,并根据电池电量和电压的对照关系,间接地检测出电池的剩余电量;电池为各个模块的正常工作提供电源。
图2 有源温湿度传感标签的结构框图
2.2.1 主控模块:主控模块采用Microchip公司型号为PIC24F16KA102的16 bit超低功耗单片机。该系列的MCU采用nanoWatt XLP(eXtreme Low Power)极低功耗技术,其典型休眠电流可以低至20 nA,实时时钟电流低至490 nA,看门狗定时器电流低至370 nA[3]。MCU可连续运行20年以上而无需更换电池,成为业界8 bit和16 bit MCU中低功耗性能最突出的MCU。该单片机具有SPI、I2C、UART、9个模拟输入通道、3个16 bit定时器/计数器、3个外部中断[3],完全可以满足有源标签的需求。MCU与标签通过SPI接口进行串行通信,如图3所示。图3中的J1是PIC 24F16KA102单片机用于下载和调试程序所用的ICSP接口。
图3 主控模块
nRF24L01是一款工作在2.4 GHz~2.5 GHz世界通用ISM 频段的单片无线收发器芯片。nRF24L01主要由调制/解调器、CRC编码/解码器、GFSK滤波器、中频带通滤波器、功率放大器、低噪声放大器(LNA)、先进先出缓冲器(FIFO)组成[4]。通过SPI接口与MCU进行通信,其电路图如图4所示。nRF24LOT射频收发芯片有以下优点:
(1)具有125个可选工作频道,可用于跳频工作方式,能够有效地降低周围环境的干扰。
(2)采用QFN20封装面积仅为4 mm×4 mm,占用较小的PCB面积。
(3)低功耗。当工作在发射模式下发射功率为-6 dBm时,电流消耗为9.0 mA,接收模式时为12.3 mA,掉电模式和待机模式下电流消耗更低。
(4)具有自动应答和自动重发功能。
(5)较高的数据传输速率。处于ShockBurstTM模式时为1 Mb/s,处于增强型ShockBurstTM模式时为2 Mb/s。
图4 RF模块
图5 温湿度检测模块
{$page$}
2.2.5 电量检测:电量检测采用MCU内部的高低电压检测HLVD(High/Low-Voltage Detect)功能,通过编程可以设定产生该中断的电压值,这样既解决了使用A/D检测电压没有内部参考源的问题,又在一定程度上降低了功耗。
3 软件设计
3.1 发送数据包的格式
发送数据包的格式如图6所示。前导码用来进行同步,仅在发送模式下使用;标志位用来进行包识别,9 bit中仅仅用到其中的2 bit,剩余的7 bit保留;数据是要传送/接收的1 B~32 B宽度的物品识别信息,对于本设计,指的是要检测的温湿度以及电池的剩余电量信息;CRC校验选择生成多项式为X16+X12+X5+X1的16 bit CRC校验。
3.2 标签工作流程
为达到超低功耗的目的,标签有两种工作流程:(1)正常的工作流程,检测出所需的物理量并打包发送,时间间隔是10 s(在程序中可自行设定)一次,每发送完一次即进入深度睡眠模式,达到10 s后通过定时器唤醒,唤醒后程序从复位向量处重新执行;(2)进入深度休眠状态,通过外部中断0(即INT0,外接nRF24L01的中断请求IRQ)进行唤醒,唤醒后重新从复位向量处执行。标签主程序流程图如图7所示。
4 系统测试
4.1 功耗测试与估算
首先要通过PIC单片机的集成开发环境MPLAB IDE V8.46的软件仿真器测定单片机在初始化、温湿度检测等工作过程分别所需要的时间;其次,用示波器测试nRF24L01在各个工作过程所持续的时间和所消耗的电流;然后将以上测定的数据,输入Microchip公司的极低功耗电池寿命估算软件(Microchip XLP Battery Life Estimator)中,如图8所示。
标签寿命的计算是基于平均电流的,即标签的理论寿命等于电池的容量(mAh)除以标签消耗的平均电流(mA)。平均电流的定义如下:
需要注意的是,实际寿命的计算要考虑标签所用电池的自放电率(本设计的软件给出的估算时间已经考虑了所选电池本身的自放电率)。估算中采用225 mAh的LiMnO2电池,计算得到的电池寿命是2年263天19小时,实际采用的电池是750 mAh的锰锂电池,通过换算得到使用750 mAh的锰锂电池的标签寿命约是9.08年。如果考虑到电池的实际自放电率(比本软件中给出的稍大些),实际电池寿命会短一些。本计算得到的寿命是让标签处在日夜不停的连续工作状态(即每隔10 s检测出温湿度和电池电压然后进行发送)的寿命,即考虑的是最坏的可能。实际的标签可能只在一天的某个时间段内工作,不工作时即进入深度休眠状态,处理器消耗的功率只在nA级。
4.2 整机测试
调试时使用MCU的串口通信方式将收到的标签ID、温湿度及电池电量信息实时显示在上位机软件中,当发送端每10 s发送一次ID和相关数据时,接收标签能够按照既定的时间间隔正确地接收数据并实时显示在上位机软件中。经与标准仪器对比,所测温湿度数据的精度可满足要求。
当软件中设定发射功率为0 dBm时,在开阔的试验场地测试测得通信距离为80 m左右;在封闭楼道内测试的通信距离在30 m~40 m。
有源电子标签对低功耗性能指标要求极高,因为即使是1 ?滋A的静态电流在很长时间内也会消耗较多的电量,所以在硬件选型上应该特别注意这一点。如果需要设计一个低功耗性能突出的系统,在软硬件方面都需要认真考虑,硬件的低功耗性能至关重要,软件的低功耗措施也必不可少,尤其是需要长时间工作的系统,利用器件的休眠或待机状态能极大地降低系统的功耗。该有源温湿度传感标签已经用在某公司生产车间的温湿度监测系统中,并取得了很好的低功耗效果。