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.

[参考译文] TMS320F28P650DK:TMS320F28P650DK MCANB 未退出 INIT

Guru**** 2468610 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1479918/tms320f28p650dk-tms320f28p650dk-mcanb-not-getting-out-of-init

器件型号:TMS320F28P650DK

工具与软件:

我修改了"mcan_EX7示例"、以便可以使用 MCANB。

唯一的更改是更改了 MCANB 的引脚多路复用以及将 MCANA_DRIVER_BASE 更改为 MCANB_DRIVER_BASE。

//配置 MCAN 位时钟的分频值//
SYSCTL_setMCANClk (SYSCTL_MCANA、SYSCTL_MCANCLK_DIV_5);
SYSCTL_setMCANClk (SYSCTL_MCANB、SYSCTL_MCANCLK_DIV_5);
////为 MCAN 配置 GPIO。 //
GPIO_setPinConfig (GPIO_20_MCANB_TX);
GPIO_setPinConfig (GPIO_21_MCANB_RX);
//GPIO_setPinConfig (DEVICE_GPIO_CFG_MCANRXA);
// GPIO_setPinConfig (DEVICE_GPIO_CFG_MCANTXA);

我可以看到 GPIO20/21的引脚多路复用设置为1001 [我相信正确的值应为1101]、MCAN CCCR 寄存器设置了 INIT 位。 我有一个 pcan 工具、并且我可以使用 pcan 视图来检查数据包。 我尚未开始探测 CAN TX/RX。 不过、我认为问题在于引脚多路复用以及将 MCAN 设置为初始化模式。

MCANB 是否已通过测试? 所有示例均适用于 MCANA。 MCANB 是否需要任何特定的初始化序列?

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

    嗨、Hari、

    我修改了从 MCANA 切换到 MCANB 的示例 mcan_ex7_classical_transmit (将  MCANA_DRIVER_BASE 修改为 MCANB_DRIVER_BASE)并确认测试用例能够初始化 MCANB。  您能否更详细地介绍一下在迁移 mcan_EX7_classic_transmit 以使用 MCANB 时遇到的问题?

    谢谢!

    Joseph

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

    尊敬的 Joseph:

    其中将 GPIO20和21用于 MCAN? 我仅修改了 MCANB_DRIVER_BASE、更改了 GPIO20和21的引脚多路复用。

    我可以看到 CCCR 寄存器的 INIT 位仍然设置为1。

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

    e2e.ti.com/.../mcanB_5F00_ex7.zip

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

    嗨、Hari、

    是的、我将 GPIO20用于 RX、将 GPIO21用于 TX、并且 MCANB 已经成功初始化并将 INIT 位清零。  您必须将收发器连接到 GPIO20/21、测试用例才能正确初始化和执行。  请参阅随附的快照、其中显示了 device.h 文件中的 GPIO20和21配置为 CAN 引脚。  还显示了在测试执行期间清除 INIT 位的 CCCR 寄存器的寄存器视图。  我还连接了 PCAN、快照 显示它正在接收 F28P65x 发送的具有正确 ID 的经典帧、并使用 MCANB 运行修改后的 mcan_EX7_classic_transmit 测试用例。 .  

    此致、

    Joseph

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

    尊敬的 Joseph:

    我让 MCANB 正常工作。 我们的 xtal 不同、晶体频率也是如此。 这是因为断言语句指向错误的时钟配置。 我将在我们的代码库中复制这一点。 感谢您的支持。

    谢谢

    Jay