UHF电子标签读写模块UHFReader86
用户手册V1.10
目录
一、通讯接口规格 ................................................................................................................................................... 1 二、协议描述 ........................................................................................................................................................... 1 三、数据的格式 ....................................................................................................................................................... 2
1. 上位机命令数据块 ...................................................................................................................................... 2 2. 读写模块响应数据块 .................................................................................................................................. 2 四、操作命令总汇 ................................................................................................................................................... 4
1. EPC C1 G2(ISO18000-6C)命令 .............................................................................................................. 4 2. 读写模块自定义命令 .................................................................................................................................. 4 五、命令执行结果状态值 ....................................................................................................................................... 5 六、电子标签返回错误代码 ................................................................................................................................... 9 七、标签存储区及需要注意的问题 ....................................................................................................................... 9 八、操作命令详细描述 ......................................................................................................................................... 10
8.1 命令概述 .................................................................................................................................................. 10 8.2 EPC C1G2命令 ........................................................................................................................................ 10
8.2.1 询查标签 ....................................................................................................................................... 10 8.2.2 读数据 ........................................................................................................................................... 12 8.2.3 写数据 ........................................................................................................................................... 14 8.2.4 写EPC号 ...................................................................................................................................... 15 8.2.5 销毁标签 ....................................................................................................................................... 15 8.2.6 设定存储区读写保护状态 ........................................................................................................... 16 8.2.7 块擦除 ........................................................................................................................................... 18 8.2.8 读保护设置(根据EPC号设定).................................................................................................... 19 8.2.9 读保护设置 (不需要EPC号) ..................................................................................................... 20 8.2.10 解锁读保护 ................................................................................................................................. 21 8.2.11 测试标签是否被设置读保护 ...................................................................................................... 21 8.2.12 EAS报警设置 .............................................................................................................................. 22 8.2.13 EAS报警检测 .............................................................................................................................. 23 8.2.14 询查单张标签 ............................................................................................................................. 23 8.2.15 块写命令 ..................................................................................................................................... 23 8.2.16 读取Monza4QT工作参数 ......................................................................................................... 25 8.2.17 设置Monza4QT工作参数 ......................................................................................................... 26 8.2.18 指定掩码扩展读数据 ................................................................................................................. 27 8.2.19 指定掩码扩展写数据 ................................................................................................................. 28 8.2.20 带缓存询查 ................................................................................................................................. 30 8.3读写模块自定义命令 ............................................................................................................................... 32
8.3.1 读取读写模块信息 ....................................................................................................................... 32 8.3.2 设置读写模块工作频率 ............................................................................................................... 33 8.3.3 设置读写模块地址 ....................................................................................................................... 34 8.3.4 设置读写模块询查时间 ............................................................................................................... 34 8.3.5 设置串口波特率 ........................................................................................................................... 34 8.3.6 调整功率 ....................................................................................................................................... 35 8.3.7蜂鸣器设置 .................................................................................................................................... 35
I
8.3.8 GPIO控制命令 .............................................................................................................................. 36 8.3.9 读取GPIO状态 ............................................................................................................................ 36 8.3.10 读写模块唯一序列号获取 ......................................................................................................... 36 8.3.11 标签自定义功能设置 .................................................................................................................. 37 8.3.12 设置缓存的EPC/TID长度 ........................................................................................................ 37 8.3.13 获取缓存的EPC/TID长度 ........................................................................................................ 37 8.3.14缓存数据获取 .............................................................................................................................. 38 8.3.15清缓存 .......................................................................................................................................... 39 8.3.16 查询缓存区标签数量 ................................................................................................................. 39
II
UHF电子标签读写模块UHFReader86用户手册V1.10
一、通讯接口规格
读写模块通过UART或者USB接口与上位机串行通讯,按上位机的命令要求完成相应操作。串行通讯接口的数据帧为一个起始位,8个数据位,一个停止位,无奇偶校验位,缺省波特率57600。在串行通讯过程中,每个字节的最低有效位最先传输。
二、协议描述
通讯过程由上位机发送命令及参数给读写模块,然后读写模块将命令执行结果状态和数据返回给上位机。读写模块接收一条命令执行一条命令,只有在读写模块执行完一条命令后,才能接收下一条命令。在读写模块执行命令期间,如果向读写模块发送命令,命令将丢失。
上位机发送过程如下: 上位机 数据传递方向 读写模块 命令数据块 → 说明:上位机发送的数据串中,每两个相邻字节之间的发送时间间隔必须小于15ms。在上位机的命令数据块发送过程中,如果相邻字符间隔大于15ms,则之前接收到的数据均被当作无效数据丢弃,然后从下一个字节开始,重新接收。
读写模块接收到正确询查命令后,在不超过询查时间的范围内 (不包括数据发送过程,仅仅是读写模块执行命令的时间),会返回给读写模块一个响应。
读写模块发送过程如下: 读写模块 数据传递方向 上位机 响应数据块 → 说明:读写模块发送响应数据期间,相邻字节之间的发送时间间隔小于15ms
完整的一次通讯过程是:上位机发送命令给读写模块,并等待读写模块返回响应;读写模块接收命令后,开始执行命令,然后返回响应;之后上位机接收读写模块的响应。一次通讯结束。
1
UHF电子标签读写模块UHFReader86用户手册V1.10
三、数据的格式
1. 上位机命令数据块
Len Adr Cmd Data[] LSB-CRC16 MSB-CRC16 数据各部分说明如下: 长度(字节) 说明 Len 1 命令数据块的长度,但不包括Len本身。即数据块的长度等于4加Data[]的长度。Len允许的最大值为255,最小值为4。 Adr 1 读写模块地址。地址范围:0x00~0xFE,0xFF为广播地址,读写模块只响应和自身地址相同及地址为0xFF的命令。读写模块出厂时地址为0x00。 Cmd 1 命令代码。 Data[] 不定 参数域。在实际命令中,可以不存在。 LSB-CRC16 1 CRC16低字节。CRC16是从Len到Data[]的CRC16值 MSB-CRC16 1 CRC16高字节。 2. 读写模块响应数据块
Len Adr reCmd Status Data[] LSB-CRC16 MSB-CRC16 数据各部分说明如下: 长度(字节) 说明 Len 1 响应数据块的长度,但不包括Len本身。即数据块的长度等于5加Data[]的长度。 Adr 1 读写模块地址。 reCmd 1 指示该响应数据块是哪个命令的应答。如果是对不可识别的命令的应答,则reCmd为0x00。 Status 1 命令执行结果状态值。 Data[] 不定 数据域,可以不存在。 LSB-CRC16 1 CRC16低字节。CRC16是从Len到Data[]的CRC16值。 MSB-CRC16 1 CRC16高字节。 CRC16的C语言算法: #define PRESET_VALUE 0xFFFF #define POLYNOMIAL 0x8408
unsigned int uiCrc16Cal(unsigned char const * pucY, unsigned char ucX) {
unsigned char ucI,ucJ;
2