APP下载

基于ZigBee网络传输的双频RFID读写器设计

2018-07-10巍,赵

天津职业技术师范大学学报 2018年2期
关键词:读写器电子标签串口

张 巍,赵 光

(天津职业技术师范大学电子工程学院,天津 300222)

RFID(radio frequency identification)技术是兴起于20世纪90年代的一种自动识别技术,现早已被大多数人熟知。其主要功能是通过一些先进的技术手段,使人们在不同状态下对各类物体或设备进行自动识别和管理。随着科学技术的不断发展,RFID技术逐渐进入了人们的生活中,在安全、管理、交通、物流和生产等领域都可以发现它的身影[1]。RFID技术的应用,很大程度地提高了工作效率,降低了成本,对提升社会信息化水平、提高人们的生活质量、增强公共安全等方面都具有深远的影响。然而,目前的读写器只有单一工作频率,在某些场合会有很多局限性。针对此问题,本文设计了基于MSP430的双频读写器。该读写器主要应用在物流管理、物品管理、交通管理等系统中[2-3]。该读写器只有识别超高频和微波2种频段的功能,可选择性地采用其中1种频率工作,也可在某些特殊情况下同时工作。系统工作时能自动检测范围内所有设备上的电子标签,进行设备信息的读取,经过处理后发送到上一层的PC机或其他设备上。该读写器还具有数据容量大、适应环境能力强、安全可靠性高、多个标签同时读写等特点。因此,可以应用到物流等领域,利用电子标签对有价值的物品进行监管。

1 系统架构

1.1 读写器系统

RFID是一种通信技术,以非接触的方式自动读取某个范围内电子标签发出的无线信号。一个完整的RFID系统,由电子标签、阅读器及上位机软件组成。根据电子标签是否内置电池可分为有源标签和无源标签,有源标签辐射距离较远。读写器一般安装在固定位置,可以接收电子标签发送来的信息,电子标签会发送固化在其内部的唯一的识别编码[4]。

目前市场上的一些双频读写器主要有以下3种:低频读写器与中高频读写器组合;中高频读写器与超高频读写器组合;超高频读写器与微波读写器组合[5]。但是采用超高频与微波读写器组合的双频读写器较少。因为在某些物品管理、物流管理等场合中出现频率和距离问题,例如在某些闸门的车辆、集装箱自动识别等应用中要求系统识别电子标签距离10 m~20 m(915 MHz可满足),而在空旷厂房或厂区则要求系统识别电子标签距离100 m~200 m为佳(2.4 GHz可满足)。因此,在不同的应用环境应选择不同的工作频率。本设计选用超高频915 MHz读写器与微波2.4 GHz读写器相结合,它们都具有识别距离较远、主动读卡、可大量读取等优点。

本设计的主硬件电路以MSP430F5529单片机为核心,整个系统由MCU核心电路、超高频读写模块电路、微波读写电路、通信接口电路以及4个超高频电子标签模块电路和4个2.4 GHz电子标签模块电路组成。

1.2 传输系统

ZigBee技术是基于IEEE802.15.4标准,具有超低成本、超低功耗的特性,并能以Mesh的方式组成大规模的无线网络,1个ZigBee无线传感器网络最多可支持65 536个节点[6],它广泛用于无线传感器网络、工业自动化、军事信息化、家庭网络等方面。本设计使用了Mesh网络模式,即用短距离无线技术,将RFID读写器通过ZigBee透传的方式以Mesh组网模式连接起来,可以实现多个RFID读写器协同工作。在此基础上,利用简单的通信接口与计算机对接,实现远程监测与操控的功能[7]。使用ZigBee网络传输数据其成本低,功耗小;配置简单,组网灵活,无线配置;容量大,有较强的可扩展性和开放性,可随需增减;延时短,速度快,数据传输安全可靠,可加密。传输系统总体设计原理如图1所示。

图1 传输系统原理图

2 硬件设计

本文设计的RFID读写器主要由读写器MCU模块、超高频射频模块、微波射频模块和数据传输模块组成。读写器的微控制器采用低功耗MSP430F5529单片机;射频部分核心器件采用频率为915 MHz的nRF905芯片与频率为2.4 GHz的nRF24L01+无线收发器芯片;ZigBee网络传输部分的核心芯片采用德州仪器的CC2530芯片。

2.1 读写器MCU模块

MSP430F5529单片机是一种16位超低功耗、具有精简指令集的混合信号处理器,具有128 kB闪存、8 kB RAM、USB接口、3个 Timer_A 块、1个 Timer_B块、16通道 12位 ADC、2 个 USCI(UART/SPI/I2C)块、63个I/O接口,系统时钟最高达25 MHz[8-9]。读写器具有JATG接口,可用于完整的4线编程和调试。MSP430F5529单片机共有8组双向可编程I/O接口,所有IO接口可内部设置上拉、下拉,可以推挽输出。另外,几乎所有的I/O接口上都有复用功能,主要包括定时器比较输出、系统时钟输出、SPI接口、串口、I2C接口、USB接口、AD输入口、比较输入口、晶振接口。

2.2 超高频射频模块

超高频读写部分是由nRF905无线模块组成,使用SPI接口进行通信。nRF905芯片是挪威NORDIC公司推出的一款无线数据传输芯片,可根据寄存器设置工作于433/868/915 MHz任意1个频段上。芯片内集成了功率放大器、频率调制器、晶体振荡器、带解调器的接收器、调节器等。其供电范围为1.9~3.6 V,功耗低,可通过SPI接口与MCU连接,输出最高功率为10 dBm。

2.3 微波射频模块

