• 官方微信

    CA800二维码微平台 大视野

  • 工控头条

    CA800二维码工控头条App

当前位置:自动化网>自动化文库>技术前沿>RFID读写器核心软件设计概述

RFID读写器核心软件设计概述

发布时间:2015-05-19 来源:陶怡1,党洪涛2 类型:技术前沿 人浏览
分享到:
关键字:

物联网;UHF;RFID读写器;软件设计

导读:

本文详细介绍了基于超高频读写控制芯片INDY R2000、控制器STM32107的RFID读写器核心软件的设计。该读写器工作在840~960MHz频段,配备以太网、USB/USART等硬件接口,可方便地进行无线数据通讯。核心软件采用嵌入式实时操作系统平台搭载RFID控制程序的方式,实现了协议可配置、高级无线电接入等功能。实际测试表明,以该软件设计方法设计的RFID读写器能很好得读取IEC 18000 -6C/6B电子标签。

1  引言
物联网是基于互联网的物物相连。物物相连包括物品识别和物品之间的互联。物品识别以射频识别(RFID)技术为支撑技术,而物品之间的互联以无线传感技术和互联网技术为技术架构。二者相辅相成,共同构成物联网的应用基础。
射频识别(Radio Frequency Identification)技术是通过无线电讯号识别目标物品,进行相关数据读写的一种通信技术[1]。射频识别的核心是目标物品的信息识别和相关数据的读写,物品信息访问的及时性、正确性决定了物联网应用设备的可靠性和实用性[2]。目前,RFID技术已广泛地应用于居民二代身份证、公交卡、校园一卡通、ETC收费等行业中[3]。
本文从应用出发,总结常见RFID应用的共性,阐述RFID技术应用的通用模型,最终针对RFID读写器的核心软件设计进行概述。本文RFID读写器核心软件产品已成功应用于立体车库系统,实现了车辆进出车库的识别、登记、管理工作,该立体车库同时可容纳车辆20辆,车库内标签访问范围为3米,读写器工作在840~960MHz频段。

2  RFID读写器软件设计概述

2.1  RFID读写器系统设计
RFID读写器核心由标签读写模块和主控模块构成[4],分别采用标签读写板与主控板实现。标签读写板核心采用R2000读写芯片,内载天线接口,天线接口外接天线。标签读写板负责标签数据的读写操作的硬件实现。主控板主要由控制器和接口组成,核心选用STM32107芯片。主控板负责对PC端命令的解析及标签读写器控制的硬件支持,主控板的接口负责读写器与PC端的通讯,接口可在USB/UART、以太网接口中选择实现一种或全部实现。对于标签读写板和主控板都必须搭载供电模块,可选择电源模块,也可选择外部供电。典型的RFID读写器硬件结构如图1所示。

图1

图1展示了RFID读写器的系统结构,在系统设计的过程中,需要注意硬件的选型。其中标签读写板的读写芯片和天线的物理特性决定了标签的访问量、访问距离、访问环境等。控制板中,控制器的物理性能决定了阅读器的处理速度、外部接口等特性。在读写器中采用嵌入式操作系统进行控制,主控板的存储容量是关键;主控板与PC端的通讯方式也是主控板硬件选型的重要参考因素之一。本文采用STM32107芯片作为控制板的核心芯片,采用USB/UART、以太网进行控制和通讯。
2.2  RFID读写器核心软件设计
RFID读写器的硬件如上节所述,读写器软件结构分为三层,分别是RFID读写器固件层、操作系统层、RFID读写控制层,层次结构如图2所示。
RFID读写器固件层采用Impinj提供的固化软件,负责操作系统层命令的解析和执行,并将硬件层执行后的数据结果反馈给操作系统层;操作系统层选用嵌入式操作系统,典型的嵌入式操作系统如WIN CE、uC/OS等,实现多任务的调度和任务的管理,并提供RFID读写器硬件驱动、RFID控制命令的发送与数据的接收、反馈。本文描述的RFID读写器采用uC/OS Ⅱ操作系统;RFID读写器控制层主要是由RFID读写器的控制程序构成,是RFID读写器控制核心,负责RFID读写器的参数配置、标签访问、写标签等操作控制。

