APP下载

基于MSP430的智能传感标签的设计与实现

2011-09-07尤义山张金霞

计算机工程与设计 2011年7期
关键词:发送数据读写器寄存器

尤义山, 曾 伟, 张金霞, 余 综

(华北计算技术研究所,北京100083)

0 引言

物联网是在计算机互联网的基础上,利用无线射频识别技术、无线数据通信等技术,构造一个覆盖世界上万事万物的“InternetofThings”。在这个网络中,物品(商品)能够彼此进行“交流”,而无需人的干预。其实质是利用射频自动识别技术,通过计算机互联网实现物品(商品)的自动识别和信息的互联与共享。传感技术主要服务于数据采集系统。数据采集是指将温度、压力、流量、位移等模拟量采集转换成数字量后,再由计算机进行存储、处理、显示或打印的过程。数据采集系统性能的好坏,主要取决于它的精度和速度。在保证精度的条件下,应有尽可能高的采样速度,以满足实时采集、实时处理和实时控制的要求。

传感器及智能标签的供电问题已成为制约其应用的一个瓶颈。能量收集技术是将环境中的能量,如机械振动、光能、温度变化、电磁能量、化学能、风能、热能等,进行收集并实现应用,以解决标签或传感器使用中的供电问题。本方案尝试采用无线射频能量收集技术实现能量收集,由于收集的能量密度低,相应的电源管理和低功耗技术对智能传感标签的供电问题也至关重要。

无线射频识别技术(radio frequencyidentification,RFID)是一种非接触的自动识别技术。RFID技术同条形码等传统的识别技术相比,具有抗干扰能力强、信息量大、非视觉范围读写和寿命长等特点,被广泛用于物流、供应链、动物和车辆识别、门禁系统等领域。RFID的系统结构示意图如图1所示。RFID系统由3部分组成,第一部分是标签,它被固定在物体上,并由一个特殊的ID号(Identification)来标定其身份。第二部分是读写器,读写器向标签发送命令,然后接收存储在标签中的数据。最后一部分是数据管理系统,它的功能是存储信息和管理数据。数据管理系统能够与固定在远处的阅读器进行通信,从而能够在任意时间获取标签中的信息。

标签可以分为无源标签、半有源标签、有源标签和智能传感标签[1]。无源标签具有被无线射频识别技术识别的功能,半有源标签相对于无源标签增加了自动处理传感数据的功能,有源标签相对于半有源标签增加了电源管理的功能,而智能传感标签相对于有源标签增加了智能感知周围环境的功能。

图1 RFID系统结构

在某些应用场合当中,传统的电子标签已经不能满足要求。例如,许多食品和药品等的包装必须在特定的温度和低污染环境下存储运输,一般的标签无法了解和监控商品保存的温度和保质情况,而智能传感标签就可以在产品贮运过程中实时监控对温度要求敏感、易腐烂的产品的温度,警示厂商防止温度变化对产品的影响。智能传感标签在商品生产、储运、销售的库存管理等领域有广阔的应用空间。

本文设计并实现了一种基于MSP430的智能传感标签模拟系统的设计方案。该智能传感标签符合ISO/IEC18000-6C[2]标准。系统含有温度传感器和加速传感器以及存储系统,可以定时的采集外部温和加速度等数据,采集的数据可以存放在EEPROM里面,符合ISO/IEC18000-6C标准的读写器可以读取传感器采集到的数据。该系统还可以无线收集能量[3],收集的能量存储到一个超级电容里,给系统供电。

1 系统硬件设计

硬件结构图如图2所示。系统采用MSP430系列低功耗单片机MSP430F2132作为微控制器,主要控制温度传感器、加速传感器、EEPROM的读写、接收和发送数据、电源管理等。

图2 智能传感标签硬件结构

MSP430F2132是一个16位的、低功耗的单片机[4]。当MSP430F2132的工作电压为2.2V,主频率为1MHz时,其工作电流是200uA,当单片机处于LPM3的低功耗模式时,其工作电流为0.7uA,因此选用MSP430F2132(以下简称MSP430)作为系统的微控制器。MSP430有3组I/O口,每组有8个I/O口引脚。MSP430的I/O口一般都是GPIO口和专用接口复用管脚。通过对 PXSEL寄存器的编程可以选定 I/O口引脚作为GPIO口或者是专用接口。MSP430的部分引脚功能定义见表1。

