若菜单中没有所需的波特率,可通过设置 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”文本框中,点击保存配置完成配置。
本文来自早安心语(www.zaoanxinyu.com),未经允许请勿转载。
请登录后发表评论
注册
社交帐号登录