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.

[参考译文] TMS320F2800157:如果为 DCAN 配置了 OTP、则无法在 PCAN 上接收/发送消息 ID。

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1393408/tms320f2800157-not-able-to-receive-transmit-message-ids-on-pcan-if-otp-is-configured-for-dcan

器件型号:TMS320F2800157

工具与软件:

团队成员、您好!
我已将 GPIO12和 GPIO13配置为 F2800157控制器的 CAN TX 和 CAN RX、我能够发送和接收 CAN 数据、并正在通过 PEAK CAN 工具进行检查。
之后、我将尝试对同一 GPIO 12和 GPIO13进行 OTP 配置以进行 DCAN 刷写。
我已经为寄存器配置了 GPIO12和 GPIO13的 OTP、
Z1_GPREG1 (0x78008)(32位)设置为5AFFFFF
Z1_GPREG2 (0X7800A)(32位)设置为默认值 FFFFFFFF
Z1_GPREG3 (0X7800C)(32位)设置为 FFFF0062 (对于 GPIO12 GPIO13)
Z1_GPREG4 (0X7800E)(32位)设置为默认值 FFFFFFFF。
我们已经注意了所有硬件配置、以便可以引导开关 GPIO24设置为1、将 GPIO32设置为0。

现在、我能够通过 PCAN 工具刷写我的微控制器。 但使用相同的应用程序代码、现在无法进行 CAN 数据发送和接收。
但是、如果在没有 OTP 配置的情况下在微控制器中刷入相同的应用程序代码、我们能够通过 PCAN 接收或发送消息。

为此、如果该引脚通过 OTP 针对 DCAN 进行配置、则需要注意使用相同的 GPIO 进行 CAN 数据传输。

此致、

Premkumar。 T

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

    尊敬的 Premkumar:

    您是否还可以确认应用代码中的 GPIO 设置也使用 GPIO12/13作为 CAN 引脚?  您是否还可以检查 DCAN 引导/闪存例程是否与应用代码具有相同的 CAN 时序?

    谢谢!

    Joseph

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

    您好、Joseph:

    是的、应用代码也将 GPIO12/13用作 CAN 引脚。 我们已确认 DCAN 引导与应用程序代码具有相同的 CAN 时序。

    此致、

    Premkumar。 T

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

    尊敬的 Premkumar:

    感谢您提供的信息。  完成 CAN 引导模式的刷写后、您的应用程序代码会发生什么情况?  您是否重新启动器件、将应用程序设置为从闪存引导(将 GPIO24和 GPIO32均设置为"1")、以执行新刷写的代码并期望看到 CAN 接收和发送功能?  

    此致、

    Joseph

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

    您好、Joseph:
    根据我们对 OTP 配置的微控制器的观察、

    1.在我们用 CAN 引导模式(GPIO24设为1、GPIO32设为0)完成刷写后、我们的应用程序代码即在运行。 在闪存模式下将其更改为(GPIO24和 GPIO32均为1)并复位后、我们的应用程序代码将不会运行。

    2.在代码刷写后立即执行的过程中,
    无论我们设置的 CAN 比特率是多少(can_setBitRate (obj->canHandle、device_SYSCLK_FREQ、500000、20);)都将发生变化、因此我们无法在外部 PCAN 工具中接收数据。

    我们使用 CANTX 引脚上的示波器观察到此情况。
    在没有 OTP 配置的控制器中以适当配置的比特率传输数据。
    数据在具有 OTP 配置的控制器中以有源(错误)比特率传输。

    此致、

    Premkumar。 T

                                                                                                                       

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

    尊敬的 Premkumar:

    设置引导模式引脚从闪存执行并复位电路板后、您能检查代码所在的位置吗?  请参阅程序计数器指向的位置。  这将指示代码可能停留在什么位置。

    谢谢!

    Joseph