温度传感器和加速传感器分别将外部温度和加速度转化为模拟电压信号,然后通过MSP430内部的ADC再将模拟电压信号转化为数字信号,因此,温度传感器和加速传感器的模拟信号输入分别接MSP430的ADC输入通道P3.7、P2.0、P2.1和 P2.2。由于温度传感器和加速传感器的工作电流很小,MSP430的IO口电流足以支持其进行正常工作,因此设计系统时,将P1.0和P1.5分别作为温度传感器或者加速传感器的供电接口。当P1.0和P1.5置高时,温度传感器和加速传感器可以正常工作;当P1.0和P1.5置低时,温度传感器和加速传感器关闭,从而实现利用IO口控制传感器工作状态,以达到以减小系统的功耗的目的。

表1 MSP430的部分引脚功能定义

MSP430通过内部IIC模块读写EEPROM。P3.1和P3.2引脚作为MSP430内部I2C模块的数据信号线和时钟信号线,分别连接EEPROM的数据线和时钟线。

无线能量收集模块将从环境收集的电磁能量转换后进行储存,随后分配到微控制器、射频收发部件,保证其电源需求。无线能量收集主要采用倍压整流的原理,利用滤波电容的存储作用,由多个电容和二极管获得几倍于输入电压的输出电压。天线[5]接收到860MHz到960MHz频段之间的无线电波信号将其转化成交流电,经过5级倍压整流电路[6]和稳压电路后,转化为直流电,给系统提供正常工作所需要的电压,并且可以对超级电容充电,超级电容充当电池的作用,使MSP430能够持续工作。

当超级电容的电压大于或者等于1.8V时,MSP430才能正常工作。为了防止工作时,系统数据因为供电电压不足而丢失,当超级电容的电压低于2V时,MSP430将处于低功耗模式,此时,系统可以通过无线充电方式给超级电容充电,当充电电压大于2V,系统将正常工作。因此,对于电压监视引脚,需要配置成外部中断方式,当超级电容的电压大于2V时,外部中断将MSP430从低功耗模式唤醒。

2 系统软件的实现

系统软件流程如图3所示。系统软件主要包括接收数据、发送数据、与读写器模块交互状态图、传感器定时采集数据以及数据存储系统等5部分。当系统供电电压大于1.8V时,系统开始启动。如果供电电压小于2V,系统刚启动后就会进入休眠状态。此时,系统继续收集能量,当供电电压大于2V时,系统将被唤醒,开始定时的采集数据,并做准备接收数据的处理。该模拟标签等待接收数据时,将处于低功耗模式。标签接收到读写器发送的命令后,将对命令解析,并向读写器返回数据。当模拟标签与读写器完成一次完整的交互后,程序将检测系统供电电压是否低于2V,如果低于2V,系统将处于低功耗模式,否则标签等待与读写器进行下一次交互。

图3 系统软件流程

2.1 接收数据的实现

ISO/IEC18000-6C标准规定,读写器向标签发送数据的编码格式为PIE(pulse-intervalencoding)编码,因此标签接收读写器发送的数据主要是对PIE编码的解码。PIE编码格式如图4所示。图4中PW为脉冲宽度,Tari为一个比特0的长度,一般在6.25 s到25 s之间。

图4 PIE编码

发送数据之前,读写器首先发送一段界定符,界定符的长度大约为12.5 s,再发送一个比特0编码,然后再发送RTcal(R=>Tcalibration,其长度等于比特0和比特1的编码长度之和),如果是查询命令(Query)则再发送TRcal(T=>Rcalibration,其长度在1.1倍的RTcal和3倍的RTcal之间),然后在发送数据。如果是其它命令,则读写器发送完RTcal之后直接发送数据。

