名词解释
Tq:time quanta,CAN硬件每进行一次处理所需的时间,对应CAN时钟频率,互为倒数
波特率:每s可传输的bit量,(注:CAN中波特率即为位速率),可计算得到1bit的传输时间
通过CAN时钟频率和波特率可得到1bit传输的Tq时间(NBT)
用Tq来表示1bit时间的好处:解耦硬件,每个CAN收发器的时钟频率可能不同
采样点(%):表示每bit的采样点所在位置占每bit总时间的比例
1bit传输分为4个时间段:
- 同步段 SS(Synchronization Segment):固定1Tq
- 传播段 PS(Propagation Segment)
- 相位缓冲段1 PBS1(Phase Buffer Segment1)
- 相位缓冲段2 PBS2(Phase Buffer Segment2)
Time Segment1 = PS + PBS1
Time Segment2 = PBS2
PBS1、PBS2之间即采样点
SJW:Sync Jump Width
- 当需要重同步时,通过调整PBS1、PBS2,可调整的最大范围即SJW
- SJW需事先定义,可设定的值不能超过PBS1、PBS2,不能超过4Tq
为什么要硬同步?
所有节点都检测到了起始的显性位("0"),此刻,总线上所有节点可以公平竞争,这就是"硬同步"
为什么要重同步?
为什么总线上的下降沿会提前或者滞后呢?
总线上的节点,虽然处于同一个局域网内,但是,每个节点的晶振精度未必相同,节点晶振之间可能存在偏差,因此,晶振主导的时钟频率就可能存在相位差,即:不同的节点,虽然设置了相同的通信速率,也可能存在tBit长度不同的可能,因此,发送节点在发送Bit流的时候,接收节点可能识别到下降沿的滞后或者提前。此时,就需要重同步弥补此偏差。