注:文中所有示例命令均为蓝色字显示,如非特殊指数,命令相关数据均以16进制形式列出。且多字节数据,如非特殊支持,顺序均为低字节在前,高字节在后;文中【】内标注的数据,为可能不存在的数据,具体用到时会有注明。
数据包格式说明:
名 称 | 长度 (Byte) | 说明 |
起始符 (SF) | 2 | 固定值0xA5AA;(即0xAA 0xA5) |
控制符 (CTRL) | 2 | 15b:12b为保留位,必须置0; 11b为CRC使能,为0时表示关闭CRC校验,为1时表示开启CRC校验; 10b:0b为数据长度,数据长度为从控制符后面开始(不包含控制符),CRC校验值结束(不包含CRC校验值); |
目标地址(DES) | 2 | 目标地址,即字库卡ID,详细组成见GID。 |
源地址 (SRC) | 2 | 源地址,发送端标志ID; |
会话ID (TID) | 2 | 会话ID,可自行定义; |
命令类型(CMD) | 2 | 命令类型; |
命令内容 | X | 该参数对应字节数由具体命令决定; |
校验位 (CRC) | 2 | CRC16校验值; |
结束符 (EF) | 2 | 固定值0x555A;(即0x5A 0x55) |
注:
1、 起始符、结束符均为固定值,不能更改;
2、 控制符中CRC位,若为0,则对应校验位CRC处默认为0x0000;若为1,则校验位CRC值为CRC16校验值;CRC校验数据从控制符CTRL开始(包含CTRL),到命令内容结束(包含命令内容)。
3、 字库卡GID,由高8位Group和低8位ID组成;该数值即为发送命令中的DES值;控制卡接受到的命令后,若对应DES数据与自身GID不符合,则认为不是发给字库卡数据,不作处理;0xFFFF可与字库卡任意GID值匹配;
4、 会话ID,用于标示会话,可用于把发送命令和回应命令一一对应起来,依此来区分每条回应对应于那一条发送,该值可根绝需求任意设置;回应命令中TID会直接取为发送命令中的TID;
5、对于有关下载字库数据,配置单元板参数,下载图片数据等较为复杂的且不常用的命令,均可由我公司提供的配套软件完成;
6、每个数据包长度不能超过1280字节;
7、所有涉及文件名的地方,命名方式均以windows系统文件名命名为准则;
各种字库类控制卡,总的通讯协议有三种,不同型号的卡通讯协议可能不同:
1、串口通讯,
2、TCP/UDP通讯
3、以太帧通讯
其中串口通讯和TCP/UDP通讯均采用标准通讯协议;
以太帧组包方式如下:
DESMAC | SRCMAC | TYPE | LENTH | DATA |
6字节 | 6字节 | 2字节 | 2字节 | n字节 |
DESMAC:目标MAC地址;
SRCMAC:源MAC地址;
TYPE:协议类型,固定值0xAAAA;
LENTH:DATA所占字节数,n;注意此值存储方式为大端存储,即高字节在前,低字节在后,跟后面字库卡协议中的绝大部分方式相反,这是里采用大端是为了与以太帧标准协议保持一致。
DATA:在这里,DATA为卡一条或多条字库卡通讯命令。