系统采用MSP430计时器捕获中断的方式接收数据[7],接收数据的引脚P1.2为MSP430计时器的捕获模式输入,将捕获模式设置成上升沿触发,每次捕获中断时可以记录计时器的值,计时器的值即为捕获时间。第二次捕获中断时捕获时间即为RTcal的值,如果第三次捕获中断时,捕获时间大于RTcal,则捕获时间的值即为TRcal,否则为数据。第四次及其以后的捕获中断则为数据,如果捕获中断时,捕获时间大于RTcal的一半,则是比特1,如果捕获时间小于RTcal的一半,则是比特0。

2.2 发送数据的实现

ISO/IEC18000-6C标准规定,标签向读写器发送数据的编码格式为FM0、Miller2、Miller4或者是Miller8。FM0的编码如图5所示。其它3种编码示意图详见ISO/IEC18000-6C标准。

图5 FM0编码

系统采用MSP430定时器的比较模式发送数据。首先对数据进行编码,然后再进行发送。发送数据引脚P1.1为MSP430定时器的比较模式的输出引脚,将比较模式的输出设置成翻转模式。首先初始化比较寄存器TACRR0,当计数寄存器TAR的值大于或者等于TACRRO时,输出的波形将发生翻转,程序只需在适当的时候改变比较寄存器TACRR0的值,即可得到相应的编码。

2.3 与读写器交互状态图的实现

按照ISO/IEC 18000-6C标准的规定,标签在交互过程中有就绪、仲裁、回复、应答、开放、保护、杀死等7种状态。根据读写器发送不同的命令,标签将进入对应的状态。标签的状态变迁图[8]如图6所示。

智能传感标签上电复位后将处于就绪态,当标签接收到Select命令时,将被标记成已选标记或者某一个会话方式,标签收到查询命令后,如果检测到查询命令设定的选定标记或者会话方式与最近一次收到的Select命令不相同,标签将停留在就绪态,否则标签将进入仲裁状态或者回复状态。处于仲裁状态的标签,当收到QueryAdjust或者QueryRep命令时,如果槽计数值不等于0,标签将停留在仲裁状态,否则标签将转到回复状态。处于回复状态的标签,当收到QueryAdjust命令时,如果槽计数值等于0,标签将停留在回复状态;当收到QueryRep命令时,标签将转到仲裁状态。处于应答状态的标签,当收到Reg_RN命令时,如果检测到收到的16位随机数与最近一次回复的随机数不相同,标签将停留在应答状态,否则标签将转到开放或者保护状态。处于开放状态的标签,如果接收到Reg_RN、Read、Write、Lock等命令时,将停留在开放状态;如果接收到QueryRep、QueryAdjust命令,将转到就绪状态;如果接收到Access命令,将转到保护状态;如果接收到Kill命令,当杀死密码不等于0时将转到杀死状态,否则维持开放状态。处于保护状态的标签,如果接收到Reg_RN、Read、Write、Lock等命令时,将停留在保护状态;如果接收到QueryRep、QueryAdjust命令,将转到就绪状态;如果接收到Kill命令,当杀死密码不等于0时,将转到杀死状态,否则维持保护状态。

图6 标签状态变迁

系统根据图6所示的状态图编程,在每种状态下都要处理相应的命令,程序根据命令码以及命令的长度来判断接收到的命令是否正确。部分18000-6C的命令码以及长度见表2。

表2 部分命令编码以及命令长度

2.4 传感器定时采集数据的实现

传感器定时采集数据采用MSP430定时器中断方式实现。MSP430外部接了一个32.768KHz的低速晶振,作为MSP430的定时器的时钟输入。MSP430共有5种低功耗模式,分别为LPM0(low power mode 0)、LPM1、LPM2、LPM3、LPM4。LPM0到LPM4耗电量逐渐减少。由于 MSP430外部接了一个低速晶振,因此,该系统可以达到LPM3模式,处在LPM3模式的下的系统功耗仅为1uA(工作电压2.2V,工作频率1MHz)。温度传感器和加速传感器分别将外部温度和加速度转化为模拟电压信号,MSP430内部的ADC再将模拟电压信号转化为数字信号。系统可以定时的采集外部温度和加速度数据,并存入EEPROM。定时器中断服务程序流程图如图7所示。

2.5 数据存储系统的实现

