当前位置:文档之家› Com 接口协议

Com 接口协议

Com 通讯接口协议(草稿)

概述

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

(一)报文格式

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

一、编码方式:

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

代码:(共计20个字符)

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

•标志字符:开始符:’:’(0x3A)和地址标志符:’@’ (0x40)

•结束字符:CR(0x0D)和LF(0x0A)

二、报文帧格式:

协议规定有两种帧格式,不带地址码的短帧格式和有地址码的长帧格式。

1)如下表:

在这个地方程序实际发送数据长度已经按照编码结构,是这个展开的数据长度了,

就是2倍了。

报文帧的各部分说明如下:

(1)开始:

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

(2)帧编号:

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

(3)功能码

定义长度为1Byte,编码范围0x00—0xFF。分为四种,定义范围和作用,如下

(4)数据长度:

标记数据包部分的数据长度。规定长度为2Byte。

(5)数据包:

是报文帧携带的状态和数据部分。数据长度不固定。

如果报文帧是指令帧,数据包部分就是指令参数。

如果报文帧是应答帧/数据帧,数据包部分就是传送的状态和数据,数据格式由主机指令规定。

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

(6)校验码:

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

计算结果是2字节,加入报文帧时,低字节在前,高字节在后。

(7)结束符:

协议规定报文帧的结束标志是‘CR-LF’(Hex 0x0D和0x0A)

三、通讯方式:

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

主—从应答方式:

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

指令帧只能是上位机发给机具的。

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

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

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

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

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

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

按照协议的编码规定,应答帧/数据帧的编码结构应该如下表所示:

(二)通讯协议

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

用户的需求是多样的,所以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,指令定义如下表:

2、机具管理指令:

3、自动工作模式指令:

4、用户自定义指令:

三、指令说明及格式:

1、ISO15693标准操作指令:

2、机具管理指令:

3、自动工作模式指令:

4、用户自定义指令:

相关主题