如题目,利用CAN FD格局报文进行通讯,假定:仲裁段速度500Kbps,数据段速度2Mbps。当发送节点在数据段呈现位毛病时(eg:Bit Error,位毛病),接下来发送的毛病帧速度是继续2Mbps仍是切换到500Kbps呢?举例:以下图,发送节点发送一帧CAN FD报文,发送数据段Byte1的某个Bit时,发觉了Bit Error(发送的Bit值与回采的Bit值纷歧致),接下来,发送节点发送毛病帧,毛病帧的速度是500Kbps仍是2Mbps呢? 如上的问题源在群内小火伴的会商,小我感觉这个问题很好,很细节,也很值得思虑。本问题的出发点源在毛病帧,关在毛病帧,能够参考前文CAN通讯根本:毛病帧。 1、问题分解 以下图,假定Tx Node此时正在发送数据段(2Mbps)数据,在T1时辰,Tx Node辨认到Bit Error,且Tx Node处在Error Active状况,此时的Tx Node需要发送自动毛病帧。T2时辰,Rx Node辨认到Fill Error,即:不知足11898规范要求的填充法则(每5个不异的Bit,插入一个反向Bit,eg:000001、111110),Rx Node辨认到毛病今后,也需要发送毛病帧,假定Rx Node处在Error Active。 细化问题:在T1~T4区间,毛病帧的速度是500Kbps仍是2Mbps? 回覆这个问题,我最早想确认11898规范中是不是有谜底,我没有找到,假如读到此处的你已找到,还请奉告。固然在11898中,我没有找到谜底,在芯片手册中(英飞凌TC3xx,其他芯片,读者自行查阅),找到了对应的注释,以下所示: 注释:Tx Node发送CAN FD报文,发送高速数据段时(2Mbit),检测到毛病,速度切回Norminal Bit Rate(500Kbps),不消比及CRC界定符位置再切换500kbps。也就是说,Tx Node辨认到Bit Error,紧接着以500Kbps的速度发送毛病帧,而领受节点不论是以500Kbps速度领受仍是2Mbps速度领受,均能辨认到Fill Error,以后,Rx Node也会以500Kbps速度发送毛病帧。如上,便是本文谜底。 提醒:一个CAN网段内,一般有多个CAN节点,极可能一些节点撑持CAN FD格局报文,一些节点不撑持CAN FD格局报文,为了兼容非CAN FD节点,且让这些节点辨认到毛病帧,毛病帧的速度设想为500kbps更公道。 编纂:黄飞