Com 接口协议

更新时间:2023-09-10 10:15:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Com 通讯接口协议(草稿)

概述

此通讯协议标准主要是规定了Reader与主机之间的通讯方式,此通讯协议是建立在RS232串行通讯基础上的,实现的是单点对单点的通讯,类似于3964通讯协议,通讯中有很多往返确认的控制信息,不大适合在网络环境中使用。

(一)报文格式

报文帧包含报文的不同字段和控制信息。实际数据字段的前面有首部信息,而后面有包含关于传输正确性检查信息的数据安全部分(故障识别)

一、编码方式: 协议规定以ASCII(美国标准信息交换代码)模式通信,在传输过程中,除了标志字符和结束字符以外,其余字节按照16进制的数值拆分成两个ASCII字符表示。这样报文中的字节都是可见的ASCII字符,而且在一个比较小的范围内。如果有规定范围以外的字符出现,则为非法字符。 代码:(共计20个字符)

? 十六进制,ASCII字符0...9,A...F (不使用小写字母)

? 标志字符:开始符:’:’(0x3A)和地址标志符:’@’ (0x40) ? 结束字符:CR(0x0D)和LF(0x0A)

报文帧中允许出现的合法字符如下表: Hex 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 字符 0 1 2 3 4 5 6 7 8 9 Hex 0x41 0x42 0x43 0x44 0x45 0x46 0x3A 0x40 0x0D 0x0A 字符 A B C D E F : @ CR LF 二、报文帧格式: 协议规定有两种帧格式,不带地址码的短帧格式和有地址码的长帧格式。

1、命令帧:一个报文帧数据由7部分组成,报文帧各部分的数据长度(Hex)如下表:

开始 1Byte

帧编号 1Byte 功能码 数据长度 1 Byte 2Byte 数据包 0….nByte 校验码 2Byte 结束 2Byte 在这个地方程序实际发送数据长度已经按照编码结构,是这个展开的数据长度了,

就是2倍了。

按照协议的编码规定,报文帧的编码结构应该如下表所示: 开始 1Byte

帧编号 2 Byte 功能码 数据长度 2 Byte 4Byte 数据包 0….2nByte 校验码 4Byte 结束 2Byte 注意:为方便描述,下面涉及编码的地方,都以16进制数据的方式表述。 报文帧的各部分说明如下: (1)开始:

协议规定以字符‘:’(Hex 0x3A)作为报文帧的起始标志。 (2)帧编号:

帧编号是由发送方设定的帧序列号。接收方收到帧以后,回发“应答帧”,“应答帧”必须带有相同的帧编号。帧编号从0开始,长度是1Byte,循环使用。 (3)功能码

定义长度为1Byte,编码范围0x00—0xFF。分为四种,定义范围和作用,如下面列表: 功能码 0x00~0xBF 0xC0~0xCF 0xD0 0xD1~0xFF 名称 指令帧 预留 预留 预留 作用 上位机对Reader,发送的各种指令,具体定义看第三部分(指令集) 预留 预留

(4)数据长度: 标记数据包部分的数据长度。规定长度为2Byte。 (5)数据包: 是报文帧携带的状态和数据部分。数据长度不固定。 如果报文帧是指令帧,数据包部分就是指令参数。 如果报文帧是应答帧/数据帧,数据包部分就是传送的状态和数据,数据格式由主机指令规定。

状态部分就是接收报文的错误代码。如果接收正确,状态值为“00”。

(6)校验码:

协议规定报文帧数据校验方式是Cyclical Redundancy Check (CRC-16)方式。 CRC Definition CRC type Length Polynomial Direction ISO/IEC 13239 16bits 0x8408 Backward Preset ‘FFFF’ Residue ‘F0B8’

三、通讯方式: 协议支持规的通讯方式:主—从应答方式。

校验范围是帧编号、功能码、源地址、数据包长度和数据包。不包括起始字符和结

束字符。 计算结果是2字节,加入报文帧时,低字节在前,高字节在后。 (7)结束符: 协议规定报文帧的结束标志是‘CR-LF’(Hex 0x0D和0x0A)

主—从应答方式:

当主机发送一帧到接收端时,接收端必须回复一个应答帧/数据帧,并且在应答帧/数据帧里加上错误信息代码。 指令帧只能是上位机发给机具的。

应答帧/数据帧只能是机具发送给上位机的。

Master 指令帧 Reader Time 应答帧/数据帧 报文帧传送过程图

错误信息代码定义表 Error Code (HEX) 0x00 Description

