什么是波特率(波特率计算公式)

若菜单中没有所需的波特率,可通过设置 BTR01 寄存器实现,BTR01 寄存器结构如下表所示:

寄存器结构表

BIT

31:24

23

22:20

19:16

15:14

13:10

9:0

Symbol

SAM

TSG2

TSG1

SJW

BRP

SAM:采样次数设置,置 0 时,总线被采样 1 次,一般用于波特率大于 100K 的场合; 置 1 时,总线被采样 3 次,一般用于波特率小于 100K 的场合;

SJW:同步跳转宽度,定义了在每位中可以延长或缩短多少个 CAN 时钟单元的上限, 既设置不同波特率间的容差值,跳转的时间宽度 tsjw=tscl*(SJW 1),tscl为 CAN 系统时钟;

SAM 和 SJW 建议设置为默认值 0,若有特殊需求应经过现场测试验证。

CAN 波特率计算公式:

Baud=pclk/((3 TESG1 TESG2)*(BRP 1)),其中 pclk 为 APB 时钟频率,在CANBridge 中,pclk 固定为 16Mhz;

例如波特率需设置为 500K,则(3 TESG1 TESG2)*(BRP 1)=16000/500=32,推荐 值 TESG1=12,TESG2=1, BRP=1;对应的 BTR01寄存器值为 0x001C0001,输入文本框内,点击保存配置完成配置;

提供波特率计算器工具软件,波特率计算公式与波特率计算器工具软件的对应情况如下图:

示例:

例如要设置CAN波特率是33.333bps,如下图所示,直接使用波特率计算器计算出数值0x001C001D,将其填入“BTR01 0x”文本框中,点击保存配置完成配置。

示例:

例如要设置CAN波特率是33.333bps,如下图所示,直接使用波特率计算器计算出数值0x001C001D,将其填入“BTR01 0x”文本框中,点击保存配置完成配置。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论