CAN总线是如何完成信号同步的?

发表于:2023-10-12 09:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:红豆沙冰    来源:智能汽车电子

  CAN  控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。 
  显性电平对应逻辑 0,CAN_H 和 CAN_L 之差为 2.5V 左右。而隐性电平对应逻辑 1,CAN_H 和 CAN_L 之差为 0V。隐形电平具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平(显性电平比隐性电平更强)。
  CAN总线是采用NRZ(Non-Return to Zero)方法进行通讯的,这种通信有一种不好的地方,就是各个位的开头或者结尾都没有附加同步信号。CAN总线在长距离运输中,由于发送单元和接收单元存在的时钟频率误差及传输路径上的相位延迟等,都会引起同步偏差。这就导致信息传输不稳定,信号质量有问题。所以发送单元和接受单元都采用了一些通讯同步的方法来使二者电平传输能达到同步。
  同步有两种方式,一种是硬件同步,一种是再同步。在解释同步之前,先介绍下位时序。
  位时序--由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一个位可分为 4 段。 
  ·同步段(SS)
  · 传播时间段(PTS)
  · 相位缓冲段 1(PBS1)
  · 相位缓冲段 2(PBS2)
  这些段又由可称为 Time Quantum(以下称为 Tq)的最小时间单位构成。
  1 位分为 4 个段,每个段又由若干个 Tq 构成,这称为位时序。
  1 位由多少个 Tq 构成、每个段又由多少个 Tq 构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点。各段的作用和 Tq 数如下图:
  一个位的构成如下:
  看了上述位时序的介绍,我们再来看两种同步的方法。
  硬件同步
  接收单元在总线空闲状态检测出帧起始时进行的同步调整,在检测出边沿的地方不考虑SJW的值而认为是SS段。硬件同步的过程如下图所示:
  再同步
  在接收过程中检测出总线上的电平变化时进行的同步调整。
  每当检测出边沿时,根据 SJW 值通过加长 PBS1 段,或缩短 PBS2 段,以调整同步。但如果发生了超出 SJW值的误差时,最大调整量不能超过 SJW 值。
  调整同步的规则
  硬件同步和再同步遵从如下规则。
  (1) 1 个位中只进行一次同步调整。
  (2) 只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。
  (3) 在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。
  (4) 在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件(1)和(2),将进行再同步。但还要满足下面条件。
  (5) 发送单元观测到自身输出的显性电平有延迟时不进行再同步。
  (6) 发送单元在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步。
  你是否对车载测试感兴趣,想转行车载测试却无从下手呢?现在私聊恬恬圈/甜甜圈,或识别下方二维码,添加天天圈,了解车载测试入门吧↓↓↓
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号