分析RFID通讯组件设计与应用
扫描二维码
随时随地手机看文章
引言
射频识别技术(Radio Frequency IdentificatiON,缩写RFID),射频识别技术是20世纪90年代开始兴起的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。 这个问题的本质就是企业的应用系统与硬件接口的问题.因此,通透性就是整个应用的关键,正确抓取数据,确保数据读取的可靠性以及有效地将数据传送到后端系统都是必须考虑的问题。
传统应用程序与应用程序之间的数据通透是通过中间件架构解决,并发展出各种服务器应用软件,因此,中间件的架构解决方案就成为了RFID应用的一项极为重要的核心技术,作者讨论的就是RFID中间件的一个解决方案。
1 RFID中间件技术
RFID技术的基本工作原理是:标签进入磁场后,接收读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag,无源标签或被动标签),或者主动发送某一频率的信号(Active Tag,有源标签或主动标签):读写器读取信息并解码后,送至中央信息系统进行有关数据处理 .中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,以达到资源共享、功能共享的目的.在具体实现上,中间件是一个用API定义的软件层,具有强大的通信能力和良好的可扩展性。
RFID中间件是一种面向消息的中间件(Message.Oriented Middleware,MOM),其中信息(Information)是以消息(Message)的形式,采用异步(A—synchronous)的方式从一个程序传送到另一个或多个程序,传送者不必等待回应.它的作用主要体现在三个方面,一是控制RFID读写设备按照预定的方式工作,保证不同读写设备之间配合协调;二是按照一定规则过滤数据,筛除绝大部分冗余数据,将真正有效的数据传送给后台信息系统;三是保证读写器和企业级分布式应用系统平台之间的可靠通信。
2 RFID通讯组件的结构框架
针对读写器在各种应用软件中的应用,作者对RFID读写器的通讯指令,采用组件封装和SDK方式,进行了标准化,形成RFID标准组件,RFID标准组件是连接标签读写器、控制器和企业应用程序之间的标准化软件接口程序集合,具有分布式结构,以层次化进行组织、管理数据流,有效增加了软件的可重用性,简化了上位机应用软件的开发,提高了应用软件的可靠性和稳定性.本系统中的RFID通讯组件要求实现如下功能:提供RS232/485串口通讯接口组件、TCP/IP、UDP网络通讯接口组件,搜索读写器、配置读写器参数接口,读取、设置标签数据接口以及统一配置软件,其架构图如图1所示。
图1 RFID 通讯组件的框架
其中SDK(Software Development Kit)是指可以供软件开发人员开发自己可以在特定的平台上运行或者通过API(Application Program Interface)运行的软件产品的一组程序(文档)集合;组件(Component):是对数据和方法的二进制封装,具备跨语言调用,良好的可重用性,进程独立性等优点。
3 RFID通讯协议格式
RFID通讯组件最重要的是对数据的处理.作者重点介绍读写器对数据的处理,即通讯协议格式.文中所使用的读写器是某公司的高频工业读写器系列,包含PRR8160读写器、PRR8152读写器、PRR8032读写器.下面将简单介绍本软件中所涉及的这几种RFID 读写器,重点介绍PRR8160读写器。
3.1 PRR8160读写器
PRR8160是一款应用于工业流水线上,进行数据采集、流水线控制、跟踪管理的可编程智能数据终端机.具有TCP、UDP、RS232多种通讯方式,有极强的现场编程功能,适应性极强.其系统采用两级联网结构,采用UDP协议进行通讯,即管理主机通过访问生产数据输入终端机所在的IP地址对终端机进行数据访问和参数设置.设备工作状态采用联机工作方式:即设备将得到的用户的完整操作记录保存在RAM 内,并主动上传到管理主机,如果设备没有接收到上位机的正确返回响应(超时时间N可以由用户定义),设备将再次上传,直至成功为止,但是当设备再次得到用户新的完整操作记录,原有的RAM记录将被转移到FLASH内存储.工作时若网络断开,终端机可以自动存储工作的记录,当网络连接正常后,自动上传数据。
设备支持ARP,ICPM(ping),IP,UDP网络通讯协议,数据传输方式默认采用UDP协议,不支持数据包分组操作.数据编码方式采用HEX的数据格式操作,所有通讯数据采用“以太网CRC校验”方式,其中UDP层加UDP校验,应用数据层再加“和校验”方式,具体校验方式采用从报头至报尾所有的协议数据按16进制做累加,对256取模后的十六进制数.应用数据层的通讯协议格式如表1~3所示,其中数据单位为bit。
其中:数据长度为有效数据报文的长度;和校验为整个数据报文的校验位.有效数据部分的报文格式为:类型编号|数据|.......|类型编号|数据:
终端机检测到的打包数据格式为:打包数据格式= ‘#’+步骤1检测结果+# + 功能号+型操作类型号+‘#’+ 步骤2检测结果+ #+功能号+操作类型号+ ..... + ‘#’+步骤N检测结果+功能号+ 操作类型号‘#’.每个检测步骤中的检测结果之间用‘#’号间隔。
3.2 PRR8032读写器及PRR8152读写器
PRR8032是具有专利外观设计的表面嵌入式多功能中距离读写器.其读写距离最大23 cm,具有防冲撞电子标签读写功能,可同时对1O张电子标签的多个数据块进行操作。
PRR8152符合IS015693标准的高频工业读写设备,可选RS232、RS485以及TCP/IP通讯格式,适用于需要防水、防尘、防油污、防腐蚀等各种恶劣工作环境,是工业自动化控制领域的首选读写机器。4 RFID中间件通讯组件的软件设计
RFID中间件通讯组件包括以下几部分:底层数据通讯接口组件、设备网络接口组件、设备参数接口组件、对标签读写操作接口组件、数据库接口组件等.各接口组件既相对独立,又有密切联系.其中,笔者的通讯组件的操作标签是符合ISO/IEC 15693协议的电子标签。
本软件的设计是在Windows环境下,选用SQL Server 2000作为后台数据库,利用Visual C++6.0开发环境,将接口组函数封装成dll文件,使其可以直接被其它应用系统调用,实现读写器与计算机之间的企业局域网的通信 .整个系统的设计结构如下所述。
(1)底层数据通讯接口组件:负责数据通讯的链路层和物理层,是读写器与应用软件通讯的物理基础,在应用逻辑上,与应用通讯协议无关.所以,底层数据通讯应独立设计相对固定的接口,与高层应用分离。
(2)数据库接口组件:实现对后台数据库的操作,为RFID 中间件的开发软件提供标准的函数接口.
(3)设备网络接口组件:为客户提供连接通讯链路上的RFID读写器信息,设备参数设置接口提供更改读写器工作参数的接口,实现设备管理功能.
(4)标签读写操作接口组件:为读写器实时工作时提供与计算机通讯的接口,两者在用户和使用功能上相对对立,也可单独设计.
&nTagNum);//读取多个标签的UID。.......
....
5 RFID中间件通讯组件的一个应用
深圳普诺玛公司生产制成管理系统项目中的实时监控模块充分利用了本RFID通讯组件。简化了开发流程.其中涉及到的功能有:读取设备内部数据、打开并关闭与数据库的连接,控制读写器对标签进行操作等等.
笔者完成了以下五个接口组件的标准化:底层数据通讯接口组件、设备网络接口组件、设备参数接口组件、对标签读写操作接口组件、数据库接口组件等接口组件,为第三方的企业级软件应用提供了基础.该RFID 中间件在上海生猪收购管理系统和深圳普诺玛公司生产制成管理系统中已经得到了应用,并取得了良好的市场效果。