CAN总线远程帧和错误帧

CAN总线远程帧和错误帧_第1张图片


远程帧

通常,数据传输是由数据源节点(例如,传感器发出数据帧)自主完成的。但也可能存在目标节点向源节点请求发送数据的情况。要做到这一点,目标节点需发送一个远程帧,其中的标识符应与所需数据帧的标识符相匹配。随后,相应的数据源节点会发送一个数据帧以响应远程帧请求。远程帧与数据帧存在两点不同:

1)远程帧的RTR 位为隐性状态; 

2)远程帧没有数据字段。

当带有相同标识符的数据帧和远程帧同时发出时,数据帧将赢得仲裁,因为其标识符后面的RTR 位为显性。这样,可使发送远程帧的节点立即收到所需数据。

CAN总线远程帧和错误帧_第2张图片

CAN总线远程帧和错误帧_第3张图片

错误帧

错误帧是由检测到总线错误的任一节点产生。错误帧包含两个字段:错误标志字段及紧随其后的错误定界字段。错误标志字段有两种类型。节点发送哪种类型的错误标志字段,取决于检测到错误并产生错误标志字段的节点的错误状态。

CAN总线远程帧和错误帧_第4张图片

主动错误

当错误主动节点检测到一个总线错误时,这个节点将产生一个主动错误标志来中断当前的报文发送。主动错误标志由6 个连续的显性位构成。这种位序列主动打破了位填充规则。所有其他节点在识别到所生成的位填充错误后,会自行产生错误帧,称为错误反射标志。错误标志字段因此包含6 到12 个连续显性位(由1 个或多个节点产生)。错误定界字段(8 个隐性位)为错误帧划上句号。在错误帧发送完毕后,总线主动恢复正常状态,被中断的节点会尝试重新发送被中止的报文。

CAN总线远程帧和错误帧_第5张图片

被动错误

当错误被动节点检测到一个总线错误时,该节点将发送一个被动错误标志,并紧接着发送错误定界字段。错误被动标志由6 个连续的隐性位构成,而错误被动节点发出的错误帧包含14 个隐性位。由此可知,除非总线错误被错误主动节点或正在发送报文的节点检测到,否则由于错误被动标志不会影响总线运行,将继续发送报文。如果发送节点产生一个错误被动标志,那么,由于位填充规则被打破,将导致其他节点产生错误帧。错误帧发送完毕后,错误被动节点必须等待总线上出现6 个连续隐性位后,才能尝试重新参与总线通讯。错误定界符由8 个隐性位组成,允许总线节点在错误发生后重新启动总线通讯。

CAN总线远程帧和错误帧_第6张图片


版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA极客空间 微信公众号


扫描二维码关注杭州卿萃科技FPGA极客空间


 

转载于:https://www.cnblogs.com/alifpga/p/8648640.html

你可能感兴趣的:(CAN总线远程帧和错误帧)