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 数如下图: