CN101114331B - 一种基于epc读写器规约的通用读写器通讯方法 - Google Patents

一种基于epc读写器规约的通用读写器通讯方法 Download PDF

Info

Publication number
CN101114331B
CN101114331B CN2007101199648A CN200710119964A CN101114331B CN 101114331 B CN101114331 B CN 101114331B CN 2007101199648 A CN2007101199648 A CN 2007101199648A CN 200710119964 A CN200710119964 A CN 200710119964A CN 101114331 B CN101114331 B CN 101114331B
Authority
CN
China
Prior art keywords
write line
read write
layer
message
main frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007101199648A
Other languages
English (en)
Other versions
CN101114331A (zh
Inventor
欧阳元新
王栋威
张挺
任桥
熊璋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN2007101199648A priority Critical patent/CN101114331B/zh
Publication of CN101114331A publication Critical patent/CN101114331A/zh
Application granted granted Critical
Publication of CN101114331B publication Critical patent/CN101114331B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

一种基于EPC读写器规约的通用读写器通讯方法,包括读写器层、信息层和传输层组成,读写器层:负责把用户操作请求抽象为操作对象的方法和属性,传至信息层;或者从信息层接收操作对象的方法和属性,执行对象的方法和属性,转化为操作请求;信息层:负责把读写器层抽象出的对象的方法和属性封装成请求报文,或者从传输层接收请求报文中解析出操作对象的方法和属性;同时主机处理请求报文和处理主动响应,读写器处理接收请求报文和处理发送主动响应;传输层:将信息层封装好的报文在网络中发送到另一端,同时接收另一端发送的报文,将其传输到信息层。本发明建立了统一通用的读写器设备通讯协议,减少了异构系统的整合和上层应用开发的困难;进一步增强了射频识别的适应性。

Description

一种基于EPC读写器规约的通用读写器通讯方法 
技术领域
本发明涉及到一种通用RFID读写器通讯方法,特别是一种基于EPC读写器规约的通用RFID读写器通讯方法。 
背景技术
射频识别(Radio Frequency Identification,RFID)是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。从RFID的整体框架及应用发展来看,用来将前端RFID设备与后端企业应用系统相连的核心技术变得越来越重要。对于实际部署的RFID方案,最终目的是为了收集各种来源的数据为业务所用。用户首先会面对如何将前端数据与其后端业务系统连接起来,其次是如何保证所有收集到的数据能够顺利转换成有效的业务信息,以及如何确保数据采集的安全性等更多、更深层次的问题。为了解决这些问题,在应用中一般通过RFID中间件来实现。 
但是,用来将读写器设备与应用系统相连的RFID中间件与读写器整合给RFID应用带来了新的问题。RFID中间件与读写器往往是异构的,这就为最上层应用造成了不可逾越的困难。主要问题有:(1)前端协议(读写器与标签协议)种类不统一,使得读写器设备及其后端协议(读写器与中间件)也随之多样化;(2)读写器支持的天线类型和数量不统一,容易造成节点数据采集控制混乱;(3)由于各不同厂商都有自己的后端协议,设备缺乏互联互通的基础;(4)接口种类也十分多样,如RS-232,TCP/IP等,大规模应用系统复杂且成本高。 
针对上述困难,许多应用厂商和组织制定了相应的规范和协议以实现读写器与中间件通讯协议的通用化和标准化。其中最典型是SimpleLightweight RFID Reader Protocol(SLRRP)通用读写器通讯协议,该协议是Reva公司的合作伙伴与企业标准的制订机构、团体、读写器供应商、读写器芯片厂商共同制定的。SLRRP实现的方法是通过自定义的方法在SLRRP通道上的传输来实现的,底层协议是TCP/IP。对于RFID应用的用户,SLRRP的明显优点在于如果遵循该规范,不同的读写器和中间件系统可以较为容易的集成,提高效率并减少差错。但是,该协议由于是从厂商专有协议发展而来,具有许多专有协议的局限性:一是对于通讯协议中读写器逻辑功能的定义采用常见的硬编码方式,如果读写器功能有所变化,系统可扩展性较差;二是命令的参数固定,不支持动态参数,在复杂应用的场合下,缺乏通用性的支撑能力;三是读写器与中间件接口目前只支持TCP/IP协议,没有对底层协议的可靠性进行约束。 
为适应RFID在物流领域的应用需求,美国麻省理工大学于1999年首次提出了EPC系统(Electronic Product Code)的概念。EPC系统是基于EPC编码技术、RFID技术和互联网技术的信息采集和信息服务系统,其最终目标是为全球开放的物流供应链管理建立全球化、标准化、系统化的统一标识标准,推动物流供应链管理的进一步发展。 
现在通用射频识别读写器通讯协议的发展方向主要是制定符合EPC读写器规约概念模型的通讯协议,按照EPC读写器规约模型的要求,协议体系结构分为三层:读写器层、信息层和传输层。符合EPC读写器规约概念模型的通讯协议。 
发明内容
本发明解决的技术问题:克服现有技术的不足,提供一种基于EPC读写器规约的通用读写器通讯协议,该协议具有统一性和通用性、开放的,遵循统一的协议规范,减少了异构系统整合和上层应用开发的困难,增强了射频 识别的适应性,可扩展性强。 
本发明的技术解决方案:一种基于EPC读写器规约的通用读写器通讯协议,包括主机和读写器,两者之间进行信息交换,主机或读写器分别由读写器层、信息层和传输层组成,其特点在于: 
读写器层:为协议的核心,指定读写器与主机之间交换信息的内容及抽象语法格式,负责把用户操作请求抽象为操作对象的方法和属性,传至信息层;或者从信息层接收操作对象的方法和属性,执行对象的方法和属性,转化为操作请求; 
信息层:负责把读写器层抽象出的对象的方法和属性封装成请求报文,或者从传输层接收的请求报文中解析出操作对象的方法和属性;同时主机处理请求报文和处理主动响应,读写器处理接收请求报文和处理发送主动响应;如果需要安全性方面的服务(例如鉴定、授权、信息的机密性及完整性),也将在该层提供; 
传输层:是上层各功能赖以实现的基础,它向信息层提供最基本的传输服务,将信息层封装好的报文在网络中发送到另一端,同时接收另一端发送的报文,将其传输到信息层。 
所述的读写器层的结构为一个通用对象模型,在该通用对象模型中建立有所需要的用户操作以及操作的含义,当用户有操作请求时,从所述的通用对象模型中寻找与之对应的操作,抽象成对象的方法和属性及其对象之间的关系。 
所述的读写层的通用对象模型根据用户的要求建立,主要包括:标签过滤模型、事件产生模型、设备管理模型、天线管理模型、数据过滤模型和接口管理模型。 
本发明与现有技术相比的优点在于:本发明建立了统一通用的读写器设备通讯协议,减少了异构系统的整合和上层应用开发的困难。从EPC物联网的角度,EPC组织定义了整个EPC应用的系统框架,其中包含关于读写 器的概念模型,这个模型详细的描述了读写器与中间件之间数据整合的要求。EPC读写器规约概念模型定义了一些共同最基础的特征,并且提供了一个标准化的方法处理有关的访问和控制。由于EPC是唯一在RFID应用上有明确规范的标准,所以以EPC读写器规约为基础来设计读写器通讯协议,这样可以在结构和功能上保证与上层应用的无缝集成,并实现从逻辑功能角度考虑的通用性。 
附图说明
图1为本发明的总体结构; 
图2为本发明的读写器层结构; 
图3为本发明的读写器层对象模型; 
图4为本发明的信息层结构; 
图5为本发明主机处理请求报文和处理主动响应流程图; 
图6为本发明读写器接收请求报文和发送主动响应流程图; 
图7为本发明的传输层结构; 
图8为本发明的传输层建立连接的处理流程图; 
图9为本发明的传输层发送处理流程图; 
图10为本发明的传输层接收处理流程图。 
具体实施方式
如图1所示,按照EPC读写器规约模型的要求,协议体系结构分为三层:读写器层、信息层和传输层。本发明协议的上层对象是运行RFI D中间件或相应软件的工业PC机、采集节点或是主控系统,通过本发明来与具体的读写器进行通讯和控制。 
1.读写器层的具体设计 
读写器层的功能如下: 
(1)指定读写器与主机之间交换信息的内容及抽象语法格式,是本协议 的核心,该层定义读写器所执行的操作以及操作的含义,操作的类型包括标签过滤、事件产生、设备管理、天线管理、数据过滤和接口管理等; 
(2)读写器层必须对读写器通讯协议在主机和读写器之间的逻辑功能进行详细和准确的描述,必须解决各种操作类型的相互关系,上层运行RFID中间件的各种设备对于读写器操作的理解必须统一,为了进一步的说明各种操作的类型和相互关系,读写器层采用对象建模来描述其应完成的功能; 
(3)定义了一组标准的读写器对象类型,给出了一种抽象的数据结构,作为协议中应用服务的一种框架; 
(4)大部分应用的服务设计成对这些标准对象类型的属性进行访问与操作,因此,读写器层实现的三大要素为对象(Object)、属性(Property)和方法(Method); 
(5)对象的生命周期由读写器层负责,即读写器层动态支持对象的创建与销毁,只有这样才能够灵活的处理各种RFID应用在不同场合的要求; 
(6)不管读写器对象出现在哪里,如何实现,其操作的方法都一样,操作的结果也是预知的。 
如图2所示为本发明的读写器的结构,本发明的读写器层的结构为一个通用对象模型,在该通用对象模型中建立有所需要的用户操作以及操作的含义,当用户有操作请求时,从所述的通用对象模型中寻找与之对应的操作,抽象成对象的方法和属性及其对象之间的关系。 
图2中的上框为用户请求操作,主要包括:标签过滤、事件产生、设备管理、天线管理、数据过滤和接口管理等,这些操作可以根据用户的要求随时更改或增减。将上述的用户请求操作进行抽象描述为多个操作对象,这些操作对象对应相应的操作方法和属性,如读写器的对象1,对应着对象1的属性和方法,读写器的对象2,对应着对象2的属性和方法等,形成下框的通用对象模型。读写器的实现首先要先建立通用对象模型,这些对象模型即包括上述各类用户请求操作的模型,如标签过滤模型、事件产生模型、设备管理 模型、天线管理模型、数据过滤模型和接口管理模型等,当用户有操作请求时,如标签过滤请求操作,则从该通用对象模型中寻找出与标签过滤对应的模型,生成标签过滤对象及对象关系,包括操作方法和属性,传输至信息;当每次传输完后,销毁所对应的对象。 
如图3所示,本发明读写器层的通用对象建模遵循EPC读写器规约。通过一个读写器层的通用模型,使得人们可以用面向对象协议模型组装出各种提供不同能力的读写器服务,而所有这些服务都是基于同一模型。一个读写器对象拥有多个上报通道和多个数据来源。每一个上报通道都与一个数据过滤对象相关联,数据过滤对象的作用是在这个上报通道设置参数来上报相应的数据。也就是说,一个上报通道只上报特定数据来源的事件,所以必须与一系列的数据来源相关联。触发器也可以与一系列的数据来源或上报通道相关联。如果被关联到数据来源,触发器负责控制读循环的过程。如果被关联到上报通道,触发器应控制上报队列中的异步数据发送。命令通道在这里是一个虚对象,主要是用来说明应该具有这样一个功能模块。如果主机打开与读写器的通讯通道并且读写器未拒绝,必定会有一个命令通道存在。一个读写器必须在默认用来监听命令地址之上设定至少一个命令通道,主机通过读写器的地址来建立命令通道。同样,上报缓冲区也和命令通道一样,用来说明应该具有这样一个功能模块。在实际应用中通过缓冲区来存放上报的数据和事件是十分必要的。上报缓冲区与上报通道之间从概念上来讲也是一对一相关联,这主要是因为可以简化上报通道设计,因为上报通道必须具有数据缓冲排队机制保证数据上报到主机的正确性。如果将上报通道与上报缓冲区相连就可以利用报告缓冲区的排队机制。 
2.信息层的具体设计 
信息层的功能如下: 
信息层对于读写器层定义的若干种对象,应定义如何操作对象自有的方法,而对象的方法正对应读写器设备的某一种功能,读写器层如果要访问一 个对象,就必须依靠信息层格式去寻找对象实例地址。每个对象封装了若干数据,也就是对象中的实例变量,读写器的各种对象都包含实例变量,其中某些实例变量作为读写器对象的属性值存在。 
信息层的结构如图4所示,读写器层的对象的交互可能有多种,主要包含对象状态转换、属性变化和方法调用,最终归结为数据流。信息层要根据一个统一的语法规则把读写器层的对象交互封装成数据流或从数据流中解析出读写器层的对象交互,数据流是由数字或者字符信息、状态信息和错误信息组成的。信息层必须提供相应形式化的定义来描述此语法规则,该规范必须灵活且扩充性好,且不依赖于具体硬件,以保证协议的通用性。信息层还要对封装或解析的数据流进行错误检测与处理,若数据校验出错则丢弃该报文。数据层还要对发送和接受过程中的数据流的状态进行管理,缓存未得到确认的报文,以保证信息层的可靠性。读写器层的对象的交互可能有多种,主要包含对象状态转换、属性变化和方法调用,最终归结为数据流,包含数字或者字符信息、状态信息和错误信息,那么信息层必须提供相应形式化定义的规范,该规范必须灵活且扩充性好,且不依赖于具体硬件,以保证协议的通用性。 
信息层把读写器层中抽象的对象的方法和属性封装成报文采用BNF表达式,其完整语法规则如下: 
<MSDU>               ::=<Command>(<END_OF_CMD Token><Command>)* 
<Command>            ::=<Reader Address><Operation List> 
<Reader Address>     ::=[<ReaderNumber>]<Group ID> 
<ReaderNumber>       ::=(DF)*A0..DE Hex 
<Group ID>           ::=(9F)*00..9E Hex 
<Operation List>     ::=<Addressed Msg>(<END_OF_LIST Token> 
                     <Add ressed Msg>)*|<User Defined Message>+ 
<Addressed Msg>      ::=<Object ID><Message List> 
<Message List>       ::=<Message>(<END_OF_LIST Token><Message>) 
<Object ID>          ::=<Object Class><Object Number> 
<Message>            ::=<Simple Method><Macro Message>
<Simple Method>              ::=<Method ID>[Argument List] 
<Macro Message>              ::=<Macro ID>[Argument List] 
<Method ID>                  ::=(7F)*(60..7E)Hex 
<Macro ID>                   ::=(CF)*80..CE Hex 
<Argument List>              ::=<Argument>(<DELIMITER Token>[<Argument>]*) 
<Argument>                   ::=<Object ID>|<Boolean Value>|<NumberString> 
                                |<Character String>|<Data Value>|<Alias ID> 
<Object ID>                  ::=<Object Class><Object Number> 
<Object Class>               ::=(5F)*40..5E Hex 
<Object Number>              ::=(3F)*01..3E Hex 
<Boolean Value>              ::=00Hex|01Hex 
<Number String>              ::=[“-”]<Integer String>[“.”<Integer String> 
                                [″E″[“-”]]<Integer String>]] 
