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.

[参考译文] TMS320F2.8379万D:CANB模块奇怪的行为

Guru**** 2568585 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/642179/tms320f28379d-canb-module-strange-behavior

部件号:TMS320F2.8379万D

大家好!

我认为 CAN模块完全相互独立。 文件没有提到它们是从属的。 然而,我发现CAN_B模块的奇怪行为:如果我 只使用CAN_B模块,它在我调用之前不起作用

void CANInit(UINT32_t ui32Base)

CAN_A模块的步骤。

之后 我发现问题出在生产线上

HWREGH (ui32Base + CAN_O_CTL)= CAN_CTL_SWR; 

of void CANInit(UINT32_t ui32Base)过程。

换言  之,如果CAN_A模块未调用此行,则CAN_B模块将不起作用。 但 如果CAN_B 模块没有调用此行, 则CAN_A 模块工作正常。 CAN_A模块始终工作正常。

问题是:

 CAN_B模块的操作是否正确?  为什么 在 使用软件重置启用位(SWR)重置第一个模块之前,CAN_B模块无法工作?

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

    根据我的理解,CAN模块应该相互独立。 因此,你不应面对任何这样的问题。

    您能知道您使用的是启动板还是控制卡吗? 由于LaunchPad需要外部收发器才能使用CANB和控制卡,因此Cana和CANB都需要外部收发器。

    通过工作而不是工作,您在示例中尝试做什么?

    请您回答我的问题,以便我能更好地帮助您。

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

     Harshmeet Singh,您好!

    感谢您的回复。

    我已经解决了问题。 我为CAN_A模块使用外部光耦合器+ CAN收发器。 但我忘记了使用CANTXA引脚的硬件上拉。  因此,CAN收发器 一直冻结 网络,直到 CAN_A模块初始化。