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.

[参考译文] MSPM0G3505:什么会阻止 CANFD0随时就绪?

Guru**** 2504895 points
Other Parts Discussed in Thread: MSPM0G3507

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425505/mspm0g3505-what-would-prevent-canfd0-from-ever-being-ready

器件型号:MSPM0G3505
主题中讨论的其他器件:MSPM0G3507

工具与软件:

我有一个定制电路板。  除 CANFD0之外、所有其他器件都正常工作。  我在 SYSCTL->SOCLOCK 中等待 CANFREADY。 SYSSTATUS 、但它始终为0。

我可以打开 CANFD0电源。  但所有寄存器读数均为0。 引脚、PWREN 除外

我假设这与接口时钟 MCAN_ICLK 有什么关系?

我使用的是16MHz 外部晶体。  运行80MHz 下的 PLL。 具有2个等待状态的 MCLK= 80MHz。  从 HFCLK.=CANCLK 中选择16MHz

SYSCTL

HSCLKGOOD=1

SYSPLLGOOD=1

HFCLKGOOD = 1

通过 TIMG0的1kHz 输出验证 CPUCLK 频率  

CLKSEL=8 (BUSCLK)

CLKDIV=1 (/2)

负载= 40000

我是一名裸机编程人员。 所以、不使用 SDK。  产品说明书。

我使用的是 IAR。  如果该参数很重要。

在初始化 CANFD0之前、我尚未尝试启动 PAS12/13 I/O 引脚。  没有变化。

有什么建议吗? 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我可以指导您找到基于 driverlib 创建的 CANFD 演示、但剂量无关紧要。您可以遵循 CANFD 配置流程、我们为每个 driverlib API 提供了所有源代码、因此还可查看寄存器级操作。 SDK 中的一个演示位于 ... mspm0_sdk_2_02_00_05\examples\nortos\LP_MSPM0G3507\driverlib\mcan_multi_message_tx、其中确实有 IAR 版本、您可以使用 IAR 打开工程。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。  我发现了问题。  我认为、在设置 MCANSS_CLKEN 之前必须启用电源。

    当我从结构定义中挖掘出来时,我意识到它是在一个单独的空间里。  我把它设置好了,灯亮了