<Integer String>             ::=<Digit>+ 
<Character String>           ::=<LITERAL Token><Character>* 
<Digit>                      ::=“0”..“9” 
<Character>                  ::=00..7E Hex 
<Data Value>                 ::=<DATA Token><Integer String><ESCAPE Token> 
                             <Any Value>* 
<Alias ID>                   ::=(CF)*80..CE Hex 
<MSDU>                       ::=<Response> 
<Response>                   ::=<Reader Address><Status> 
<Status>                     ::=<FalseEvaluation Token>|<Error Token> 
                                 <Error Value>[<Data Value>]|<Completed Token> 
                                 [<Argument List>] 
<Error Value>                ::=<Integer String> 
<LITERAL Token>              ::=F3Hex 
<DATA Token>                 ::=F4Hex 
<DELIMITER Token>            ::=F5Hex 
<ESCAPE Token>               ::=F6Hex 
<LITERAL Token>                   ::=F7Hex 
<END_OF_CMD Token>                ::=F9Hex 
<END_OF_LIST Token>               ::=FA Hex 
<END_OF_MSG Token>                ::=FB Hex 
<False Evaluation Token>          ::=FC Hex
<Error Token>          ::=FD Hex 
<Completed Token>      ::=FE Hex 
其中:<MSDU>为信息层传递的数据,由若干条主机发送给读写器的命令或读卡器的命令响应和主动响应组成,<Command>为读写器地址ReaderAddress和操作列表Operation List构成;<ReaderNumber>由读写器编号ReaderNumber和组号Group ID构成;Operation List为操作列表,是命令中的内容,它包含多个消息Message分别发送到相应的读写器对象。 
信息层是用来实现所有读写器层需要的操作。为了实现信息层通讯协议,构成基于该层协议的驱动程序所需要的基本函数有:信息层发送和接收处理函数和读写器层处理函数。为了实现几个函数之间的联系和数据共享,定义了一个信息层数据缓冲区,每个缓冲区又分为两部分:数据接收区和数据发送区。 
由于主机和读写器所实现的功能不同,所以主机和读写器的信息层的处理也不同。主机的信息层处理函数主要用于实现构成请求报文、处理主动上报响应、超时重发等;而读写器的信息层处理函数主要用于分析请求报文,构成响应报文、超时重发等。 
(1)主机的信息层处理函数 
主机信息层处理函数有两部分:处理请求报文和处理主动响应。下面具体说明主机信息层处理函数的流程,见图5。 
处理请求报文的流程如下: 
①如果用户有请求要求,根据信息层规范和定义,构成有效的请求报文。 
②将构成的有效请求报文发送到信息层缓冲区,启动超时计时器,主要是考虑到如果没有收到读写器的命令响应时,主机能够多次尝试重发报文。 
③请求报文需要等待读写器的命令响应确认,直到收到确认或重发次数达到3次。如果收到确认,则进一步处理;否则,则重发该报文, 
处理主动响应的流程如下: 
①如果用户没有请求,主机信息层处理函数随时接收主动响应。
②如果收到主动响应,根据信息层规范和定义分析和提取数据,转入相应的操作。 
③发送确认报文,确认报文不需要重发机制。 
(2)读写器信息层处理函数 
读写器信息层处理函数有两部分:接收请求报文和发送主动响应。下面具体说明读写器应用层处理函数的流程,见图6。 
接收请求报文的流程如下: 
①如果读写器没有数据主动上报,信息层处理函数随时接收请求报文。 
②如果收到请求报文,先根据信息层规范和定义分析请求报文,提取对象及操作。 
③验证格式是否正确,如不正确则放弃。 
④执行对象方法操作,如果正确执行则获取结果构成确认报文,否则返回错误类型的报文。 
⑤发送确认报文到信息层发送缓冲区中。 
发送主动响应的流程如下: 
①根据读写器层的要求以及上报的数据,构成主动响应报文。 
②把主动响应报文发送到信息层发送缓冲区中。 
③设置计时器等待确认,如果收到确认,检查序号正确,则进行下一步;如果超时,则重发该主动响应报文,直到收到确认或重发次数达到3次为界。 
3.传输层的具体设计 
该层在向信息层提供服务时,必须保证协议的可靠性,提供监视物理信道的手段以保证数据传输的正确性和可靠性。 
传输层为协议的最底层,它是上层各功能赖以实现的基础,向上层即传输层提供最基本的传输服务。传输层的结构如图7所示,上层需要网络传输时,就调用传输层的服务接口,传输层负责保证协议的可靠性,同时还负责错误检测和链接维护。工业控制网络是传输层的最底层,它是真正传输数据 的物理接口,RFID读写器采用的物理接口涉及范围很广,有常见的RS-232、以太网直到复杂的具有无线传感器网络的RFID读写器。 
传输层定义了一系列数据链路机制以保证数据传输的可靠性和容错性。传输层的帧格式如下所示: 
  
