最后更新:2022-06-29 07:45:37 手机定位技术交流文章
向量网站提供的电子学习资料
五种错误检测机制
CAN协议定义了五种检测受损消息的机制:
发送者和接收者任务
位数监测和ACK检查由发送者执行。接收器进行格式检查、填充检查和循环冗余检查,这些检测 bus上的所有消息,受信器滤波器没有影响。“错误检测”图表显示了由各种错误检测机制影响的数据帧字段或远程帧字段。
填充检查(接收方)
CAN协议规定,发射器必须在5个相同的位置后发送相反位置,以实现同步。 如果同时接收5个以上的相同位置,则会出现一个填充误差。
位监控(发送方)
在位数监测的框架内,发送器将将传输的位数级与实际的总线级进行比较。 如果发送者检测到两个电极之间的差异,就会发生位置误差。
格式检查(接收方)
格式检查用于检查CAN报告的格式。所有CAN报告在某些地点都呈现相同的位置序列,这些包括CRC、ACK和EOF。发送器总是用隐藏的等价符号发送这些部分消息。如果接收器在格式检查期间在其中一个位置检测到可视的总线电压,则会发生格式错误。
循环冗余检查(接收者)
在循环冗余代码中,与接收数据帧或远程帧关联的多项式R(x)应是ISO 11898-1中指定的生成多项式G(x)的乘数。
ACK检查(发送)
《CAN协定》所界定的反应机制,所有接收器必须在完成周期冗余检查后立即响应每个接收到的CAN消息。一个肯定的答复足以通知发件人,至少有一个接收器正确接收了它发送的CAN消息。如果发件人没有收到任何积极的答复,然后有一个回答错误(ACK错误)。
数据一致性
为了在网络中实现数据一致性,CAN协议规定,如果CAN节点检测到总线错误,在CAN网络中的所有CAN节点必须通知.为此,被检测为错误的CAN节点发送一个由六个可视 bits (主要错误符号)组成的错误信号。这项行动故意违反了填空规则,这导致了部分填充错误。
错误标志
传输错误标记确保所有其他CAN节点由于检测到的总线错误发送错误标记(二级错误标记),从而终止传统的数据传输,就像主错误标记的发送者。
错误界定符
错误标记的传输由错误界限器终止。 错误界限由8个隐藏位元组成,取代传统消息传输的ACK界限和EOF界限,并结合CAN总线的强制传输暂停(ITM-帧间隔),形成11个隐藏位元(繁忙标识符)。
错误处理
错误处理由中断的CAN消息发送者完成.在ITM后,发送者将尝试重新发送中断的CAN消息。“错误处理”图概述了在检测错误后在CAN网络中所采取的所有行动。"Bit Monitoring Error"动画显示了Bit Monitoring错误作为错误处理的例子。由于公共汽车的准入是基于优先次序的,因此, 不能 保证 公共汽车 将 立即 重新 进入 。最佳情况下,从错误检测到重新输入(主错误标志、错误标识符、ITM)需要17位。如果主要和辅助错误标志不重叠,时间为23分钟。如果CAN节点处于被动错误状态,时间为31分钟。在这种状态下,CAN节点必须等待暂停传输时间8位,然后你可以再次进入CAN巴士。










避免总线拥堵
为了确保网络内的数据一致性,每个CAN网络中的节点有权终止任何被认为有故障的CAN消息。纠正CAN消息错误认为错误的CAN节点具有相同的权限。为了防止传送媒体的拥挤,CAN协议提供了错误跟踪,它被用于确保CAN节点能够区分偶然和持续干涉。
TEC和REC
每个CAN控制器都有TEC(发送错误计数器,和接收错误计数器。接收错误计数器)。如果数据帧或远程帧成功传输,相应的错误计数器会减少(TEC=TEC-1;REC=REC-1)。误差符号的检测和随后的传输会根据具体规则增加相应的误差计数器。对于发送方,以下规则适用:TEC=TEC+8。检测错误的接收器将一个单元添加到其REC(REC=REC+1)。对于造成错误的接收者,以下规则适用: REC=REC+8。
错误发生
根据具体的错误数目,CAN控制器可以更改错误状态。当CAN控制器启动时,它将输入“主动错误”的正常状态。在该状态下,CAN控制器在错误检测后发送六个可视位置(主动错误符号)。超出限制(TEC>127;REC>127)时,CAN控制器切换到“错误消极”状态。
错误消极
在被动错误状态的CAN控制器只能通过发送六个相同的隐藏位置来显示检测到的错误。这防止检测错误的接收机将检测错误的全球化。此外,当发送两个连续的数据帧或远程帧时,在被动错误状态的CAN控制器必须等待传输时间的暂停(8位)
Bus Off
如果CAN控制器故障或错误太多,你会坐公共汽车的,CAN控制器与CAN总线断开.只有通过软件恢复( Force 128 x 11 bits of waiting time)或硬件压缩才能退出“停机”状态。
本文由 在线网速测试 整理编辑,转载请注明出处。