系统的存储器采用外部EEPROM。系统采用MSP430内部集成内部的I2C模块接口读写EEPROM。MSP430内部的I2C模块主要包括控制寄存器UCBXCTL0和UCBXCTL1、波特率寄存器UCBXBR0和UCBXBR1、状态寄存器UCBXSTAT、接收寄存器UCBXRXBUF、发送寄存器UCBXTXBUF、从机地址寄存器UCBXI2CSA以及中断控制寄存器UCBXI2CIE等。寄存器UCBXCTL0和UCBXCTL1主要配置I2C的从机模式或者是主机模式、从机地址位数、I2C时钟选择、I2C总线开始和停止信号等。波特率寄存器UCBXBR0和UCBXBR1主要配置I2C总线的速率。状态寄存器UCBXSTAT主要获得I2C总线的状态。发送寄存器UCBXTXBUF主要作为发送数据的缓冲寄存器。接收寄存器UCBXRXBUF主要作为接收数据的寄存器。

图7 定时器中断服务流程

从EEPROM读取数据时,首先将MSP430初始化为主机模式,设置I2C时钟信号的频率,然后依次发送总线开始命令、向EEPROM写入数据命令、EEPROM子地址命令、从EEPROM读取数据命令,最后可以连续的从 EEPROM读取数据。向EEPROM写入数据时,首先将MSP430初始化为主机模式,设置 I2C时钟信号的频率,然后依次发送总线开始命令、向EEPROM写入数据命令、EEPROM子地址命令,最后可以连续的向EEPROM写入数据。

3 结束语

与普通的标签相比,文章中设计和实现的智能传感标签增加了无线收集能量和定时采集外部温度以及加速度数据,并且能够对采集的数据进行相应的分析处理和存储的功能。该智能传感标签体积小、功耗低。试验结果表明,当智能传感标签周围的电磁场强达到600 W/cm2时,超级电容(容量0.1F,工作电压5.5V)充满电的时间是12分钟,微控制器MSP430可以连续工作80小时以上,当有读写器读取智能传感标签采集的数据时,超级电容可以利用读写器发出的场强继续充电。无线收集能量可以保证模拟的智能传感标签系统的供电,使智能传感标签可以持续的工作。智能传感标签每隔20s将采集一次外部温度和加速度数据,并存储采集的数据。符合ISO/IEC 18000-6C标准的读写器可以读取智能传感标签采集的数据。

试验环境下,该模拟智能传感标签已经完全满足智能传感标签在供电、环境感知、数据存储、无线数据传输等方面的需求。该模拟智能传感标签经过优化后,在商品生产、储运、销售的库存管理等领域将会有广阔的应用场景,根据实际需求选用不同的传感器单元,还可以应用于各种需实时感知环境,且对自供电较高要求的场合。

[1]Antti Ruhanen,Marko Hanhikorpi.Sensor-enabled RFID tag handbook[R].BRIDGE Project by the European Union,2007.

[2]ISO/IEC.Information technology-Radiofrequency identification for management Part 6:Parameters for air interface communications at 860MHz to 960 MHz[S].2006.

[3]Murugavel Raju.ULP meets energy harvesting:A game-changing combination for design engineers[R].Texas Instruments,2008.

[4]MSP430x2xx Family user's guide[EB/OL].Texas Instruments,http://www.ti.com,2008.

[5]李绪益.微波技术与微波电路[M].广州:华南理工大学出版社,2005.

[6]Joshua Smith,David Weatherall,Polly Powledge,et al.Wireless identification and sensor platform project[Z].http://wisp.wikispaces.com,2009.

[7]沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.

[8]马倩,时良平,周立宏.ISO18000-6C标准的防碰撞算法研究[J].计算机应用,2008,28(12):341-343.

猜你喜欢

发送数据读写器寄存器
STM32和51单片机寄存器映射原理异同分析
Lite寄存器模型的设计与实现
一种车载自组织网络的媒体接入控制协议
带标记方式的CRDSA++协议性能分析*
移位寄存器及算术运算应用
多优先级无时隙CSMA/ CA算法研究
测试软件简介
基于视频抓拍读写器的高速公路防倒卡研究
基于随机时隙的RFID读写器防冲突方法
Lx5280模拟器移植设计及实施