红宇超高频读写模块SRR1M02通信协议_第1页
红宇超高频读写模块SRR1M02通信协议_第2页
红宇超高频读写模块SRR1M02通信协议_第3页
红宇超高频读写模块SRR1M02通信协议_第4页
红宇超高频读写模块SRR1M02通信协议_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四川红宇创智科技有限公司 RFID-UHF-PROTOI红宇超高频读写模块红宇超高频读写模块 SRRM02 通信协通信协议议(节选自红宇超高频读写器通用通信协议 )1.概述概述.12.传输层协议传输层协议.12.1.RS232.12.1.1.传输桢结构.12.1.2.传输编码补充说明.22.1.3.传输错误处理.23.应用层协议应用层协议.23.1.应用层协议数据单元.23.2.应用命令集.33.2.1.0 x00 : connect 连接.33.2.2.0 x30 : tag_inventory_query 盘存标签查询.43.2.3.0 x31 : tag_access_read 读标签分

2、区数据.53.2.4.0 x32 : tag_access_write 写标签分区数据.63.2.5.0 x33 : tag_access_lock 标签数据访问锁.73.2.6.0 x34 : tag_access_kill 标签去功能化.83.2.7.0 xEF : disconnect 断开 .94.附录附录.94.1.错误编码表.94.2.TAGID 的内部格式.104.3.整数 EBV 编码.114.4.标签存储分区结构.114.5.TAG_ACCESS_LOCK的LCKDATA参数格式.12四川红宇创智科技有限公司 RFID-UHF-PROTO11. 概述概述本文协议分为应用层和传

3、输层 2 个逻辑层次,各层次有自己的编码规则,但都要遵循以下原则:协议数据采用二进制字节序列编码表示。多字节整数采用大端字节序编码,数据长度保持不变。字节串直接复制串内容。本章以下内容将对应用层和传输层分别进行阐述。2. 传输层协议传输层协议传输层定义读写器与上位机之间传输数据完整性及传输目标识别。本文将传输层的协议数据单元称为桢(Frame) 。由于传输层协议与实际的通信网络相关,所以读写器与上位机之间不同的通信网络会对应不同的桢结构,即实际的桢结构字段集合是上表的子集。本章以下将分别描述在不同通信网络中的传输桢结构。2.1.RS232RS232 传输为一对一传输,不涉及多工作站点联网。2.

4、1.1. 传输桢结构传输桢结构序号字段标识字段类型编码长度字段值域字段说明1head字节串1 B0 xAA桢头标志2plsize位域2 B(16bits)b15: 最高位,crc 字段忽略指示位,0 表示传输帧包含 crc 字段,1表示不包含 crc 字段;b14-13: 保留,置 0;b12-0: 载荷数据的编码字节数,0, 1000。3payload字节串plsize B载荷四川红宇创智科技有限公司 RFID-UHF-PROTO24crc整数2 B0, 65535校验。校验范围:head 到crc16 字段,不包括head 和 crc16 字段。校验计算方法参见附录。如果 plsize b

5、16 为 1,则该字段不在传输帧中出现。5tail字节串1 B0 x55桢尾标志2.1.2. 传输编码补充说明传输编码补充说明在传输桢的实际编码过程中,为了避免 head 和 tail 之间出现与 head 和 tail 相同的特征字节串干扰解码方对传输桢的识别,需要对 head 和 tail 字段之间出现的特征字节串(0 xAA 和 0 x55)进行转义处理,规定转义符为 0 xFF,具体处理规则如下:1) 编码时,在待发送的字节序列中每个 0 xAA、0 x55 和 0 xFF 字节前插入一个转义字节 0 xFF 形成转义编码字节序列,然后再发送;2) 解码时,根据编码时的转义规则,还原实

6、际的数据序列,然后再进行桢分析。2.1.3. 传输错误处理传输错误处理在对传输桢的解码过程中,可能发现不完整的传输桢,包括无结尾、超时、校验错误等。解码方对这些错误传输桢采取丢弃策略,不做其它任何处理。3. 应用层协议应用层协议3.1.应用层协议数据单元应用层协议数据单元应用层协议数据单元(以下简称 PDU)的逻辑结构和编码方案如下表:字段序号字段标识字段类型编码长度字段值域字段说明四川红宇创智科技有限公司 RFID-UHF-PROTO31cmd整数8 bits0, 255PDU 携带的应用命令字,具体取值参见本章:应用命令集2errno整数8 bits-128, 127命令处理错误码。err

7、no = -128 表示该 PDU 为命令请求,errno 的值本身无实际意义;errno -128 表示该 PDU 为命令应答,errno 本身取值具有实际含义,参见附录:错误代码表.3argtab字节串n BPDU 携带的命令数据(参数表) ,字节数 n 由传输层plsize 确定(n=plsize-2) ,内部结构由具体 cmd 单独定义,存储与具体 cmd 相关的请求(errno= -128)或应答(errno -128)参数表。3.2.应用命令集应用命令集命令是指在上位机和转接器之间,为了完成某个应用功能而进行的一次信息交互。一个完整的命令在通信过程中包括一个请求 PDU 和一个应答