起始位(SDU) 数据长度(LE) 数据长度校验(LE=LEr) 目的地址(DA) 源地址(SA) 帧控制字节(FC) 数据(0-247)(DU) 帧校验字节(FCS) 帧结束(ED)
其中: 
SDU:    开始符,区别帧起始,SDU=0×10; 
LE:     数据长度,指示数据字段的长度; 
LEr:    数据长度校验,LEr=LE; 
DA:     目的地址,表示接受该帧的结点; 
SA:     源地址,表示接受该帧的结点; 
FC:     帧控制字节,包含用于该帧服务和控制信息等详细说明 
DU:     数据字段,包含有效的数据信息; 
FCS:    帧校验字节,不进位加所有帧字符的和; 
ED:     帧结束届定符(16H) 
帧格式适用于主动帧和应答帧,帧中字符不存在空闲位。 
FC定义如下: 
  
Res(7) FRAME(6) FCB(5) FCV(4) Res(0-3)
其中: 
Res:    保留(发送方将设置此位为二进制“0”); 
Frame:  帧类型,“=0”,读写器主动发送到主机的帧;“=1”,主机主 
         动发送到读写器的帧; 
FCB(Frame Count Bit):帧计数位,0、1交替出现; 
FCV(Frame CountBit Valid):帧计数有效,“=0”,FCB的交替功能                            无效;“=1”,FCB的交替功能有效; 
Function:功能码,其解释如下表所示;另外,为了减少通信次数,一 个数据包可以同时具有多种类型,例如当该字段的取值为0Bh(01h |02h|08h)时,说明该数据包既是ENQ包,又是ACK包,同时也是普通数据包。一般情况下,一个数据包不允许既是ACK包又是NAK包。 
Function定义 
传输层对重复帧的错误检测方法如下: 
帧计数位FCB用来防止响应方数据的重复和发起方的丢失。当一个消息发起方第一次给响应方发送请求帧时,FCV=0,FCB=1。如果此时响应方还处于为未运行状态,当发起方在第二次对该响应方发起请求时,仍置FCV=1,FCB=1。如果响应方已经运行,将FCB=1与发起方的地址(SA,Source Address)一起存储。发起方收到了响应方的正确应答后将不会重复此请求帧。此时,若发起方再次对同一响应方发送数据帧,发起方将设置FCV=1,FCB=0/1。 
对于响应方来说,当接受到一个FCV=1的主动帧时,如果收到的主动帧与响应方保存的SA不同,则响应方不检查FCB的值。如果与保存的SA相同,它将检查FCB的值,并与前一个该发起方发送的数据帧的FCB进行比较,如果存在FCB(0/1)的交替出现,则响应方确认前一个报文循环已经正确完成。在这种情况下,响应方都会保存FCB和SA的值,直到接受 到一个新的请求帧为止。 
响应方在每次响应请求帧时将保存本次的应答或回答帧直到收到前一报文已经正确完成的确认。如果一个应答帧或回答帧丢失或有错误,则发起方在重试请求时将不会修改FCB的值,此时响应方将得知前一个报文循环存在错误,它将再次向发起方传送保存了的应答帧或回答帧数据。 
由于射频识别的许多应用场合对于系统的安全性是具有较高的要求,传输层必须提供相应的安全机制。传输层提供的加密功能选择较易实现的DES算法,具有较高的效率和易用性。 
根据传输层协议的设计,传输层是面向连接的、全双工的、实现停止等待、自动重发、超时等待机制的协议。 
(1)传输层的发送处理如下 
传输层的发送处理函数实现了数据打包成帧、链路的连接、数据链路的测试、发送、超时重发、校验、请求数据链路状态等操作。数据链路层的发送处理函数有4个参数:目的地址、源地址、数据指针和发送字节数。 
传输层的发送处理包括建立连接和建立连接后的发送处理,其中建立连接的处理流程如图8所示: 
①在主机启动时,需要判断链路是否连接,如果没有连接,就发送链路复位帧, 
②启动超时计时器,等待确认帧;如果收到确认帧,设置相应参数;如果超时,重发链路复位帧,直到收到确认帧或重发次数达到3次,确认链路无法连接,通知用户; 
传输层建立链接后的发送处理流程如图9所示: 
①根据链路用户的要求,构成各种帧。如果是数据帧,就从传输层的发送缓冲区取数据,一次只能取256个字节。 
②设置重发次数为0,发送帧到传输层缓冲区。 
③发送完帧后,启动计时器,等待确认。如果收到确认帧,就返回。如 果超时,就重发该帧,直到收到确认帧或重发次数达到5次,确认链路无法使用通知用户。 
(2)传输层的接收处理如下 
传输层的接收处理函数实现了校验及构成确认帧、检查接收缓冲区、检查目的地址和FCB位(帧计数位)等功能。接收处理函数随时扫描接收缓冲区是否有数据,如果是发给该设备的数据,就接收并进行处理,然后把处理过的数据和源地址交到信息层。 
接收处理流程如图10所示: 
①随时扫描接收缓冲区是否有数据,如果有则取出数据,如果格式错误则重新组帧,直到组成完整的帧; 
②检查其目的地址是否是本读卡器,如果是,进一步处理;如果不是,丢弃该数据帧; 
③对该帧数据进行校验,如果校验不正确,丢弃该数据帧;如果校验正确,则进一步进行处理; 
④从帧中取出帧头进行分析,首先检查FCV位,即帧计数有效位是否有效,如果有效,就检查帧头中的FCB位,与本读卡器站保存的FCB位是否一致,如果不一致,丢弃该帧;如果一致,进一步处理;。 
⑤发送确认帧,并且取出数据传到传输层的接收缓冲区中;然后本读卡器设的FCB位取反一次。

