器件型号: F29H850TU
我正在 F29 上进行比特率配置。 它适用于 CAN 经典模式、速率为 500K。 我使用的是 20MHz 晶体。 我为 20MHz CANA 时钟的目标分频 200MHz。
已经有一段时间了、对这些计算提出质疑。 能否请您将 chCANBitTimingCalculator.xls 记录我的号码。 应该是什么。 我当时拍摄的是 70%到 80%采样点。 谢谢你。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号: F29H850TU
我正在 F29 上进行比特率配置。 它适用于 CAN 经典模式、速率为 500K。 我使用的是 20MHz 晶体。 我为 20MHz CANA 时钟的目标分频 200MHz。
已经有一段时间了、对这些计算提出质疑。 能否请您将 chCANBitTimingCalculator.xls 记录我的号码。 应该是什么。 我当时拍摄的是 70%到 80%采样点。 谢谢你。
您好、Michal、
总结计算:
CPU_clk = 200MHz
can_clk = 20Mhz [ CPU CLK 被分频]
PreScalar = 4
TimeSeg1 = 3+3
TimeSeg2 = 3
波特率 = can_clk/(预分频)*(1 + TimeSeg1 + TimeSeg2)
= 20 /(4 *(1+3+3+3))
= 20/40
= 0.5MHz = 500kHz
采样点 =(1 + TimeSeg1)/ 1 + TimeSeg1 + TimeSeg2
=(1+3+3)/(1+3+3+3)
= 7/10
= 70%
采样点和波特率的计算似乎很好。 这将实现您所期望的结果。
需要注意的一个小问题是写入寄存器的值。 如果您计划自己写入这些值、请注意写入的值必须小于预期值。 如果您在使用 SDK 和 MCAL 产品、则不必担心、驱动程序会照做这件事。

此致、
Pranav Siddappa.