嵌入式CANopen转uart串口模块数据帧格式说明

2025-06-17 00:14:57

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]

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