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

本文介绍了STM32中CAN通信的位时序设置,包括位速率计算、各时间段的定义、时间量子Tq的概念以及如何通过CAN_BTR寄存器进行配置,以实现特定波特率。通过示例展示了不同STM32型号下500Kbps波特率的配置方法。

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

一个位的组成


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


各时序段作用


这里写图片描述


SJW的产生

这里写图片描述
采样时间加大或减少量的最大值就是SJW


CAN_BTR寄存器
这里写图片描述


简单配置例子
波特率=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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值