骁龙820A汽车 ADAS 分享方案介绍—CAN总线(二)
上篇我们简单介绍了下Can总线相关的知识,本节我们来聊聊Can的电气特性。
报文发送
节点发送报文时要检测总线状态
只有总线处于空闲,节点才能发送报文在发送报文过程中进行“回读”,判断送出的位与回读的位是否一致。
报文发送
“线与“机制
通过ID进行仲裁显性位能够覆盖隐性位ÎID值越小,报文优先级越高。
报文发送
非破坏性仲裁
退出仲裁后进入“只听”状态
在总线空闲时进行报文重发
例如,如下在四个节点不同时刻分别向总线上发送的消息。
在总线得到的总裁后具体顺序如上图。
NRZ编码与位填充
NRZ(非归零)编码
NRZ编码确保报文紧凑在相同带宽情况下,
NRZ编码方式的信息量更大
NRZ不能保证有足够的跳变延用于同步,容易带
来节点间计时器误差的累积位填充保证有足
够的跳变沿用于同步
NRZ编码与位填充
位填充
发送节点发送5个连续的相同极性位后,在位流中自动插入一个极性相反的位Î位填充
接收节点对相同极性位的数量进行检测,从位流中将填充位去掉Î清除填充
报文接收过滤
通过滤波器,节点可以对接收的报文进行过滤Î如果报文相关就进行接收
现有的帧格式
可检测的错误
错误检测
错误帧
检测错误Î发送错误帧Î通知报文错误错误帧的发送
位错误、填充错误、格式错误或ACK错误产生后当前发送的下一位发送错误帧
CRC错误Î紧随ACK界定符后的位发送错误帧
错误帧发送后Î总线空闲时重发出错的数据帧
节点的(错误)状态
主动错误状态Î可收可发、使用主动错误标志
被动错误状态Î可收可发、使用被动错误标志
总线关闭状态Î不参与任何总线活动
关于Can的错误处理,我们就讨论到这里,下节我们来讨论下Can的位定时与同步
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。