基于RFID的EPC中间件的设计与实现

射频/微波/无线测试

15人已加入

描述

  以前,在中国RFID的应用中,从前端数据的采集,到与后端业务系统的连接,大多是采用定制软件开发方式。一旦前端标签种类增加,或是后端业务系统有任何变化,都需要重新编写程序,开发效率极低且维护成本高。在这种背景下,中间件的概念应运而生。

  EPC系统简介

  EPC的全称是Electronic Product Code,即产品电子代码,是美国麻省理工学院自动识别中心(Auto-ID中心)提出的。EPC的载体是RFID电子标签,并借助互联网来实现信息传递。EPC系统为每一件商品建立全球唯一的识别标准,实现在全球范围内对商品具体信息的记录与查询,有效提高商品信息的管理水平,以及物流准确性,并且降低物流成本。

  EPC系统的信息网络系统是在全球互联网的基础上,通过Savant管理软件系统、ONS对象名称解析服务系统、实体标记语言(PML)实现实物的互联。

  Savant中间件的系统协议主要由RFID通信协议、应用事件管理(ALE,Application Level Event)协议等组成。ALE是EPCgobal的中间件标准,是阅读器模块和客户应用程序之间的接口协议。该协议定义了客户可以如何过滤和整合来自读写器的EPC标签,并面向不同的企业应用程序和阅读器定义了统一的接口。ALE的处理过程是:接收来自一个或多个数据源的EPC标签码:根据企业应用程序要求以一定的时间间隔整合数据,过滤重复和不感兴趣的EPC码;根据企业应用程序要求以不同的形式打包发送报告。。

  什么是RFID中间件?

  RFID中间件是一种面向消息的中间件。信息是以消息的形式,从一个程序传送到另一个或多个程序。信息可以以异步的方式传送,故不必等待回应。面向消息的中间件包含的功能不仅是传递信息,还必须包括解译数据、安全性、数据广播、错误恢复、定位网络资源、找出符合成本的路径、消息与要求的优先次序以及延伸的除错工具等服务。

  RFID中间件技术包括:并发访问技术、目录服务及定位技术、数据及设备监控技术、远程数据访问、安全和集成技术、进程及会话管理技术等。RFID中间件屏蔽了RFID设备的多样性和复杂性,能够为后台业务系统提供强大的支撑。

 RFID

  Savant中间件的功能与结构

  在功能上,Savant软件系统利用ONS对象名称解析服务并调用PML服务器上的标签应用信息供Savant上层应用软件使用,所以Savant软件系统在结构上有一些用于ONS对象名称解析服务的专用接口。

  处理模块与外部EPC系统的联系通过规范定义的接口,即阅读器接口和应用软件接口来实现。阅读器接口提供与标签阅读器的连接,Sav-ant通过该接口和阅读器建立连接,向阅读器发送各种命令。

  按照SavantSpecification 1.0标准的描述,Savant软件系统就是处理模块与各接口模块的集成容器,其各个接口模块均有一定的标准,而能用于用户开发的是Savant软件系统的处理部分。根据功能的需要,能够得到Savant中间件软件的大体结构:

  RFID

  图1模型的基本功能在于其中处理模块通过输入接口模块与输出接口模块与阅读器和上层应用软件进行联系。Savantqp间件系统是一个开放式系统,其用户定义的处理模块是功能实现的主要体现部分,提供各种用户要求的功能。在输入端,Savant中间件系统主要工作是对阅读器所采集到的电子标签信息进行收集和处理,或者根据自身内部设定的命令对阅读器输出反馈指令;在输出端,其面对的是上层应用软件的调用,或者是通过ONS对象名解析服务对PML服务器上的相应商品信息进行读取。

  由上可知,Savant中间件起的是连接阅读器系统与上层应用或者信息存储系统作用,因此对其设计主要在于完成信息的处理、过滤、暂存与计算。

  Savant中间件系统的实现

  本文实现Savant中间体软件系统的主要功能:a.过滤;b.定量信息存储:c.解析;d.接口控制。

  过滤功能

  根据第2节中所述的基本模型,并考虑到整个系统的工作效率,过滤程序应该是系统中最先工作的模块。

  一个Savant软件系统是服务于特定厂商或者是针对特定类型商品的软件,所以参考TCP/IP协定中局域网IP地址子网掩码过滤处理,只需要通过一段掩码,将该系统所服务的厂商或者所针对的特定类型商品过滤出来。将特定厂商或商品掩码与原始EPC标签代码信息通过一定的逻辑运算结合起来,即可以达到过滤信息的作用。如图2所示。

  RFID

  解析功能

  为了方便读取PML服务器上的标签信息,需将EPC代码解析成ONS服务可识别的地址域名格式。根据该解析过程的规范化的要求,利用格式化转换字符串将EPC二进制代码转换成对应的PML文件地址。

  类似于普通的Internet域名地址,存储于PML服务器上的商品信息域名地址也有着标准的域名结构。EPC地址域名由EPC域前缀名与EPC域后缀名组成。而且当前使用的EPC域后缀名为一个固定的根域名:epc.objid.net。这个翻译的过程需要引入标准的域名格式,即格式化字符串。

  举例说明如下:

  格式化字符串由1、2、3、4组成,分别表示该位所占EPC编码中的位数

  例如对于16位的EPC码,其格式化字符串可以是1.44.3.11.2(0+1+4+4+3+1+1+2=16)

  即如果这个16位的EPC码是:1001111010110010,放入格式化字符串的形式下成为了:

  (1)(0011)(1101)。(011)。(0)(0)。(10)=1.3D.3.00.2即成为EPC域前缀名。即该1 6位E P C代码的P M L域名地址为1.3D.3.00.2.epc.objid.net。

  有了格式化字符串的标准转换功能,EPC电子标签代码可唯一且一一对应地转化成PML域名地址。

  存储与查询功能

  由于不同的厂商或商品在种类、数量、需求量以及关注程度上都有所不同,如果每次检测标签时均向PML服务器提取信息,不仅会由于PML服务器的数据过大而降低提取效率,同时在传输过程中也容易有所延迟与损耗。因此Savant中间件软件系统需存储一定量的简单信息伴随EPC的具体信息,以便上层应用软件的读取,提升数据读取效率。

  本文选择FIFO(先进先出)的存储方式进行有限存储空间的利用。

  对于FIFO的实现,基本上是做结构体的向前移位操作,将在结构体数组中位置为i的结构体的内部数据完整地赋值给位置为i-1的结构体。对于最后位置的结构体,团PM-1位置,则是最新的赋值,而对于原始的第一个结构体,即0位置,会被覆盖。这个过程并不是一直无限进行下去,会有一个接口控制变量来决定是否进行移位。

  接口控制功能

  在Savant中间件软件系统中,需要加入接口模块与外部情况加以联系。如图所示。

  RFID

  该接口模块不仅接收诸如PML服务器所传输的和阅读器所传输的信号,同时为上层应用软件提供读取信息的标志字,并且对Savant软件系统的内部模块进行控制。

  在Savant中间件软件系统的内部模块之间也存在着相互控制的情况,需确定对外部情况进行联系的外部控制字以及关系到信息在系统内部传输的内部控制字。

  带接口控制的整体Savant中间件软件系统结构

  加入有效的控制字后,Savant中间件软件系统的功能变得完整,可以完成所需的过滤、解析、暂存等功能。依照前文所述的系统结构以及内部功能模块,本文画出了Savant中间件软件系统所集成的文正逻辑系统。如图4所示。

  RFID

  图4(a)逻辑程序块的主要任务集成了过滤功能与解析功能,当完成过滤后,确定该电子标签代码有效,即可进行解析操作,不需要在过滤与解析功能之间添加其他控制变量或控制信息。在完成图4(a)模块后,需要向PML服务器输出解析后的PML域名地址信息,并等待PML服务器返回该电子标签相应商品的具体信息,即进入图4(b)程序模块所代表的存储环节。由于本文采用的FIFO存储模式,需要在新的商品信息存储之前,调整存储空间中已有信息的位置,所以当图4(b)程序模块结束后,具体信息首先暂存在Savant中间件软件系统的另外开辟的存储缓冲区,并应当加入存储控制字,当该控制字有效后,存储空间进行FIFO调整,然后从另外开辟的存储缓冲区中取出待存储的信息存放至FIFO存储空间的最后位。以上即是Savant中间件软件系统的逻辑控制,三部分的逻辑控制流程图如图5所示。

  RFID

  完成了Savant中间件软件系统的逻辑设计与编程设计之后,在软件平台上利用testbench文件对这些模块进行验证检验。检验结果表明所设计的savant中间件软件系统能对EPC电子标签数据进行有效地处理。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分