Claims (1)

1.一种基于EPC读写器规约的通用读写器通讯方法,实现主机和读写器两者之间的信息交换,主机或读写器分别由读写器层、信息层和传输层组成,其特征在于:
(1)用户通过主机发送操作请求时,通讯步骤如下:
①主机通过主机读写器层将用户的操作请求抽象为操作对象的方法和属性,然后传至主机信息层;
②主机信息层根据信息层规范和定义,构成有效的请求报文,并将构成的有效请求报文发送到主机信息层缓冲区,交由主机传输层进行传输,启动超时计时器,如果没有收到读写器的命令响应时,主机重发报文;请求报文需要等待读写器的命令响应确认,直到收到确认或重发次数达到规定的次数,如果收到确认,则进一步处理;否则,则重发该报文;
③主机传输层向主机信息层提供最基本的传输服务,将主机信息层封装好的报文在网络中发送到读写器传输层;
④读写器传输层将接收到的报文上报给读写器信息层,读写器信息层先根据信息层规范和定义分析请求报文,提取对象及操作;验证格式是否正确,如不正确则放弃,如正确则执行对象方法操作,如果正确执行则获取结果构成确认报文,否则返回错误类型的报文;发送确认报文到读写器信息层发送缓冲区中,交由读写器传输层进行传输;
⑤读写器传输层向读写器信息层提供最基本的传输服务,将读写器信息层封装好的报文在网络中发送到主机传输层;
(2)读写器主动上报数据时,通讯步骤如下:
①依照读写器层中抽象的对象的方法和属性,根据读写器信息层的要求以及上报的数据,构成主动响应报文;把主动响应报文发送到读写器信息层发送缓冲区中,交由读写器传输层进行传输;设置计时器等待确认,如果收到确认,检查序号正确,则进行下一步;如果超时,则重发该主动响应报文,直到收到确认或重发次数达到3次为界;
②读写器传输层将读写器信息层封装好的报文在网络中发送到主机传输层,主机传输层接收到报文后,上报到主机信息层;
③主机信息层根据信息层规范和定义分析和提取数据,转入相应的操作,上报给主机读写器层;发送确认报文,确认报文不需要重发机制;
④主机读写器层从主机信息层接收操作对象的方法和属性,执行对象的方法和属性,转化为操作请求,提示给用户。
CN2007101199648A 2007-08-06 2007-08-06 一种基于epc读写器规约的通用读写器通讯方法 Expired - Fee Related CN101114331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101199648A CN101114331B (zh) 2007-08-06 2007-08-06 一种基于epc读写器规约的通用读写器通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101199648A CN101114331B (zh) 2007-08-06 2007-08-06 一种基于epc读写器规约的通用读写器通讯方法

