结构图:
SS (synchronization segment):
SS是通过监视帧间空间中从隐性位到显性位的边沿来执行同步的段。 帧间空间包括间歇,挂起传输和总线空闲。 总线空闲期间,所有节点均可开始传输。
TSEG1 (Time segment 1):
TSEG1是吸收CAN网络上物理延迟的网段。 CAN网络上的物理延迟是CAN总线上的延迟,输入比较器中的延迟和输出驱动器中的延迟的两倍。
TSEG2 (Time segment 2):
SJW (Resynchronization jump width)
SJW是延长或减少时间段的长度,以补偿由于相位误差引起的相位误差。
1.采样点 = (SS + TSEG1)/(SS + TSEG1+TSEG2)
2.Can bit time = 1/ Can speed
3.Can Tq = Fn(分频数)/Fcan) Fcan 输入时钟 Tq: Time quantum
4.CAN bit time = CAN Tq * TqCount ;CAN bit time 也简写为NBT (Nominal Bit Time )
5.Tq Count = SS + TSEG1 + TSEG2
举例
Fcan输入时钟为60Mhz,分频数为6,Can Tq = 6/60M = 0.1us
设置总线波特率为500kbit/s 则CAN bit time = 1/500k = 2us ,TqCount = CAN bit time/CAN Tq = 2/0.1 = 20
那么SS + TSEG1 + TSEG2 = 20
SS固定占用一个Tq,分配TSEG1和TESG2,可以调整采样点位置
设置TESG1 = 14 ,则TESG1 = 5,(在瑞萨手册看到要求TSEG1 > TSEG2 > SJW)
则 采用点位置 = (SS + TSEG1)/(SS + TSEG1+TSEG2) = (1+14)/ 20 = 75%
一般采样点位置要求在75-80% 但很难调整到中间值。
SJW是另外一个参数与采样点计算无关。