8、 PDU,这两个 PDU 的 cmd 字段相同,但这两个 PDU 的 errno 值具有不同定义:请求 PDU 的 errno 置为常量-128,应答PDU 中的 errno 值大于-128 并且按照实际应用需要定义。对于特殊无需应答的命令,只有请求 PDU 而无应答 PDU。当命令执行错误时,如无特殊说明即表示无应答或者应答参数表为空。本文列出的应用命令集是可能的通用命令集,开发者可按照实际的读写器型号进行增删形成型号独立的命令集并形成文档。3.2.1. 0 x00 : connect 连接连接功能:建立上位机和读写器间的命令交互上下文。只有建立交互上下文,读写器才能响四川红宇创智科技有限公

9、司 RFID-UHF-PROTO4应工作命令。请求参数表:序号字段名称类型长度值域说明1password字节串4B连接口令,全 0 x00 表示无口令连接2customNo整数4B0, ffffffff)定制号,连接定制设备,0 表示公共连接应答参数表:序号字段名称类型长度值域说明1version整数位域4B设备内的固件版本号,结构为:主版本号(1B)+子版本号(1B)+编译序号(2B) ,如 0 x01000110表示 1.0.2722devSn整数4B(0, 0 xffffffff)设备序列号, 10 位 10 进制数格式如下:yy(2)mm(2)sn(6) 如:1201000241,表示

10、12 年 1 月生产,流水号241。流水号值域1, 999999,如果溢出则折返到 1 重计。3modelAscii 串0 应答参数有效,但由于定制号或者口令与设备不匹配,连接不成功SSE_SUCCESS实例请求:AA 80 0A 00 80 00 00 00 00 00 00 00 00 55应答:AA 80 13 00 00 03 03 00 01 47 E2 1E 6F 53 52 52 31 31 30 FF 55 2B 00 553.2.2. 0 x30 : tag_inventory_query 盘存标签查询盘存标签查询功能:查询盘存到的标签 ID。如果设备不处于自动盘存状态,则设

11、备将即时执行最小 Q值(由用户设置)的盘存周期。四川红宇创智科技有限公司 RFID-UHF-PROTO5请求参数表:空应答参数表:序号字段名称类型长度值域说明1tagCnt整数1 B0, 255tagIDList 中的标签 ID 记录数2tagIDListrecord串tagID 列表。List:=record*; record:= tagIDtagID 格式参见附录应答错误码:SSE_SUCCESSSSE_CMD_INVSSE_FAIL实例请求:AA 80 02 30 80 55应答:AA 80 13 30 00 01 4E 30 00 FF FF FF FF FF FF F9 11 03

12、21 16 54 23 B6 06 00 553.2.3. 0 x31 : tag_access_read 读标签分区数据读标签分区数据功能:在指定标签上读取指定分区指定位置指定长度的数据。请求参数表:序号字段名称类型长度值域说明1accPwd字节串4B口令3bank整数1B0,3分区号4offset整数EBV=0起始偏移(单位 2B),具体结构参见附录5words整数1B0读取长度(单位 2B)2tagID字节串=1B格式参见附录。tagID为空表示操作任意标签应答参数表:序号字段名称类型长度值域说明2data字节串命令指定长度成功读取的数据字节串四川红宇创智科技有限公司 RFID-UHF-

13、PROTO61tagID字节串=1B格式参见附录。如果请求 tagID 为空,则应答响应标签的 tagID,否则应答空 tagID应答错误码:SSE_SUCCESSSSE_INPUT_INVSSE_CMD_INVSSE_FAILSSE_MEM_OVRSSE_MEM_LCKSSE_TAG_PWR实例请求:AA 80 18 31 80 00 00 00 00 03 00 02 0E 30 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 55应答:AA 80 07 31 00 00 00 00 00 00 55请求:AA 80 0A 31 80 00

14、00 00 00 03 00 02 00 55应答:AA 80 15 31 00 00 00 00 00 0E 30 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 553.2.4. 0 x32 : tag_access_write 写标签分区数据写标签分区数据功能:在指定标签指定分区指定位置写入指定长度的数据。如果失败,则指定区域的数据值不可预测。请求参数表:序号字段名称类型长度值域说明1accPwd字节串4B口令3bank整数1B0, 3分区号4offset整数EBV=0起始偏移(单位 2B)5words整数1B0读取长度(单位 2B)6da

15、ta字节串words * 欲写入的数据四川红宇创智科技有限公司 RFID-UHF-PROTO72 B2tagID字节串=1B格式参见附录。为空表示操作任意标签应答参数表:序号字段名称类型长度值域说明1tagID字节串=1B格式参见附录。如果请求 tagID 为空,则应答响应标签的 tagID,否则应答空 tagID应答错误码:SSE_SUCCESSSSE_INPUT_INVSSE_CMD_INVSSE_FAILSSE_MEM_OVRSSE_MEM_LCKSSE_TAG_PWR实例请求:AA 80 1C 32 80 00 00 00 00 03 00 02 11 22 33 44 0E 30 0

