嵌入式CANopen转uart串口模块数据帧格式说明
1、异步串口数据帧格式
每1个字节用10 bits传送,1个起始位、8个数据位、无奇偶校验位、1个停止位,
波特率1200~115200 bps。 应答方式:用户设备主动询问(主),GCAN-305被动
回答(从)。主/从应答帧结构实现通常的数据通讯,数据的通讯由主机发起,称为
命令帧,其帧格式如表5.1所示;从机接收到后进行应答,称为响应帧,如表5.2所示。
2、下面按各命令排序,详细介绍命令帧、响应帧的规则。命令帧、应答帧的总长
度为:命令/响应信息的CMDinfo/ ACKinfo (数据长度)+ 5Byte,各字段说明如下:
● 帧起始字符SOF,固定为0x7E,长度为一个字节。
● 命令码CMD/响应码ACK,通常CMD=ACK,长度为一个字节。
● 命令信息CMDinfo/响应信息ACKinfo指出命令信息/响应信息的长度(字节),不包
括本身。CMDinfo/ACKinfo = 0 表示没有数据,CMDinfo/ACKinfo = 1 表示本帧
含有1个字节数据。
● 特殊参数SpeByte包括Error 、AllDataSegSize、DataSegNum信息,具体含义如表
5.3所示。
Error为特定意义位。在命令信息中,Error为保留位,通常Error =0;在响应帧
中,Error为错误标识位,Error =1,表明命令执行出错,DATA区跟随错误代码,Error
=0,表明请求成功,DATA区跟随应答数据。
AllDataSegSize、DataSegNum指出分段信息,当数据量超过255字节时,需要使
用多帧来传送,此时使用分段传输方式,共可以分为7段,即7帧。
3、AllDataSegSize表示本次信息数据共有几帧;DataSegNum表示本次发送的是第
几帧该信息数据。当AllDataSegSize = DataSegNum时表示该信息数据传输完毕。
AllDataSegSiz和DataSegNum最小值为1,不能为0。
本协议将不使用分段,AllDataSegSize、DataSegNum 固定为“1”。
● 命令/响应数据DATA,此部分与命令/响应码相结合,描述数据的具体含义。长
度在CMDinfo/ ACKinfo中说明,最大为255个字节/帧(仅数据区字节数)。
● 校验和CRC:命令/响应数据的校验和,长度为一个字节。校验和为前面所有数
据的异或值。CRC的计算公式如下:
CRC = 0x7E^ CMD ^ CMDinfo ^ SpeByte ^DATA[0]^DATA[1]^…^DATA[n-1]
或 CRC = 0x7E^ ACK ^ ACKinfo ^ SpeByte ^DATA[0]^DATA[1]^…^DATA[n-1]