问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CAN总线仲裁如何补偿发送到接收的延时?

创作时间:
作者:
@小白创作中心

CAN总线仲裁如何补偿发送到接收的延时?

引用
1
来源
1.
https://cloud.tencent.com/developer/article/2482086

CAN总线在汽车电子和工业控制领域中被广泛应用,其仲裁机制的设计对于确保通信的稳定性和可靠性至关重要。本文将详细介绍CAN总线如何通过Propagation Segment和位时序机制来补偿发送到接收的延时问题。

在总线上发送 dominant(逻辑“0”)比发送 recessive(逻辑“1”)优先级高。发送节点需要在发送每一位时,实时监测总线上实际的电平状态,以确认是否发生冲突。

CAN协议中,为了确保仲裁的正确性,采用以下机制来补偿或规避这些延时问题。

(1)时间量化与位定时(Bit Timing)

CAN总线使用严格定义的位时序(bit timing)来同步通信。每个位被分为多个时间段:同步段(Sync Segment)、传播段(Propagation Segment)、相位段1(Phase Segment 1)和相位段2(Phase Segment 2)。

Propagation Segment专门用于补偿信号的传播延时(包括 Tx 到 Rx 的延时)。通过调整Propagation Segment的长度,可以在一定程度上吸收这些延时的影响。

(2)采样点与同步机制

采样点通常在每个位的70-90%处,允许一定的延时补偿空间。如果发送方的监听信号由于传播延时未及时返回到控制器,但仍在采样点之前完成,仲裁可以继续正常进行。

(3)传播时间的行业标准

CAN协议规定了传播时间限制。根据 ISO 11898 标准,总线的物理特性和波特率决定了允许的最大延迟。例如,在 1 Mbps 的波特率下,总线的单向传播延迟通常需要小于260纳秒。

延迟的实际影响通过网络设计(短总线长度、高质量电缆)和物理层优化(高速收发器)来减小。对于高波特率(如1 Mbps及以上)的网络,延时的影响变得更加显著。这时通常会:

  • 降低总线长度:减少信号的物理传播时间。
  • 提高收发器性能:选用高速、低延迟的 CAN 收发器。
  • 使用Time Triggered CAN(TTCAN):引入时间触发机制,规避延时问题。

本文内容来源于腾讯云开发者社区,原文链接:https://cloud.tencent.com/developer/article/2482086

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号