高 山,杜秀丽,李晓伟,邢 建
(大连大学 信息工程学院,辽宁 大连 116622)
人们的生活与温度息息相关,化学、物理、生物等学科的研究都离不开温度。在电力、石油、化工、机械制造、冶金、大型仓储室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行监测,并根据实际的要求对环境温度进行控制。
随着无线传输技术的发展、电子测温技术的普及以及射频识别技术的成熟,实时温度监测系统与运输过程透明化变得切实可行。射频识别技术是一种新式的非接触识别技术,通过射频信号可对无源非接触IC卡进行供电与通信,该过程中无需人工干涉并且可工作于恶劣环境,而电子测温结果准确、可测定范围广,正满足了产品生产、运输过程中的不同需求。
本系统基于射频识别技术设计了温度实时无线监测系统,实现了超温报警、温度信息储存和无线传输,对保证产品生产、运输和存储安全具有一定意义[1]。
系统功能框图如图1所示,该监测系统有主机和从机两部分。从机实现温度收集功能,并将数据发送到主机。主机则将温度储存,待有非接触式RFID卡靠近时,根据按键指令将温度信息从RFID卡中读取或者将从机采集到的温度信息写入RFID卡,卡中相关信息则在液晶屏显示告知用户。如果接收到从机采集的温度信息超出安全范围则提供报警功能,提示用户温度超过安全范围,进行紧急处理。
图1 温度监测系统框图
主控芯片采用ATMEL公司的AT89S51。AT89S51单片机是一种具有低功耗、高性能的CMOS 8位微处理器,自带4 KB在系统可编程Flash存储器。合理地调配资源,以完成温度信息接收、非接触式IC卡的读写、信息显示与报警等功能。
射频识别读写芯片采用NXP公司的RC522。RC522利用了先进的调制和解调概念,完全集成了在13.56 MHz下所有类型的被动非接触式通信方式和协议,且支持ISO14443A的多层应用[2]。
无线收发则采用nRF24L01。nRF24L01是工作在2.4 GHz~2.5 GHz ISM频段的、由NORDIC生产的单片无线收发器芯片。输出功率频道的选择和协议的设置可以通过对SPI接口寄存器的设置实现。它几乎可以与各种单片机芯片连接,完成对数据的无线传送工作[3]。
从机主控芯片采用TI公司的MSP430G2553。MSP430系列微型处理器具有超低功耗特性,可使温度采集节点长时间处于工作状态。而G2553体积小,在仅仅进行温度采集与数据发送工作时,可以更进一步降低功耗,同时可使温度采集节点小型化。
无线收发采用nRF24L01无线芯片。温度检测部分采用的是DSl8B20单线数字测温芯片,它能在现场采集温度数据,并将温度数据直接转换成数字量输出。该传感器测量温度的范围是-55℃~+125℃,测量精度为0.125℃。
主机系统流程图如图2所示。依次完成LCD、无线传输、射频识别模块的初始化,然后标志位置位,示意初始化完成。
图2 主机软件流程图
首先对液晶屏进行初始化,接着配置无线模块地址、主接收功能,再进行射频识别模块的初始化。完成初始化后,开始接收温度信息,并将接收到的温度信息在LCD上予以显示。当非接触式RFID接近射频读写模块时,将卡ID与用户ID进行比对,如果为用户ID则提示用户进行按键操作,与此同时进行按键功能查询,用户可选择将温度信息写入RFID卡,清除RFID卡中温度信息、读出RFID卡温度信息。完成按键选择后主控器执行相应功能,对RFID卡进行特定操作。
射频识别模块的工作流程图如图3所示。
3.1.1 射频识别模块初始化
射频识别模块核心芯片RC522可以与所有13.56 MHz类型的射频卡进行通信,支持ISO14443A协议下的的多层应用。发送接收均集成了帧错误校验 (奇偶校验、CRC),其双向数据传输速率高达424 kb/s,有效距离为0~10 cm[4]。
射频识别模块作为本系统的核心模块,对其的合理操作便显得尤为重要。第一步便是初始化RC522[5]。对CommandReg低4位置位,让RC522进入软掉电模式进行软复位。写入CRC初始值。将TxControlReg配置为0x83,即配置天线TX1、TX2驱动使能,置TxAutoReg为0x40,即将其ASK设置为100%。完成基本配置后,将天线软启动。以上配置均正确完成时,对应引脚TX1、TX2之间存在载波能量信号。
图3 射频识别模块的工作流程
3.1.2 射频识别模块的寻卡与防冲撞
首先确定所巡卡片状态,代码0x52对应寻感应区内所有符合14443A标准的卡[6],而代码0x26对应寻未进入休眠状态的卡,将寻卡方式写入RC522,则RC522进入寻卡阶段,与此同时读取卡信息,与对应十六进制代码进行比对,当符合对应代码则说明卡片已经寻到,返回卡寻到标志。卡类型与其对应的十六进制代码如表1所示。完成寻卡后清除所有冲撞信息。将防冲突命令字0x93写入卡中,读取防冲撞信息即卡片ID号码,确定无冲撞后,将CollReg寄存器最高位置1。
表1 卡类型与其对应十六进制代码
3.1.3 射频识别模块的选定卡片与验证卡密
令RC522将Mifare_One卡卡片选定命令字0x70写入卡中,而后将防冲撞过程中读取到的卡片ID写入卡中则完成卡片的选定。接着,可进行卡密验证,按照验证卡密模式、块地址、密码、卡ID的顺序将对应代码依次写入卡中,得到成功信息则说明卡密验证成功;否则可读取Status2Reg寄存器,当Status2Reg寄存器最高位为1时,说明卡密验证失败,需重新验证卡密。
3.1.4 射频识别模块的读写卡信息
读数据只需将读数据指令0x30、所读取块地址依次写入卡中,然后便可读取数据,数据最多只能读取144字节。
写数据同样需要将写数据指令0xA0、所写块地址写入卡中。为确保数据写入准确,需计算CRC值,分别将写数据指令与块地址所计算得出的CRC的最低位和最高位作为后两位数据,将写数据指令、块地址、最低位、最高位依次写入卡中。接着便可往卡中写入信息。
此时射频读写模块对卡的操作均可实现。
从机软件流程图如图4所示,对MSP430进行时钟配置、IO端口配置,对无线传输、温度采集模块进行初始化。定时器每2 s触发一次中断,并在中断中对温度采集标志进行置位。等待定时器置位标志,每2 s进行一次温度序列转化。完成温度转换后,将数据压入无线模块待发送区域,完成数据发送。在等待定时器置位过程中处理器进入低功耗模式,以降低整个模块功耗。
图4 从机软件流程图
将测量温度与普通温度计示数进行比对,采用朝阳、背阴、正常室内3种不同环境对整个系统模拟运行,记录数据如表2所示。经分析处理,温度采集误差百分比在2%以内,系统运行准确可靠。
本文设计了中距离温度实时无线监测系统,同时可将温度信息在非接触式RFID卡中进行存储,测温准确可靠,提高了货物生产、运输过程中温度信息的透明度。本系统可应用于货物生产、运输过程,实时监控生产、运输环节温度情况,将温度情况实时告知管理人员,使得生产运输过程中的温度在安全温度范围之内。
表2 温度测试结果
[1]梁瑜.基于SWOT分析的我国发展冷链物流研究[J].物流科技,2010(2):75-76.
[2]单莹,刘旭儒,史仪凯.非接触式13.56 MHz读卡器的设计[J].工业仪表与自动化装置,2010(3):27-29.
[3]张永宏,曹健,王丽华.基于51单片机与nRF24L01无线门禁控制系统设计[J].江苏科技大学学报 (自然科学版),2013(1):63-69.
[4]赵东艳,符令,胡毅,等.一种13.56 MHz射频标签仿真模型的设计[J].微型机与应用,2013,32(16):26-30.
[5]魏登峰,田华.基于ARM的嵌入式RIFD读写器设计[J].微计算机信息,2009,25(5-2):190-201.
[6]沈冬青.RFID射频识别技术标准解析及现状研究[J].中国安防,2011(4):37-40.