基于MSP430和Zigbee的RFID读写设备
2015-02-07沈阳工业大学化工过程自动化学院佟维妍张佳楠王余杰
沈阳工业大学化工过程自动化学院 孙 铎 佟维妍 张佳楠 王余杰 王 建
基于MSP430和Zigbee的RFID读写设备
沈阳工业大学化工过程自动化学院 孙 铎 佟维妍 张佳楠 王余杰 王 建
本文提出了一种基于RFID和Zigbee的读写设备的设计方案。介绍了系统的总体结构及工作过程,简述了基于MSP430和Zigbee的RFID读写设备的软硬件设计。该系统的实施将大大提高管理效率,具有一定的应用价值。
RFID读写设备;Zigbee;MSP430
1 引言
RFID是一种非接触式自动识别技术,它通过无线射频方式,实现对RFID标签的信息获取。RFID技术可同时识别多个高速运动的标签,其工作可靠性高、保密性强、方便快捷[1]。
ZigBee技术是一种具有低复杂度、近距离、低成本等特点的双向无线通讯技术[2]。主要应用于功耗低、低传输率且近距离的各种电子设备之间数据的传输,也适用于典型的间歇性、周期性数据和低反应时间数据的传输[3]。ZigBee作为一种新兴起的短距离无线通信国际标准协议,在通信产品中的应用得到了快速发展,进入大规模的商业生产和应用时期。
基于物联网的先进思想,提出一种基于MSP430和Zigbee的RFID读写设备,将ZigBee技术和RFID技术相结合,以MSP430F149单片机为系统控制器,利用ZigBee无线传感器网络的无线自组网原理实现了手持移动式RFID读写端和PC机接收端的远程无线通信,无需布线,可根据具体的情况随时随地将RFID读写端连入网络,网络管理容易,能够迅速采集多个电子标签信息,提高了组网的数据传输的可靠性、安全性和便捷性,满足物联网的发展要求。
2 系统总体设计
RFID读写设备是利用射频技术(RFID)读/写电子标签信息的设备,可将上位PC机的读写命令传送到电子标签,同时进行数据加密,将电子标签返回的数据解密后送到上位PC机或通过LCD显示[4]。
RFID读写设备包括手持移动式RFID读写端和PC机接收端两部分,如图1。工作时,管理员启动手持移动式RFID读写端,当工作区域内有电子标签时,RFID读写端自动读取该标签的相关信息,实时地将数据通过ZigBee无线传感器网络发送至PC机接收端,PC机接收端通过RS232串行通信与PC上位机进行通讯连接,将现场数据传输至上位机管理系统进行数据管理[5]。
图1 RFID读写设备结构示意图
3 手持移动式RFID读写端的设计
手持移动式RFID读写端采用电池供电方式,主要由MCU、RFID读卡模块、读写端ZigBee模块、LCD显示模块、键盘电路、电源模块等构成。
MCU采用了超低功耗的16位单片机MSP430F149,其采用了精简指令集(RISC)结构,只有简洁的27条指令,运算速度快。片上集成了丰富的外设,如12位模数转换器、看门狗、SPI等。MSP430适应工业级的运行环境,更适合应用于使用电池供电的仪器仪表类产品中,如图2所示。本设计的软件采用高效的MSP430系列的C语言编写,软件的开发选择了IAR 5.5开发环境。利用IAR 5.5软件可直接通过单片机的JTAG接口下载程序或读取单片机内数据。在MSP430F149中存储RFID中间件程序和ZigBee通讯程序,起着连接底层设备的作用,实现数据传输和处理、实时数据的采集功能。
图2 手持移动式RFID读写端MCU原理图
RFID读写卡芯片选用了低电压、低功耗、小尺寸非接触式读写基站芯片RC522,通过10Mbit/s的SPI方式与手持移动式RFID读写端MCU通信。
图3 RFID读卡模块电路图
手持移动式RFID读写端通过与读写卡芯片连接的天线和电子标签线圈产生共振来传递数据,当有电子标签处在读写端的有效工作范围内时,MSP430通过RC522向电子标签发出寻卡命令,当读写卡芯片的天线检测到电子标签的响应信号后,经过天线匹配后把接收信号传送到读写卡芯片,读写卡芯片内部对该信号进行解调,并进行相应的解密处理,从而完成读写卡芯片与电子标签的通讯,读写卡芯片完成和电子标签的通讯后再将接收到的数据发送至手持移动式RFID读写端MCU[6],如图3所示。
若同时有多张电子标签在天线的工作范围内,读写端将启动防冲撞机制,依据电子标签的序列号来选择一张电子标签,被选中的电子标签再与读写端进行密码校验,确定读写端对电子标签存在操作权限并且保证电子标签的合法性,而未被选中的则仍然处在闲置状态,等待下一次寻找命令。
防冲撞程序如下:
char PcdAntlcoll(unslgned char *str)
{
char stts;
unslgned char l,hecha=0;
unslgned lnt changdu;
unslgned char hcsj[ZHUIDA];
Qishiwei(Zhuangtai,0x08);
Xierame(Biaozhi,0x00);
Qishiwei(Xunhuan,0x80);
hcsj[0] = PLCC_ANTLCOLL1;
hcsj[1] = 0x20;
stts = Pqqsd(PCD_TRANSCELVE,hcsj,2,hcsj,&chan gdu);
lf (stts == WANHAO)
{
for (l=0; l<4; l++)
{
*(str+l) = hcsj[l];
hecha ^= hcsj[l];
}
lf (hecha != hcsj[l])
{stts = CHUOWU; }
}
Shezhimas(Xunhuan,0x80);
return stts;
}
4 PC机接收端的设计
PC机接收端主要由MCU、接收端ZigBee模块、电平转换模块、电源模块等构成。
手持移动式RFID读写端和PC机接收端的ZigBee模块选用符合2.4GHz IEEE802.15.4标准的射频收发器CC2420。CC2420支持数据传输率高达250kbps,通过SPI接口进行编程配置,如图4所示。PC机接收端ZigBee模块可同时与多个手持移动式RFID读写端ZigBee模块之间进行数据传输。
图4 ZigBee收发模块电路图
图5 PC机接收端电平转换模块电路图
接收数据并判断程序如下:
if(CC2420_RxPacket())
{
CC2420_ReadRXFIFO();
CC2420_SetRxMode();
if(CC2420_PSDU[25] == 1)
{
LED1_1;LED2_0;BELL_0;delay_ms(50);LED1_0;LED2 _0;BELL_1; CC2420_PSDU[25] = 0;
}
if(CC2420_PSDU[25] == 2)
{
LED1_0;LED2_1;BELL_0;delay_ms(50);LED1_0;LED2 _0;BELL_1; CC2420_PSDU[25] = 0;
}
SCLK_OFF();CSN_ON();CC2420_ Command(CMD_SFLUSHRX);
}
在本设备中,PC机与PC机接收端采用近距离的串行通信,采用RS232实现。MSP430单片机串口的输入输出均为TTL低电平,PC机的RS232接口采用RS232标准的EIA电平,故选用MAX232CSE芯片实现这两种电平之间的转化,如图5所示。
5 结束语
本文主要研究的是基于MSP430和ZigBee的RFID读写设备的设计。采用MSP430F149单片机微处理器与RFID模块或芯片构建RFID读写器,实现对RFID标签的信号采集、显示及传输等功能。该设备网络适应能力强,可根据具体的情况随时随地将RFID读写设备连入网络,网络管理容易。
[1]骆波涛,马文清,李沛东.基于RFID的实验室设备管理系统的设计与实现[J].软件导刊:教育技术,2011(08):84-86.
[2]王占领.浅析无线通讯技术中近距离通讯技术的发展[J].科技创新与应用,2014(10):31.
[3]刘建杰,梁高红,等.数字化系统在盘古梁油田的建设及应用[J].中国科技博览,2012,14.
[4]蒋武洲.RFID应用系统通过Web服务传输数据的研究与实现[J].计算机工程与设计,2007(13):3126-3129.
[5]佟维妍,等.基于ZigBee的RFID读写设备:中国,ZL20 1320707110.2[P].2014-04-30.
[6]朱炳瑞,裴焕斗,刘春力.基于RFID的单片机系统设计[J].电子世界,2013(01):129-130.
孙铎(1994—),男,辽宁锦州人,大学本科,现就读于沈阳工业大学化工过程自动化学院电气工程系测控技术与仪器专业。
佟维妍(1981—),女,辽宁辽阳人,硕士,讲师,研究方向:智能控制理论及其应用。
辽宁省教育厅科学研究一般项目(项目编号:L2015394);2015年辽宁省教育厅大学生创新创业训练计划项目。