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.

[参考译文] LAUNHXL-F280025C:CAN 外设代码在 TMS320F28075上工作,在 TMS320F280025C 上不工作

Guru**** 633805 points
Other Parts Discussed in Thread: TMS320F28075, C2000WARE, TMS320F280025C
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1087508/launchxl-f280025c-can-peripheral-code-works-on-tms320f28075-does-not-work-on-tms320f280025c

部件号:LAUNHHXL-F280025C
线程中讨论的其它部件:TMS320F28075C2000WARETMS320F280025C

我们的定制设计采用了 TMS320F28075,该设计具有两条 CAN 总线中的一条可在其上完全运行。 我们将代码从设计移植到了 LAUNCJXL-280025C,从而消除了对额外 CAN 总线的支持,但 CAN 总线无法成功传输。 CAN 总线立即进入总线关闭状态。 在尝试接收消息时,处理接收消息的代码中未显示任何活动。

然后尝试打开回环模式,但也没有成功。

然后,我从 C2000ware driverlib 文件夹中获取了一个示例设计,无法成功获取该代码,从而在 LAUNCJXL-280025C 上成功传输或接收消息。

此时,我采用了相同的示例设计,并尝试使用 TMS320F28075在设计上运行。  在那里,我可以使用示例代码进行传输,但未能成功获得接收 CAN 数据的代码。  使用了带有示例代码的环回模式,但这不起作用。  然后,我尝试让我们的 CAN 设计以环回模式运行,但这也失败了。

检查  TMS320F28075和 TMS320F280025C 的 DCAN 外设的寄存器集和功能时,它们似乎是相同的,但寄存器中缺少几个位,并且只有一个 CAN 总线,而不是两个。  有人能为我确认这一点,并尝试解释为什么 TMS320F28075上的代码在 TMS320F280025C 上不起作用?

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

    艾伯特,您好!

    需要有关 F28075应用程序设置和代码的更多详细信息,以了解您要完成的任务:

     - F28075有2个 DCAN 模块。  根据您的描述,我无法判断您是否同时使用了 CANA 和 CANB,并将它们连接到不同的 CAN 总线,每个 CAN 模块都有自己的收发器。  你能澄清一下吗?

     在您的 F28075设置中,Cana 和 CANB 可以进行哪种交易?  它们是否同时发送和接收?

    在 LAUNCXL-F280025C 上,您能告诉我您尝试运行的是哪一个驱动程序库特定的示例,您是否有机会检查 CAN_ES 寄存器的内容?

    谢谢,

    约瑟夫

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

    -在 F28075上,我们只使用单 CAN 总线(Cana),并且有一个收发器用于驱动 CAN 高/低。

    ——如上所述,我们只使用了一辆 CAN 总线(Cana)。  在加拿大,我们正在传输和接收消息。

    -我使用的特定示例是 ti\c2000\C2000Ware_4_01_00_00\device_support\f2807x\examples\CPU1\CAN_loopback_bitfields\cpu01\CAN_loopback_bitfields.c.  我知道这不适用于 F280025C,但在功能定义方面,唯一启用了环回的 CAN 示例是完整的。

    我确实检查了 CAN_ES 寄存器的内容,它显示位5-7被设置为指示 Boff,EWarn 和 EPass。  当我尝试通过 CAN 总线传输数据时会发生这种情况。

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

    您提到您还尝试了使用 C2000Ware 驱动程序库的 LAUNHXL-F280025C 示例,您尝试了哪些示例,CAN_ES (包括 LEC)的价值是多少?   

    让我们先看看 带有 C2000Ware 驱动程序库示例的 LAUNCXL-F280025C 可能存在什么问题。  我不想对您在 LAUNHHXL-F280025C 上运行 F28075的比特字段环回示例的结果打折扣,但必须正确进行大量编辑才能使测试正常运行(如时钟设置,头文件位置等), 而且可能会使用不正确的文件/标题。

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

    您是否查看 了 www.ti.com/lit/SPRACE5?中的调试提示 

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

    我专门使用 f28002x 目录中的 driverlib 和 device_support 文件创建了一个新项目。  我对.TI.ramfunc 的引用进行了修改,以使用 ramfuns,但除了这些文件是库存文件。  我成功地将外部环回与示例文件 CAN_ex2_loopback_interrups.c.一起使用   

    使用 CAN_Ex5_Transmit 接收。c 我能够通过 CANA 成功发送和接收。  F28075中的 DCAN 模块的工作原理与 F280025C 的工作原理之间似乎存在差异。  我现在已经准备好了这个问题。  感谢您推动我朝着正确的方向前进。

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

    您的方向似乎正确。  如果您遇到其他问题,请告诉我们。

    此致,

    约瑟夫