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.

[参考译文] TMS320F28P659DK-Q1:TMS320F28P659DK 中的双 DCAN?

Guru**** 2609955 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1579485/tms320f28p659dk-q1-dual-dcan-in-tms320f28p659dk

器件型号:TMS320F28P659DK-Q1


您好、

我将 F28P65x 控制器与两条 CAN 总线 (CAN_BUS0 和 CAN_BUS1) 配合使用、并使用 DCAN API 将 CANopenNode 堆栈移植到此 MCU、以实现电路板之间的通信。

我的目标是实现 CAN 总线冗余:

正常运行:在 CAN_BUS0 上发生通信。

冗余:检测到总线关闭状态时、通信应切换到 CAN_BUS1。

我有两个具体问题:

要检测总线关闭情况、我可以  使用 API (CAN_getStatus) 监测 CAN_ES 寄存器的第 7 位?

由于我已经使用 DCAN API (CAN_BUS0) 移植了 CANopenNode 栈、因此是否有办法对 CANB 重复使用相同的 DCAN API (CAN_BUS1)、或者我是否需要使用 MCAN API 修改栈?

请建议最好的方法。

此致、
Nigesh

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

    您好、Nigesh、

    这听起来是一个有效的解决方案。

    1) 是的、这将是监控 CAN 总线状态并确定何时进入总线关闭状态的最直接方法。

    2) 不幸的是, MCAN 和 DCAN 是完全不同的底层 IP 所以我认为这不会是简单的重复使用。 TI 在下面提供了 DCAN 到 MCAN 迁移的应用手册、有助于指导转换为 MCAN 实现时所需的更新。  https://www.ti.com/lit/pdf/sprad59

    此致、

    Zackary Fleenor