Publications (2)

Publication Number Publication Date
CN101114331A CN101114331A (zh) 2008-01-30
CN101114331B true CN101114331B (zh) 2011-03-16

Family

ID=39022665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101199648A Expired - Fee Related CN101114331B (zh) 2007-08-06 2007-08-06 一种基于epc读写器规约的通用读写器通讯方法

Country Status (1)

Country Link
CN (1) CN101114331B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237349A (zh) * 2008-02-26 2008-08-06 华为技术有限公司 报文协商方法、设备和系统
CN101957923A (zh) * 2009-07-20 2011-01-26 西门子公司 在射频识别系统中对标签数据进行读取的方法和读写器
CN102065332A (zh) * 2010-11-30 2011-05-18 广东星海数字家庭产业技术研究院有限公司 一种数字电视多兼容硬件驱动的数据读写方法
CN102361355B (zh) * 2011-10-28 2015-12-02 江苏省电力公司常州供电公司 市县调度电力设备的数据集中采集和运行监视的方法
CN102801773B (zh) * 2012-03-09 2019-04-23 上海互惠信息技术有限公司 物联网系统和物品信息获取及监控方法
CN103019792A (zh) * 2012-12-21 2013-04-03 北京经纬恒润科技有限公司 一种应用程序的重编程方法及系统
CN105139053B (zh) * 2015-10-15 2018-01-30 江苏本能科技有限公司 射频识别读写器接口协议调试装置及方法
CN108769109B (zh) * 2018-04-13 2021-11-30 西安电子科技大学 一种物联网异构设备数据的统一处理方法及系统
CN113285925A (zh) * 2021-04-25 2021-08-20 宁波圆芯电子有限公司 一种基于低成本柔性印刷标签的通信协议
CN113343735B (zh) * 2021-08-05 2021-11-05 深圳市成为信息技术有限公司 一种读写器的标签处理方法、读写器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2731567Y (zh) * 2004-06-01 2005-10-05 维深巨合(北京)科技有限责任公司 射频识别系统的前端处理系统
CN1801714A (zh) * 2004-11-10 2006-07-12 洛克威尔自动控制技术股份有限公司 将射频识别(rfid)技术与基于代理的控制系统集成在一起的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2731567Y (zh) * 2004-06-01 2005-10-05 维深巨合(北京)科技有限责任公司 射频识别系统的前端处理系统
CN1801714A (zh) * 2004-11-10 2006-07-12 洛克威尔自动控制技术股份有限公司 将射频识别(rfid)技术与基于代理的控制系统集成在一起的系统和方法

