打印
[活动]

为什么CAN信号传输中要插入反码位?

[复制链接]
142|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丙丁先生|  楼主 | 2024-7-29 12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在控制器局域网(CAN)信号传输中,使用非归零(NRZ)编码方式,并在此过程中插入反码位,是为了保证数据传输的同步性和可靠性。以下是对在CAN信号传输中要插入反码位的原因的详细分析:

1. 增强同步性
   提供重新同步的机会:由于NRZ编码在长时间传输相同数据时可能导致信号电平长时间不变,这可能会使得接收端的时钟发生漂移或失去同步。通过插入反码位,即在五个连续的相同电平后强制一个电平变化,为接收端提供了重新同步的机会,确保了数据传输的准确性和稳定性。
   限制重新同步点之间的最大时间间隔**:位填充的方法通过限制连续相同电平的数量,有效地缩短了重新同步点之间的最大时间间隔,这对于维护整个系统的同步运行至关重要。

2. 提高传输效率
   维持较高的数据传输速率:与曼彻斯特编码相比,NRZ编码在相同的位时间内可以传输更多的数据位,因为曼彻斯特编码需要两个时隙来表示一个位。通过在NRZ编码中合理地插入反码位,既保证了同步性,又避免了降低数据传输速率。
   优化信号辐射特性:CAN协议所使用的带位填充的NRZ信号编码还具有良好的信号辐射特性。这种编码方式减少了信号边沿的数量,从而降低了总线辐射能量,提高了传输效率。

3. 保障数据的可靠性
   预防信号丢失:在没有足够电平变化的情况下,接收端可能因缺乏同步信息而丢失信号。位填充通过引入必要的电平变化,防止了因缺乏变化而导致的信号丢失,增强了数据传输的可靠性。
  减少节点振荡器的误差影响:由于CAN网络中的每个节点都可能有微小的振荡器误差,这些误差累积起来可能会导致显著的同步问题。通过限制连续相同电平的长度,位填充有助于减少这些误差对系统整体性能的影响。

4. 符合CAN协议规范
   遵循CAN帧结构要求:根据CAN协议的规定,在帧起始(SOF)、仲裁场、控制场、数据场等部分应用位填充,而在CRC分隔符、ACK场和EOF等部分则不采用位填充进行发送。这种设计逻辑确保了CAN信号传输严格遵守协议规范,同时兼顾了效率和可靠性。
   适应不同数据帧类型的需求:无论是数据帧还是远程帧,位填充的应用都保证了在传输过程中能够有效地识别和管理不同类型的数据帧,满足了复杂通信场景下对数据传输精确性和响应性的高要求。

此外,在了解以上内容后,以下还有一些其他建议:

注意位填充的具体实施规则:了解何时何地应用位填充,例如在连续五个相同值的位后插入一个反码位。
理解位填充与CAN帧结构的关系:掌握位填充在不同类型帧中的应用差异,如SOF、仲裁场与CRC分隔符、ACK场的区别。
考虑位填充对信号完整性的影响:虽然位填充带来了诸多好处,但也需要注意其对信号完整性和传输延迟的潜在影响。

总的来说,CAN信号传输中插入反码位的做法是经过精心设计的,旨在平衡数据传输的同步性、效率和可靠性。通过这种方式,CAN网络能够在保持高效传输的同时,最大限度地减少因缺乏电平变化导致的同步错误,确保了数据传输的准确性和稳定性。对于工程师而言,深入理解并正确应用这一机制,是优化CAN网络性能、设计高效稳定通信系统的关键。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

408

主题

1300

帖子

3

粉丝