0x0F No Reply 0x10 0x11 0x12 无错误 没有读到标签/卡 通讯错误 Command not supported by Reader Command not allowed Hardware Type not compatible

四、应答帧/数据帧定义: 应答帧/数据帧一般指的是机具对上位机,发送的报文帧。

五、应答帧/数据帧定义:

应答帧/数据帧:是报文接收方,响应发送方的帧。帧中记录的是,报文帧接收的情况,数据包中有至少1Byte的数据来表示。

一个应答帧/数据帧数据由7部分组成,应答帧/数据帧各部分的数据长度(Hex)如下表:

开始 1Byte

帧编号 1Byte 状态码 数据长度 1 Byte 2Byte 数据包 0….nByte 校验码 2Byte 结束 2Byte 按照协议的编码规定,应答帧/数据帧的编码结构应该如下表所示: 开始 1Byte 帧编号 2 Byte 状态码 数据长度 2 Byte 4Byte 数据包 0….2nByte 校验码 4Byte 结束 2Byte (二)通讯协议

通信协议定义在各种通讯环境下,两个或多个站怎样使用报文帧来交换数据。

用户的需求是多样的,所以Reader面临的通讯环境也是复杂的。目前已经遇到的通讯方式有:PS2、Wiegand、USB、RS232、422/485、Ethernet、Wi-Fi等等。

从应用的角度来说,这些通讯接口分为三类: 1、单向传输的接口:

如PS2、Wiegand等,这类应用往往是执行固定的操作,返回用户固定的数据结果。不需要上位机与机具交互信息。所以数据传输也是单向的,机具处于自动工作状态。

属于特殊应用,应该根据具体情况,做特殊规定。 不适用本协议。

2、 已经拥有标准的底层通讯协议的接口。 如Ethernet、Wi-Fi等。

对于这类接口,无需另外规定传输协议,借助原有的协议就可以发送报文帧。 例如在Ethernet网络中,报文帧的传输过程如下图:

在此类网络中,底层传输的部分,遵循该网络本身的传输协议。作为上层协议,只需要管理好自己的报文帧就可以了。

3、 RS232以及RS485、RS422网络:

为了提高产品的易用性,在RS232接口上不再采用有握手信息的协议。而是用直接传输的方式,发送报文帧。

在RS232和RS485为基础,组建的网络中,需要解析报文帧中的地址码,判断接收端。

(三)操作指令集

操作指令集的目的是为用户提供操作读写机具的方法,尽可能满足用户的使用需求,为读写机具的应用提供强大、灵活的支持。

一、 字节长度

协议规定命令字长度是1个字节,所以定义范围是0x00—0xBF。

0x00暂时空缺,不予定义。

二、 指令列表及简要说明

1、

ISO15693标准操作指令:

按照ISO15693标准,必备指令和常用可选指令一共有15个,占用范围0x01—0x0D,指令定义如下表:

Command Code Method Inventory Discription Anti-Collision: Check RF field and read all UIDs of RFID tags. Uses Inventory command. Stay Quiet: Put a specific tag into quiet state. Tags in quiet state will not reply to inventory command. Select: Put a specific tag into selected state. Tags in selected state will only reply to commands with select bit on. Reset To Ready: Put all tags in the initial ready state. All tags are in ready state when they first enter the RF field. Write AFI Byte: Changing the AFI byte of tag(s) to a new value. Lock AFI Byte: Disallowing future changing of tag(s)’ AFI value Read Block: Read the data stored in tag(s)’ single block. Write Block: Write user data into tag(s)’ single block Lock Single Block: Disallow future writing into selected tag(s)’ single block. Please note that this operation cannot be undone. Once locked, a 01 02 03 04 Stay Quiet Select Reset to ready 05 06 07 08 09 Write AFI Lock AFI Read block Write block Lock Block 0A 0B 0C 0D 0E 0F block cannot be unlocked again. Write DSFID Write DSFID: Write a new DSFID byte value into tag(s). Lock DSFID Lock DSFID: Disallow changing of DSFID byte value in the future for tag(s). Get System Info Get System Information: Get tag information (e.g. manufacturer, size, etc) from tag. Get Multi Block Get Multiple Block Security Status: Security Status Get the security status of block(s) from tag(s). Reserved Reserved

2、

机具管理指令: 自动工作模式指令: 用户自定义指令:

3、

4、

三、 指令说明及格式:

1、ISO15693标准操作指令:

2、 机具管理指令:

3、自动工作模式指令:

4、用户自定义指令:

本文来源:https://www.bwwdw.com/article/omqh.html

Top