Also Published As

Publication number Publication date
CN101114331A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
CN101114331B (zh) 一种基于epc读写器规约的通用读写器通讯方法
CN104345717B (zh) 一种基于物联网的智能远程数据采集系统
CN100556036C (zh) 执行数据传送请求的方法、系统和程序
CN1722732B (zh) 节点之间进行通信的方法及系统
CN100591073C (zh) 家庭网络系统
US6763996B2 (en) Method of communication in a radio frequency identification system
CN103428627A (zh) 物联网系统中数据的传送方法、物联网系统及相应装置
EP1632893A2 (en) Device service provider interface
CN106850758A (zh) 应用于医院信息系统的数据交换方法
CN106209812A (zh) 一种物联网终端平台数据封装的方法
CN101374082A (zh) 一种单总线传感器网络协议
US5793958A (en) Network interfacing system with modules for administrating various protocol layers for a plurality of OSI models
CN105162673A (zh) 数据传输接口及方法
CN101902457B (zh) 配置外部通信协议的系统及其方法
CN108063694A (zh) 通过核心程序在通讯端口上进行压力测试的系统及其方法
CN110493775A (zh) 通过att和异常处理来适配的通信方法及系统
CN107918375A (zh) 一种设备云端监控管理系统
CN101888380A (zh) 一种传感器与采集代理之间数据交互的通用通信方法
CN106131085A (zh) 远程智控系统的通信方法
CN117439838B (zh) 一种面向边缘计算网关主从机自适应快速组网方法
CN110928608A (zh) 一种支持多种通信协议的可扩展通信框架及通信方法
CN110048914A (zh) 一种用于slip协议的丢包检测方法
CN102520988A (zh) 一种智能卡个人化数据的处理方法和系统
WO2021103117A1 (zh) 一种读取rfid标签数据的系统
JPH01255990A (ja) Icカードデータ伝送方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110316

Termination date: 20150806

EXPY Termination of patent right or utility model