位时间(Tbit) 时间份额(TQ) CAN波特率

120 篇文章 23 订阅

MCP2515芯片得CAN波特率计算

先确定BRP(CAN波特率预分频器)BRP该设置为多少不太确定–哈哈哈
再根据公式:TQ = 2*(BRQ + 1)/Fosc 计算出TQ
注意:BRQ为啥加一,BRQ是寄存器的设置值,从零开始计数
再根据:NBR = 1/Tbit 即CAN波特率 = 1/位时间 或者:CAN波特率 = 1/nTQ

位时间 = n个TQ
计算出n,然后把这n个TQ合理分配给同步段,传播段,相位缓冲段1,相位缓冲段2,
怎么合理分配?

同步段 (SyncSeg)为 NBT 中的首段,用于同步 CAN
总线上的各个节点。输入信号的跳变沿就发生在同步
段,该段持续时间为 1 TQ
传播段(PropSeg)用于补偿各节点之间的物理传输延
迟时间。传输延迟时间为信号在总线上传播时间的两
倍,包括总线驱动器延迟时间。传播段的长度可编程设
定为 1 – 8 TQ。
相位缓冲段 1 (PS1)和相位缓冲段 2 (PS2)
两个相位缓冲段 PS1 和 PS2 用于补偿总线上的边沿相
位误差。通过再同步,可以延长 PS1 (或缩短 PS2)。
PS1 可编程设定为 1 – 8 TQ,而 PS2 可编程设定为 2 –
8 TQ。
对时间段的编程设定必须满足以下要求:
• 传播段 + 相位缓冲段 PS1 >= 相位缓冲段 PS2
• 传播段 + 相位缓冲段 PS1 >= TDELAY
• 相位缓冲段 PS2 > 同步跳转宽度 SJW

例如,假设 FOSC = 20 MHz 时欲实现 125 kHz 的 CAN
波特率:
TOSC = 50 ns,选择 BRP<5:0> = 04h,则 TQ = 500 ns。
欲达到 125 kHz,位时间应为 16 TQ。
位的采样时刻取决于系统参数,通常应发生在位时间的
60-70% 处。同时, TDELAY 典型值为 1-2 TQ。
同步段 = 1 TQ,传播段 = 2 TQ,这种情况下设置相位缓
冲段 PS1 = 7 TQ,将会在跳变之后的 10 TQ 时进行采
样。此时相位缓冲段 PS2 长度为 6 TQ。
由于相位缓冲段 PS2 长度为 6 TQ,根据规则, SJW 最
大值为 4 TQ。然而通常状况下,只有当不同节点的时钟
发生不够精确或不稳定(如采用陶瓷谐振器)时,才需
要较大的 SJW。一般情况下,SJW 取值 1 TQ 即可满足
要求。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值