CAN通信学习笔记——位时序

材料:STM32
目标:设置波特率完成通信

一个位的组成


CAN通信学习笔记——位时序_第1张图片
这些段又由可称为 Time Quantum(以下称为Tq)的最小时间单位构成。
波特率=每秒传输码元数目
位速率=1/波特率
就STM32而言,传播时间段(PTS)与相位缓冲断1(PBS1)合并形成了时间段1。
因此,正常位时间=同步段(SS)+时间段1(PTS+PBS1)+时间段2(PBS2)
正常位时间单位为:qt(时间单元)
tq=(BRP[9:0]+1*Tpclk(一个时钟周期)
CAN通信学习笔记——位时序_第2张图片
1位由多少个Tq 构成、每个段又由多少个Tq 构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点。


各时序段作用


CAN通信学习笔记——位时序_第3张图片


SJW的产生

CAN通信学习笔记——位时序_第4张图片
采样时间加大或减少量的最大值就是SJW


CAN_BTR寄存器
CAN通信学习笔记——位时序_第5张图片


简单配置例子
波特率=36000(42000)/(Tbs1+Tbs2+1)*(BRQ+1)

STM32F103
设TS1=8、TS2=7、BRP=3
波特率=36000/[(9+8+1)*4]=500Kbps。
STM32F407
设TS1=6、TS2=5、BRP=5
波特率=42000/[(7+6+1)*6]=500Kbps。

你可能感兴趣的:(CAN通信学习笔记——位时序)