图2

在RFID读写器的软件中,RFID读写器的固件层软件的基本功能不可删减,但是控制层软件可根据用户的具体需求进行添加或裁减。RFID读写器的控制核心软件有三个模块,分别是RFID参数配置模块、标签访问模块和写操作模块,这三个模块对于RFID读写器来说是缺一不可的,模块划分如图3所示。

图3

在RFID控制核心软件中,RFID参数配置模块主要负责读写器的参数配置,如物理天线号的选择(如果配有多个天线)、天线功率的设置(决定了天线的访问距离和范围)、标签访问配置等;标签访问模块主要负责标签信息的访问和读取,包括单标签访问和或标签访问。其中,单标签访问主要针对访问范围内的单个标签进行访问,多标签访问针对访问范围内的若干个标签进行访问。在进行多标签访问时,其访问频率、访问量和访问次数均需预先设置;写操作模块负责对标签进行写操作,包括写寄存器和写标签两部分。写寄存器对RFID读写板中的寄存器进行数据写入,而写标签将数据写入标签。RFID读写器的核心功能由以上介绍的三个模块构成,针对不同的用途,读写器软件可以在核心软件的基础上进行添加。
RFID核心软件实现了RFID读写器的基础功能。软件设计人员在核心软件的基础上可直接设计读写器控制软件,无需嵌入式操作系统的支持。
2.3  RFID读写器软件实现
RFID读写器核心软件分为三个模块,所需参数在RFID读写器工作中可动态配置,默认RFID参数配置在RFID读写器初始化之后实现,标签访问根据控制软件的选择进行选择性执行,写操作按照控制软件操作执行。RFID读写器在断电后恢复初始化数据,参数配置在读写器工作期间有效,直到下次参数配置或断电重启。软件实现流程图如图4所示。

图4

RFID读写器核心软件的实现是数据命令帧的解析和组帧过程。核心软件通过串口命令改写模块arm芯片中寄存器的值来控制。帧结构如下:
 struct  frame
{
INT16U  access_flg;
INT16U  reg_addr;
INT32U  reg_data;
};
其中,access_flg是mac寄存器读写标志位,0x0000为读操作,0x0001为写操作;reg_addr是mac寄存器地址;reg_data对应mac寄存器地址的值。
串口命令通过调用嵌入式操作系统提供的串口操作函数实现。其中Bsp_Usart_Send()函数用于串口数据的发送;Bsp_Usart_Recv()函数用于串口数据的接收。
2.4 RFID读写器软件编译与测试
RFID读写器软件采用Keil uVision4编译器进行调试编译,软件测试采用Testbed测试工具进行测试,针对RFID读写器三个模块软件设计测试用例67例,测试结果如表1所示。

表1

 

测试完成后,使用mcuisp软件烧写RFID读写器程序。在烧写文件的过程中,使用“DTR的低电平复位、RTS高电平进Bootloader”的烧写模式。

3 结束语
本文介绍了RFID读写器核心软件的设计方法。采用该方法设计的基于indy R2000、STM32107为核心控制芯片的RFID读写器,实现了协议可配置、高级无线电接入等功能,同时实现了标签读、写的功能。经过在立体车库系统中的使用,满足了现场的需求,取得了良好的效果。

参考文献:
[1] 康东,石喜勤等.射频识别(RFID)核心技术与典型应用开发案例[M].北京:人民邮电出版社,2008:54-62.
[2]游战清,李苏剑等.无线射频技术(RFID)理论与应用[M].北京:电子工业出版社,2004:23-37.
[3]毕松涛,论RFID技术在交通信息化中的应用[J].现代商贸工业,2011,(6):1-2.
[4]刘婷,杨济民等,基于Impinj R2000的UHF RFID读写器研究[J].科技信息.2012,(7):1-2.

本文地址:本文地址: http://www.ca800.com/apply/d_1ntn719hir8l1_1.html

拷贝地址

上一篇:基于TFT-LCD显示屏的电子相册设计

下一篇:3D打印机的全闭环运动控制方案

版权声明:版权归中国自动化网所有,转载请注明出处!

相关技术文章
物联网;UHF;RFID读写器;软件设计