-
计算公式
波特率 = CAN总线时钟频率 / (1 + Time Segment1 + Time Segment2)
采样点 =( 1 + Time Segment1)/ (1 + Time Segment1 + Time Segment2) -
CAN总线时钟频率
CAN总线时钟频率(Tq Clk),如下图13-1所示,由两部分决定,第一,时钟源(外部时钟或内部总线时钟),第二,预分频系数。

-
波特率和采样点设置
假如选择的时钟源为外部8M的晶振时钟,预分频系数为1,根据波特率计算公式,假如波特率设定为500K,则可以得出
(1 + Time Segment1 + Time Segment2) = 8 * 1000000 / 500 * 1000 = 16(Tq)
所以选择外部8M的时钟源,波特率设定为500K,则Time Segment1 + Time Segment2恒定为15(Tq)(注意:寄存器设置时要相应的减1,具体参考数据手册)。
根据采样点计算公式,设置不同的Time Segment1和Time Segment2的值的组合,可以得出不同的采样点
如下图13-44所示,对于Time Segment1和Time Segment2的设置,从微观上看就是将一个CAN bit位的时间划分为若干个segment(一个segment的时间为最小时间单位Tq),这个segment的数量由CAN总线时钟(TQ时钟)和通讯波特率决定,如下图的Bit Rate公式和上文波特率计算公式所示。

-
TSEG1和TSEG2设置注意事项
对于Time Segment1和Time Segment2的设置,参考下图Table 13-36,并不要求设置的值完全在同一行,可以错行,已实测验证过。

本文详细介绍了CAN总线的波特率计算公式和采样点设置方法,以8M晶振和预分频系数1为例,解释了如何通过调整TimeSegment1和TimeSegment2来实现500K波特率。同时强调了TimeSegment1和TimeSegment2的设置注意事项,以及它们如何影响CANbit位的时间划分。
7914

被折叠的 条评论
为什么被折叠?



