《(整理)应答器报文读写器通信协议规范V001.docx》由会员分享,可在线阅读,更多相关《(整理)应答器报文读写器通信协议规范V001.docx(20页珍藏版)》请在三一办公上搜索。
1、应答器报文读写器通信协议规范VO.0.1泛亚华智智能控制技术有限公旬2012年09月14B修改记录版本修改章节修改内容概要修改人日期VO.0.1全部建立2022-09-14签署页负责人签字日期编制审核审定批准目录1 概述61.1. 目的和范围61.2. 缩略词与术语61.3. 命令简略图61.4. 参考文献7L5.数据编码说明72PC机到读写器的数据通信格式92.1. 通信数据概述:91. 1.1.通信数据包:92. L2.加密后的数据的源码内容91.1. 3.CRC32校验方式91.2. 通信命令定义92. 2.1.读码命令93. 2.2.读有源默认命令104. 2.3.写码命令105. 2
2、.4.改写命令106. 2.5,读应答器ID命令117. 2.6.写应答器ID命令118. 2.7.修正读写器时间命令119. 2.8.写入或者改写读写器信息命令113读写器到PC机的数据通信格式133.1. 通信数据概述:133.1.1. 通信数据包:133.1.2. CRC32校验方式133. 2.应答命令定义133. 2.1,应答读码命令133. 2.2.应答读有源默认命令143. 2.3.应答写码命令143. 2.4.应答改写命令153. 2.5,应答读ID命令153. 2.6.应答写ID命令1610. 2.7.应答修正时间命令1611. .8.应答写入或者改写读写器信息命令174读写
3、器到应答器的数据通信格式194.1.读码194.2.读有源默认194.3.读ID194.4.写码204.5.写ID215数据加密算法225.1.算法说明225.2.加密算法225.3.解密算法221概述1.1. 目的和范围本文档描述了应答器报文读写器上位机与下位机之间的数据通信协议和下位机改写应答器信息时读写设备和应答器之间的通信协议。本文档的合用范围是对应答器报文读写器的描述,不做其它方面使用。1.2. 缩略词与术语读写器:只包含向应答器写报文的下位机部份,不包含PC机。DES:对称密码算法。原码CRC32:未经加密的数据计算的CRC,校验范围不包含命令码。加密CRC32:经加密后的数据计算
4、的CRC,校验范围包括命令码,将原码和原码CRC32加密后的数据。1.3. 命令简略图读码读有源默认写码改写写ID读ID读写器信息修正时间图1PC机到读写器命令读码读有源默认读TD写码写TD应答器图2读写器到应答器命令1.4. 参考文献序号标识文档名版本RlMlSRA_CC语言工业标准编码规范2004版R2SUBSET-085v222R3VeriLOg编码规范VI.0.0R4R5R6R7R8R9RlORllR12R131.5. 数据编码说明考虑本设备对应答器数据操作的安全性,本协议采用摹仿DES的自定义的加密算法。降低PC机软件被摹仿的可能性,增加对应答器数据操作的安全性。PC机到读写器及读写
5、器到PC机的数据通信采用定长指令集。本文档所有关于通信的数据均采用16进制表示,表示方式用C语言的表示方法即以Ox开头。2PC机到读写器的数据通信格式PC机到读写器的单条命令的数据长度为256字节,读写器到PC机的单条应答数据的长度为300字节。通信速率为115200bps,无奇偶校验的8位数据长的通信方式,住手位为1位。2.1.通信数据概述:描述数据通信长度和加密及校验方式。2.LL通信数据包:命令(2字节)+(加密后的数据250字节)+加密CRC32(4字节)2. 1.2.加密后的数据的源码内容明码数据(246字节)+明码CRC32(4字节)2.1. 3.CRC32校验方式CRC32校验方
6、采用用V接口的通信校验方式。加密CRC32用于校验通信过程中的数据校验,用以检验接收到的数据的有效性。原码CRC32用于校验解密后的源码,防止读写器在数据解密过程中造成的数据运算错误。CRC32校验的四个字节的数据传输顺序为由高到低。例如CRC32的计算结果为0x3F4576A3,数据传输的顺序为3F4576A3。校验多项式为:X32+X3(KX27+X25+X22+X2()+X13+X12+X1I+X10+X8+X7+X6+X5+X4+X02.2. 通信命令定义本节描述PC机到读写器通信的数据命令内容。说明的是数据在加密前的各种命令包含内容。信息相当于:命令(2字节)+(明码数据250字节)
7、+CRC32(4字节)o250字节的明码数据包含数据和数据的原码CRC32。未使用字节用本命令的命令信息填充,做非长0或者非长1传输。具体信息见每一个命令的说明。2. 2.1.读码命令1)功能:读取无源应答器报文、读取有源应答器正在发送的LEU报文、读取有源应答器没有发送LEU报文的情况下自身的默认报文。2)命令码:OXIlIl3)明码数据:填充246字节的0x11。4)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据不包含命令码。5)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。2
8、22.读有源默认命令1)功能:读取正在发送LEU报文的有源应答器的默认报文、读取有源应答器没有发送LEU报文的情况下自身的默认报文、读取无源应答器报文。本命令与读码命令的区别在于有源是否正在发送LEU报文。2)命令码:0x13133)明码数据:填充246字节的0x13。4)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据,不包含命令码。5)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。2.2.3 写码命令1)功能:通知读写器将应答器报文写入应答器。无条件写入。不查询应答器原有的报文信
9、息。此命令应该在应答器安装前使用。安装到现场的应答器建议使用改写命令。2)命令码:0x41413)明码数据:a) 128字节的厂家报文信息;b) 104字节的用户报文信息;c) 14字节的备用信息,填充0x41。4)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据,不包含命令码。5)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。2.2.4 .改写命令1)功能:通知读写改写应答器报文。有条件写入。读写器将查询应答器原有的报文信息。如果原有的应答器编号与待写入的应答器编号相同,读写器将改
10、写应答器报文。安装到现场的应答器使用此命令,防止误改写。2)命令码:0x42423)明码数据:a) 128字节的厂家报文信息。b) 104字节的用户报文信息。c) 3字节的待写入的报文的应答器编号。d) 11字节的备用信息,填充0x42。4)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据,不包含命令码。5)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。2. 2.5.读应答器ID命令D功能:读取应答器的ID信息。2)命令码:0x6161o3)明码数据:填充246字节的0x61。4)原
11、码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据不包含命令码。5)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。3. 2.6.写应答器ID命令1)功能:改写应答器的H)信息。本命令只在应答器出厂前使用。随读写器的PC机软件不包含此命令。2)命令码:0x6262。3)明码数据:a)62字节的ID信息;b)184字节的备用信息,填充0x62。4)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据,一不包含命令码。5)加密CRC32:4字节CRC32校验码,校验范围包括
12、命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。2.2.7. 修正读写器时间命令1)功能:本命令修正读写器的时间与PC机时间同步。D命令码:0x7171。2)明码数据a) 7字节的时间信息;b) 239字节的备用信息,填充0x71。3)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据,不包含命令码。4)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。2. 2.8.写入或者改写读写器信息命D功能:本命令修正读写器的信息。本命令只在读写器出厂前使用。随读写
13、器的PC机软件不包含此命令。1)命令码:0x7272。2)明码数据:a)最多246字节的读写器信息,信息为ASCn码格式。3)原码CRC32:4字节CRC32校验码,校验范围包括246字节的明码数据,不包含命令码。4)加密CRC32:4字节CRC32校验码,校验范围包括命令码,250个字节的加密后的数据(包含:246字节的明码数据,原码CRC32)。3读写器到PC机的数据通信格式3. L通信数据概述:读写器到PC机的单条应答数据的长度为300字节。读写器向PC机发送的数据具有应答性质,不考虑数据的可摹仿性,因此不对传输的数据进行加密。以明码数据的形式传输,数据传输的有效性校验采用CRC32校验
14、方式。通信速率为5200bps,无奇偶校验的8位数据长的通信方式,住手位为1位。31.1.通信数据包:命令(2字节)+(应答的明码数据294字节)+CRC32(4字节)1)命令:接收到的PC机的命令;2)应答的明码数据:读写器按PC机命令操作后生成的结果数据;3)CRC32:参见CRC32校验方式。3.1. 2.CRC32校验方式CRC32校验方采用用V接口的通信校验方式。CRC32用于校验通信过程中的数据校验,用于检验接收到的数据的有效性。CRC32校验的四个字节的数据传输顺序为由高到低。例如CRC32的计算结果为0x3F4576A3,数据传输的顺序为3F4576A3。校验多项式为:X32+
15、X3O+X27+X25+X22+X2O+X13+X12+X11+X10+X8+X7+X6+X5+X4+X03. 2.应答命令定义本节描述读写器到PC机的应答数据内容。数据内容为:命令(2字节)+(应答的明码数据294字节)+CRC32(4字节)。294字节应答的明码数据包含应答的数据内容,具体内容见各个应答命令的说明。不使用字节用本命令的命令信息填充,做非长0或者非长1传输。具体信息见每一个命令的说明。4. 2.1.应答读码命令读写器接收到读码命令后开始读取应答器报文,读写器在命令结束后返回结果信息。D读码成功:a)命令字(2字节):内容是接收到的PC机的命令OXIlI1;b)厂家报文(128
16、字节):解码成功后的1023位厂家报文;c)用户报文(I(M字节):解码成功后的830位用户报文;d)备用信息(40字节):填充为命令字OXnI1。e)上传信号强度(2字节):高字节在前。f)读写器信息(20字节):读写器本身的编号。g)CRC32(4字节):用于检验数据的有效性。1)读码失败:a)命令字(2字节):内容是接收到的PC机的命令的反码OXeeee;b)应答器操作失败信息(2字节):i. 0x1234为未收到应答器数据;ii. 0x1235为收到应答器数据。c)备用信息(270字节):填充为命令字OXeeee;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节):读写
17、器本身的编号。f)CRC32(4字节):用于检验数据的有效性。3.2.2,应答读有源默认命令读写器接收到读有源默认命令后开始读取有源应答器默认报文,读写器在命令结束后返回结果信息。1)读有源默认成功:a)命令字(2字节):内容是接收到的PC机的命令0x1313。b)厂家报文(128字节):解码成功后的1023位厂家报文。c)用户报文(104字节):解码成功后的830位用户报文。d)备用信息(40字节):填充为命令字0x1313。e)上传信号强度(2字节):高字节在前。f)读写器信息(20字节):读写器本身的编号。g)CRC32(4字节):用于检验数据的有效性。2)读有源默认失败:a)命令字(2
18、字节):内容是接收到的PC机的命令的反码OXeCCc;b)应答器操作失败信息(2字节):i. 0x1234为未收到应答器数据;ii. 0x1235为收到应答器数据;c)备用信息(270字节):填充为命令字OXeCec;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节):读写器本身的编号。f)CRC32(4字节):用于检验数据的有效性。3.2.3.应答写码命令读写器接收到写码命令并还原出有效地数据后开始将报文信息写入应答器,读写器在命令结束后返回结果信息。1)写码成功:a)命令字(2字节):内容是接收到的PC机的命令0x4141b)备用信息(272字节):填充为命令字0x4141
19、。c)上传信号强度(2字节):高字节在前。d)读写器信息(20字节):读写器本身的编号。e) CRC32(4字节):用于检验数据的有效性。2)写码失败:a)命令字(2字节):内容是接收到的PC机的命令的反码OXbebe;b)应答器操作失败信息(2字节):i. 0x1234预留失败码1;ii. 0x1235预留失败码2;c)备用信息(270字节):填充为命令字OXbebe。d)上传信号强度(2字节):高字节在前。e)读写器信息(20字节):读写器本身的编号。f) CRC32(4字节):用于检验数据的有效性。3. 2.4.应答改写命令读写器接收到写码命令并还原出有效地数据后开始读取应答器的报文,读
20、取成功后,将报文编号与接收到的应答器编号比较,如果相同将报文信息写入应答器,否则取销本次写入,读写器在命令结束后返回结果信息。1)改写成功:a)命令字(2字节):内容是接收到的PC机的命令0x4242;b)备用信息(272字节):填充为命令字0x4242。c)上传信号强度(2字节):高字节在前。d)读写器信息(20字节):读写器本身的编号。e)CRC32(4字节):用于检验数据的有效性。2)改写失败:a)命令字(2字节):内容是接收到的PC机的命令的反码OXbdbd;b)应答器操作失败信息(2字节):i. 0x1234预留失败码1;ii. 0x1235预留失败码2;c)备用信息(272字节):
21、填充为命令字OXbdbd;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节):读写器本身的编号。f)CRC32(4字节):用于检验数据的有效性。3.2.5.应答读ID命令读写器接收到读ID命令后开始读取应答器报文,读写器在命令结束后返回结果信息。D读ID成功:a)命令字(2字节):内容是接收到的PC机的命令0x6161b)ID信息(62字节):读取成功后的ID信息;c)备用信息(210字节):备用信息填充0x6161;d)上传信号强度(2字节):高字节在前。e)读写器信息、(20字节):读写器本身的编号。f)CRC32(4字节):用于检验数据的有效性。2)读ID失败:a)命令字
22、(2字节):内容是接收到的PC机的命令的反码0x9e9e;b)应答器操作失败信息(2字节):i. 0x1234为未收到应答器数据;ii. 0x1235为收到应答器数据;c)备用信息(272字节):填充为命令字0x9e9e;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节):读写器本身的编号。f)CRC32(4字节):用于检验数据的有效性。3.2.6.应答写ID命令读写器接收到读ID命令后开始读取应答器报文,读写器在命令结束后返回结果信息。3)写ID成功:a)命令字(2字节):内容是接收到的PC机的命令0x6262;b)备用信息(272字节):填充为命令字0x6262。c)上传信
23、号强度(2字节):高字节在前。d)读写器信息(20字节):读写器本身的编号。e) CRC32(4字节):用于检验数据的有效性。4)写ID失败:a)命令字(2字节):内容是接收到的PC机的命令的反码0x9d9d;b)应答器操作失败信息(2字节):i. 0x1234为未收到应答器数据;ii. 0x1235为收到应答器数据;c)备用信息(272字节):填充为命令字0x9d9d;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节):读写器本身的编号。f) CRC32(4字节):用于检验数据的有效性。3.2. 7.应答修正时间命令读写器接收到修正时间命令后开始读取应答器报文,读写器在命令结
24、束后返回结果信息。5)时间修正成功:a)命令字(2字节):内容是接收到的PC机的命令0x7171b)备用信息(272字节):填充为命令字0x7171。c)上传信号强度(2字节):高字节在前。d)读写器信息(20字节):读写器本身的编号。e) CRC32(4字节):用于检验数据的有效性。6)时间修正失败:a)命令字(2字节):内容是接收到的PC机的命令的反码0x8e8e;b)应答器操作失败信息(2字节):i. 0x1234为未收到应答器数据;ii. 0x1235为收到应答器数据;c)备用信息(272字节):填充为命令字0x8e8c;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节
25、):读写器本身的编号。f) CRC32(4字节):用于检验数据的有效性。3. 2.8.应答写入或者改写读写器信息命令读写器接收到写入或者改写读写器信息命令后开始读取应答器报文,应答器报文编号匹配后开始写入新的报文,读写器在命令结束后返回结果信息。7)写入或者改写读写器信息成功:a)命令字(2字节):内容是接收到的PC机的命令0x7272;b)备用信息(272字节):填充为命令字0x7272。c)上传信号强度(2字节):高字节在前。d)读写器信息(20字节):读写器本身的编号。e)CRC32(4字节):用于检验数据的有效性。8)写入或者改写读写器信息失败:a)命令字(2字节):内容是接收到的PC
26、机的命令的反码0x8d8d;b)应答器操作失败信息(2字节):i. 0x1234为未收到应答器数据;ii. 0x1235为收到应答器数据;c)备用信息(272字节):填充为命令字0x8d8d;d)上传信号强度(2字节):高字节在前;e)读写器信息(20字节):读写器本身的编号。f)CRC32(4字节):用于检验数据的有效性。4读写器到应答器的数据通信格式读写器到应答器的数据,激活应答器,以要求的方式处理数据。读写器到应答器的信息通信速率为:40kbps,即每位数据传输过程中保持25us的时长。读写器到应答器的数据位DBPL编码后的数据。应答器经DBPL解码后识别各种信息。4.1. 读码读写器开
27、启27MhZ能量信号,激活应答器,应答器开始发送存储在应答器存储区的报文数据。读写器接收并解码。按照协议格式反馈到上位机。读码有以下几种情况:1)读无源应答器报文2)读经有源应答器发送的LEU报文3)读有源应答器默认报文(在有源应答器没有发送LEIJ报文时)4. 2.读有源默认本命令读取有源应答器在发送LEU报文的模式下有源应答器本身存储的默认报文。需要9MHz和27MHZ能量都开启。应答器识别的操作命令为四个连续的000A(16进制数据格式)。由于应答器只识别DBPL编码信息,因此在读写器内被编码成DBPL格式,考虑传输的完整性和应答器被激活的延时性,进行多次编码连续发送,使应答器可以有效识
28、别,读写器实际发送768位DBPL数据,应答器识别命令后切换到发送有源默认报文发送模式。编码后数据如下:*读有源默认命令DBPL码*6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A6666665A4. 3.读ID本命令读取应答器存储的ID信息。需要9MHZ和27MHZ能量都开启。
29、应答器识别的操作命令为四个连续的000B(16进制数据格式)。由于应答器只识别DBPL编码信息,因此在读写器内被编码成DBPL格式,考虑传输的完整性,进行多次编码连续发送,使应答器可以有效识别,读写器实际发送768位DBPL数据,应答器识别命令后切换到写ID模式。编码后数据如下:*读ID命令DBPL码*6666665A999999A56666665A999999A56666665A999999A56666665A999999A56666665A999999A56666665A999999A56666665A999999A56666665A999999A56666665A999999A56666
30、665A999999A56666665A999999A56666665A999999A54.4. 写码读写器在接收到PC机的写码命令后,将接收到的报文数据,编码成应答器可识别的数据。需要9MHz和27MHZ能量都开启。激活应答器内读码和写码的CPLD。读写器将命令码、辅助数据、地址、数据统一编码成DBPL数据。(命令码+辅助数据1+地址1+数据1+辅助数据N+地址N+数据N)读写器发送到应答器的信息包含如下内容:命令+待写入信息。命令:应答器识别的操作命令为四个连续的OOoA(16进制数据格式)。读写器在写码结束后开启读码模式,保证写码和读码使用不同的模式,应答器在处理过城中使用不同的通道。待
31、写入信息:1)辅助数据:该数据的信息为全1数据的DBPL编码,用于两个被写数据之间的数据延时,为延时时长为5ms的数据。2)地址:数据被应答器接收到经DBPL解码后发送到存储芯片,存储芯片接收到该数据后将后边的数据写入到本信息制定的地址空间。该信息由读写器发送到应答器之前经DBPL编码。3)数据:需要写入到应答器存储芯片的数据,地址由地址信息指定。本信息在发送前由读写器DBPL编码。4.5. 写ID读写器在接收到PC机的写码命令后,将接收到的报文数据,编码成应答器可识别的数据。需要9MHz和27MHZ能量都开启。激活应答器内读码和写码的CPLD。读写器将命令码、辅助数据、地址、数据统一编码成D
32、BPL数据。(命令码+辅助数据1+地址1+数据1+辅助数据N+地址N+数据N)读写器发送到应答器的信息包含如下内容:命令+待写入信息。命令:应答器识别的操作命令为四个连续的OOo8(16进制数据格式)。读写器在写码结束后开启读码模式,保证写码和读码使用不同的模式,应答器在处理过城中使用不同的通道。待写入信息:4)辅助数据:该数据的信息为全1数据的DBPL编码,用于两个被写数据之间的数据延时,为延时时长为5ms的数据。5)地址:数据被应答器接收到经DBPL解码后发送到存储芯片,存储芯片接收到该数据后将后边的数据写入到本信息制定的地址空间。该信息由读写器发送到应答器之前经DBPL编码。6)数据:需
33、要写入到应答器存储芯片的数据,地址由地址信息指定。本信息在发送前由读写器DBPL编码。5数据加密算法本章描述数据通信的加密算法。5. L算法说明本算法采用摹拟DES的自定义的加密算法。加密为对称加密模式,要求被加密数据为偶数个数。5. 2.加密算法D用被加密数据异或者字母“D”的ASCll码。2)将步骤1)得到的数据异或者字母“X”的ASCnI码。3)将步骤2)得到的数据异或者字母“Q”的ASCIl码。4)将步骤3)得到的数据平均分成两份,用后一部份数据异或者前一部份数据得到的值赋给前一部份空间。5.3,解密算法D将要解密的数据平均分成两份,用后一部份数据异或者前一部份数据,得到的值赋给前一部份空间。2)将步骤1)得到的数据异或者字母“Q”的ASCIIl码。3)将步骤2)得到的数据异或者字母“X”的ASenl码。4)将步骤2)得到的数据异或者字母“D”的ASCn码。