工具/软件:
您好、
在 M4 的 MCAN 外部环回示例中、CPU1 模型将 MCANCLKDIVSEL 设置为 3。 MCANCLKDIVSEL 的默认值为 13h。 在其他目标(如 p65 和 P55)中也进行了类似的操作。 我由此产生了以下问题:
1.选择这个特殊分频值的原因是什么?
2.如果使用其他值,预期会产生什么影响?
此致、
Ganesh
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.
工具/软件:
您好、
在 M4 的 MCAN 外部环回示例中、CPU1 模型将 MCANCLKDIVSEL 设置为 3。 MCANCLKDIVSEL 的默认值为 13h。 在其他目标(如 p65 和 P55)中也进行了类似的操作。 我由此产生了以下问题:
1.选择这个特殊分频值的原因是什么?
2.如果使用其他值,预期会产生什么影响?
此致、
Ganesh
尊敬的 Ganesh:
由 Bosch 指定的 MCAN 模块以 20MHz 到 80MHz 的时钟速度运行、建议 MCAN 可以访问 20MHz、40MHz 和 80MHz 来提供 CAN 时钟离子顺序、从而确保不同 CAN FD 实现之间的互操作性。 为了实现这一点、MCANCLKDIVSEL 在馈送到 MCAN 之前添加为系统时钟 (SYSCLK) 的预分频器。 MCAN 时钟定义为 SYSCLK/(MCANCLKDIVSEL+1)、必须处于 20MHz 至 80MHz 范围内。
此致、
Joseph
尊敬的 Ganesh:
但仍不确定 100MHz 的来源。 您可能指的是整个芯片的系统时钟 (SYSCLK)。 对于 F28388、示例通常配置为以最大器件速度(即 200MHz) 运行)运行 SYSCLK。 SYSCLK 在进入 MCAN 块之前进行了预分频、方法是为 MCANCLKDIVSEL 分配适当的值、使 MCANCLK = SYSCLK/(MCANCLKDIVSEL+1)、这样就希望 MCAN 时钟从 20MHz 进入 80MHz。
此致、
Joseph
您好、Joseph:
对延迟的回复表示歉意。 正如我在问题中提到的、我们使用的是 Cortex-M4 内核(连接管理器/CM)。 其计时如下:
在使用 AUXPLL 时、可实现 125MHz 的最大 CM CLK 频率。 我们使用 SYSPLL 并将其拆分以在 100MHz 的 CM CLK 下运行。MCAN 模块也可以从 CM 侧访问。 其 MCANCLKDIVSEL 通过 CPU1 进行设置。 根据您所说的、要求是 20MHz < MCANCLK < 80MHz。 通过“建议让 MCAN 能够访问 20MHz、40MHz 和 80MHz MCANCLK“、您是否指后分频、建议使用三个建议值中的任何一个? 如果是、 是否唯一一个满足建议的 MCANCLKDIVSEL 值 4 (100/(4+1)= 20)?
此致、
Ganesh
尊敬的 Ganesh:
因此、您还可以将 MCANCLKDIVSEL (1、2、3 和 4) 用于 100MHz CM CLK、以将 MCANCLK 从 20MHz 生成到 50MHz。 对于 120MHz(或 125MHz) CM)CM CLK、您可以使用 MCANCLKDIVSEL (1、2、3、4 和 5)、以在 20MHz 到 60MHz 之间生成 MCANCLK。
此致、
Joseph