16、0 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 55应答:AA 80 03 32 00 00 55请求:AA 80 0E 32 80 00 00 00 00 03 00 02 11 22 33 44 00 55应答:AA 80 11 32 00 0E 34 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 553.2.5. 0 x33 : tag_access_lock 标签数据访问锁标签数据访问锁功能:对指定标签指定区域的数据访问方式进行锁定操作。请求参数表:序号字段名称类型长度值域说明1accPwd

17、字节串4B口令3lckData字节串3B操作数,包含了目标区四川红宇创智科技有限公司 RFID-UHF-PROTO8域及对目标区域的操作动作,具体结构参见附录2tagID字节串1B非空格式参见附录应答参数表:空应答错误码:SSE_SUCCESSSSE_FAILSSE_INPUT_INVSSE_CMD_INVSSE_MEM_OVRSSE_MEM_LCKSSE_TAG_PWR实例解锁:请求:AA 80 18 33 80 00 00 00 00 00 0C 00 0E 34 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 55应答:AA 80 02 3

18、3 00 55加锁:请求:AA 80 18 33 80 00 00 00 00 00 0C 02 0E 34 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 55应答:AA 80 02 33 00 55永久锁:请求:AA 80 18 33 80 00 00 00 00 00 0C 03 0E 34 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 55应答:AA 80 02 33 00 553.2.6. 0 x34 : tag_access_kill 标签去功能化标签去功能化功能:对指定标签指定区域的

19、数据访问方式进行锁定操作。请求参数表:序号字段名称类型长度值域说明1accPwd字节串4BAccess 口令四川红宇创智科技有限公司 RFID-UHF-PROTO92killPwd字节串4Bkill 口令3tagID字节串*格式参见附录应答参数表:空应答错误码:SSE_SUCCESSSSE_FAILSSE_INPUT_INVSSE_CMD_INVSSE_TAG_PWR实例请求:AA 80 19 34 80 00 00 00 00 00 00 00 00 0E 34 00 FF FF FF FF FF FF F9 11 03 21 16 54 23 B6 06 55应答:AA 80 02 34

20、A7 553.2.7. 0 xEF : disconnect 断开断开功能:断开上位机与设备间的工作联系,该命令执行后,除 connect 外其余命令均不响应请求参数表:空。应答参数表:空应答错误码:SSE_SUCCESSSSE_FAIL实例请求:AA 80 02 EF 80 55应答:AA 80 02 EF 00 55四川红宇创智科技有限公司 RFID-UHF-PROTO104. 附录附录4.1.错误编码表错误编码表错误码标识码值错误描述0成功执行后命令定义的特殊含义返回值SSE_SUCCESS0命令执行成功-1 -49上位机 API 预留错误码空间SSE_CMD _INV-50不支持的命令

21、SSE_INPUT _INV-51输入参数无效-52 -79保留SSE_TAG_MEM_OVR-80标签存储位置越界SSE_TAG_MEM_LCK-81标签存储区已锁定SSE_TAG_PWR-82标签能量不够-83-109保留.-110-126设备预留定制错误码SSE_FAIL-127命令执行失败(未知原因或无需说明具体原因)4.2.tagID 的内部格式的内部格式序号字段标识字段类型编码长度字段值域字段说明1STAT整数1 BBit 0 5:tagID 字节数;Bit 6:状态字段选择标志(1 表示启用) ;Bit 7:时间戳字段选择标志(1 表示启用) ;全 0 表示空;2tagID整数2

22、 BPC + XPC + EPC。PC:EPC 标准文档中描述的 PC 字段;XPC:EPC 标准文档中四川红宇创智科技有限公司 RFID-UHF-PROTO11描述的 XPC,当 PC 中的 XPC 标志置 1 时,本字段长度为 2B,反之 0B;EPC:EPC 码3status位域1B标签识别时的状态(可选) 。Bit0-2:识别天线号Bit3-7:保留(置 0)4tstamp整数4B(0, 0 xFFFFFFFF)标签识别时间戳(可选),存储自 2010.01.01 00:00:00 始的秒数。0 或 0 xFFFFFFFF 表示未知时间或忽略时间4.3.整数整数 EBV 编码编码EBV是一种能表示可延伸数据的数据结构。EBV编码后的数据为字节数组,每个字节的低7位存储有效数据,最高位作为延伸指示,1表示还有后续字节,0表示该字节为EBV的末字节。EBV编码数组表示的整数既是将其中的延伸指示位挖去后形成的二进制数,高位在左。例如:127 表示为 01111111128 表示为 1000000100000000四川红宇创智科技有限公司 RFID-UHF-PROTO124.4.标签存储分区结构标签存储分区结构注:上图 “存储体 xx”中,分区号 x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论