微波射频模块采用nRF24L01+芯片。该芯片是挪威NORDIC公司推出的一款工作于2.4 GHz的ISM频段上的无线数据传输芯片。芯片内集成了功率放大器、频率调制器、晶体振荡器、带解调器的接收器和调节器等。其电源供电范围为1.9~3.6V,功耗低,可通过SPI接口与MCU连接,输出功率最大为0 dBm,最大传输速率为2 Mbps。微波读写部分由nRF24L01+无线模块组成,使用SPI接口进行通信。

2.4 数据传输模块

德州仪器生产的CC2530芯片结合了RF收发器的优良性能,可在低成本的条件下构建一个强大的网络。芯片内部具有1个增强型8051处理器核,在系统内具有可编程的闪存和许多其他强大的功能。在存储容量上,CC2530具有4个不同的版本(CC2530F32/64/128/256),每个版本的闪存容量分别为32 kB、64 kB、128 kB、256 kB。为适应超低功耗要求的系统,CC2530具有多种运行模式,各模式之间根据功耗的要求进行切换。本文设计的读写器选用的芯片型号为CC2530F256,其中结合了德州仪器的ZigBee协议栈,可提供一个强大和完整的ZigBee解决方案[10]。ZigBee模块如图2所示。

图2 ZigBee模块框图

3 软件设计

本文设计的双频RFID读写器的软件主要由2部分组成,即RFID业务控制部分与ZigBee数据传输部分。RFID业务控制部分主要由电子标签的识别、电子标签信息的修改等程序组成,ZigBee数据传输部分使用TI提供的Z-stack协议栈软件,在协议栈软件的基础上实现数据传输。

3.1 RFID业务控制软件设计

根据设计要求,RFID业务控制程序流程如图3所示。系统上电后,单片机对I/O接口、通信接口、定时器等程序进行初始化,然后等待上位机指令,根据不同指令执行不同功能。主要包括标签识别、标签信息读取、标签信息修改3个主要功能。

标签识别程序为:接收到标签识别指令后,单片机控制无线模块对所有电子标签依次进行查找,检测所有标签的状态。如果监测不到某个标签或连接不成功,则视为标签识别失败并统计次数,达到一定次数后则判定该标签不在线,继续查找下一个标签,最后将各个标签所在的状态返回到上位机中。

标签信息读取程序为:接收到信息读取指令后,单片机控制无线模块对相应电子标签进行查找,监测到标签在线后进一步读回标签内部的设备信息,加以处理后返回到上位机中。如果监测不到标签或连接不成功,则视为标签识别失败并统计次数,达到一定次数后则判定该标签不在线,返回标签不存在的消息到上位机中。

图3 RFID业务控制程序流程

标签信息修改程序为:接收到标签修改指令后,单片机控制无线模块对相应电子标签进行查找,监测到标签在线后进一步修改标签内部的设备信息,并返回修改成功标志到上位机中。如果监测不到标签或连接不成功,则视为标签识别失败并统计次数,达到一定次数后则判定该标签不在线,返回标签不存在的消息到上位机中。

3.2 ZigBee传输软件设计

传输模块程序流程如图4所示。

3.2.1 协调器网络组建

网络的建立过程是由ZDO(ZigBee Device Object,ZigBee设备对象)来实现的,ZDO是一种应用,它利用网络层和应用支持子层的服务来实现协调器、路由器和终端设备其中之一个设备角色。网络建立后,在应用层收到ZDO_STATE_CHANGE消息,该消息中包含了当前节点的网络状态[12]。网络建立的过程描述如下:

图4 传输模块程序流程

3.2.2 ZigBee协议栈串口透传分析

在ZigBee协议栈中已对串口初始化所需要的函数进行了编写,用户只需设定几个参数便可以使用串口,此外ZigBee协议栈还编写了串口的读取函数和写入函数。ZigBee协议栈提供与UART相关的函数如下:

3.2.3 主体程序

程序设计主要包括协调器程序和终端设备程序设计。协调器软件流程如图5所示,终端设备软件流程如图6所示。协调器设备作为ZigBee设备1,终端设备作为ZigBee设备2。协调器设备上电初始化后,首先建立ZigBee无线网络,进入操作系统判断应用层事件SampeApp_CMD_SERIA_MSG是否发生,如果发生,执行串口处理函数SampeApp_SeriaCMD()将串口传来的信息通过射频收发器以射频的方式发送出去;接着判断事件AF_INCOMING_MSG_CMD接收无线数据是否发生,如果发生,将接收到的无线数据通过串口发送给PC机显示。终端设备上电初始化后,发现并加入到协调器产生的网络中,进入操作系统后,事件处理与协调器的操作过程相同。

图5 协调器的软件流程

图6 终端设备的软件流程

4 结 语

本文设计了一款基于ZigBee网络传输的RFID双频读写器并对系统的原理、硬件组成以及软件设计进行了介绍。其传输模式采用了ZigBee网络,该网络是一种比较新型的读写传输模式,省去了传统的有线传输系统布线的过程,是对各种物资管理的先进化、合理化发展的一种有益探索。本设计操作简单,成本低,性能稳定,有2种工作频段可供选择,能广泛应用于安全、管理、物流等领域,提高了工作效率,节约了人力资源,实现了智能化管理。

猜你喜欢

读写器电子标签串口
RFID电子标签在全钢子午线轮胎中的应用
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
基于EM9000工控板高性能双串口通信模型设计与实现
船舶电子设备串口数据的软件共享方法
适用于高衰减汽车玻璃的电子标签方案与应用
探寻“千万”的背后——写在金溢科技电子标签销量超1000万之际
RFID技术中防碰撞算法的改进
基于视频抓拍读写器的高速公路防倒卡研究
ETC电子标签的自由流应用