ISO-11898 定义了通信速率为 125 kbps ~1Mbps 的高速CAN通信标准
ISO11519 定义了通信速率为 10~125 kbps 的低速 CAN 通信标准
11898对应的是CAN2.0B
CAN2.0B支持标准帧(11位标识符)和扩展帧(29位标识符)
在帧格式中,最小单位是位(bit),波特率表示1秒可以传输多少位,比如500Kbit/s;
在CAN数据传输过程中,bit还会进一步细分为同步段(SYNG_SEG),位段1(BS1),位段2(BS2)。位段1又包括传播时间段,相位缓冲段1;BS2为相位缓冲段2;
位时序中最小细分是时间单元(TQ),同步段固定占用1个时间单元,位段1占用1到16个时间单元,位段2占用1到8个时间单元;
以GD32或者STM32为例在CAN控制器中,最小时间单元来源CAN控制器时钟,CAN控制器时钟来自APB1,比如APB1时钟主频设置为60MHz, CAN控制器时钟为APB1 15分频后就是4M,所以可以计算得出1TQ=1/4MHz=0.25us;
假设配置CAN控制器的BS1为13TQ, BS2为2TQ,那么
位时间(NBT)=同步段1TQ+BS1 13TQ+BS2 2TQ = 16TQ = 16TQ*0.25us=4us;
所以该配置下的CAN波特率就是 1s/4us/bit=250Kbit/s