CAN学习笔记---位时序

时序

由于 CAN 属于异步通讯,没有时钟信号线,连接在同一个总线网络中的各个节点会像串口异步通讯那样,节点间使用约定好的波特率进行通讯,特别地,CAN还会使用“位同步”的方式来抗干扰、吸收误差,实现对总线电平信号进行正确的采样,确保通讯正常。为了实现位同步,CAN协议把每一个数据位的时序分解成4 个段

  • 同步段(SS)
  • 传播时间段(PTS)
  • 相位缓冲段 1(PBS1)
  • 相位缓冲段 2(PBS2)

这四段的长度加起来即为一个 CAN 数据位的长度。这些又由可称为 Time Quantum(以下称为 Tq)的最小时间单位构成。而一个完整的位由 8~25个 Tq组成.

该图中表示的 CAN 通讯信号每一个数据位的长度为 19Tq,
位时序

段名称Tq数
SS1
PTS6
PBS15
PBS27

信号的采样点位于 PBS1段与 PBS2段之间,所谓采样点是读取总线电平,并将读到的电平作为位值的点,通过控制各段的长度,可以对采样点的位置进行偏移,以便准确地采样,

通讯的波特率(每秒可传输的数据位的个数)
总线上的各个通讯节点只要约定好 1 个 Tq 的时间长度以及每一个数据位占据多少个Tq,就可以确定 CAN 通讯的波特率。例如,假设上图中的 1Tq=1us,而每个数据位由 19个 Tq 组成,则传输一位数据需要时间 T 1bit =19us,从而每秒可以传输的数据位个数为:1x10 6 /19 = 52631.6 (bps)

同步

波特率只是约定了每个数据位的长度,数据同步还涉及到相位的细节,这个时候就需要用到数据位内的 SS、PTS、PBS1 及 PBS2段了。根据对段的应用方式差异,CAN的数据同步分为硬同步和重新同步。同步的目的都是使节点内的 SS段把跳变沿包含起来,其中硬同步只是当存在“帧起始信号”时起作用,无法确保后续一连串的位时序都是同步的,而重新同步
方式可解决该问题,这两种方式具体介绍如下:

  1. 硬同步(通过平移SS段)
    若某个 CAN节点通过总线发送数据时,它会发送一个表示通讯起始的信号,该信号是一个由高变低的下降沿。而挂载到 CAN总线上的通讯节点在不发送数据时,会时刻检测总线上的信号。可以看到当总线出现帧起始信号时,某节点检测到总线的帧起始信号不在节点内部时序的 SS 段范围,所以判断它自己的内部时序与总线不同步,因而这个状态的采样点采集得的数据是不正确的。所以节点以硬同步的方式调整,把自己的位时序中的 SS段平移至总线出现下降沿的部分,获得同步,同步后采样点就可以采集得正确数据了。
    硬同步

  2. 重新同步(通过改变PBS1或PBS2的长度)
    前面的硬同步只是当存在帧起始信号时才起作用,如果在一帧很长的数据内,节点信号与总线信号相位有偏移时,这种同步方式就无能为力了。因而需要引入重新同步方式,它利用普通数据位的高至低电平的跳变沿来同步(帧起始信号是特殊的跳变沿)。重新同步与硬同步方式相似的地方是它们都使用 SS段来进行检测。重新同步的方式分为超前和滞后两种情况,以总线跳变沿与 SS段的相对位置进行区分。
    相位超前情况如图 ,节点从总线的边沿跳变中,检测到它内部的时序比总线的时序相对超前 2Tq,这时控制器在下一个位时序中的 PBS1 段增加 2Tq 的时间长度,使得节点与总线时序重新同步。
    相位超前
    相位滞后情况如图,节点从总线的边沿跳变中,检测到它的时序比总线的时序相对滞后 2Tq,这时控制器在前一个位时序中的 PBS2段减少 2Tq的时间长度,获得同步。

相位滞后
在重新同步的时候,PBS1和 PBS2 中增加或减少的这段时间长度被定义为“重新同步补偿宽度 SJW (reSynchronization Jump Width)”。一般来说 CAN控制器会限定 SJW 的最大值,如限定了最大 SJW=3Tq时,单次同步调整的时候不能增加或减少超过 3Tq 的时间长度,若有需要,控制器会通过多次小幅度调整来实现同步。当控制器设置的 SJW极限值较大时,可以吸收的误差加大,但通讯的速度会下降。

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值