首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CAN总线仲裁如何补偿发送到接收的延时?

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

作者头像
不脱发的程序猿
发布2024-12-27 17:02:22
发布2024-12-27 17:02:22
3650
举报

CAN总线通过Propagation Segment和位时序机制对Tx到Rx延时进行了补偿,这种设计使得仲裁和通信在合理范围内的延迟下依然稳定工作。

在总线上发送 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):引入时间触发机制,规避延时问题。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 美男子玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (1)时间量化与位定时(Bit Timing)
  • (2)采样点与同步机制
  • (3)传播时间的行业标准
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档