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.

[参考译文] TMS320F28377D:在写入新 DSP 板上的 GPIO 引脚和 TZFRC 时出现问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1121654/tms320f28377d-having-issues-writing-to-gpio-pins-and-tzfrc-on-new-dsp-board

器件型号:TMS320F28377D

您好!

我已经使用 Launchpad 完成了原型设计、并开始使用 JTAG 在内部 DSP 上对 C2000微控制器进行编程。 之前我对 GPIO 的写操作会导致 EPWM1和 EPWM4发生跳闸、并且工作正常。  

然而、现在、写入 GPIO12来导致所有 PWM 在经过 X 时间后的低跳闸不再起作用。 我使用 TZA 和 TSB 在超过 X 个时间后导致 EPWM1和 EPWM4上发生跳闸。 为此、我在运行时向 GPIO 写入1、并在多个开关周期后向其写入0。 但是、GPIO 永远不会变为1、在整个代码执行过程中保持为0、但仍然不会导致 PWM 发生任何跳闸。 我假设这是因为我要写入的 GPIO 未物理连接到输入交叉开关、但我认为这是在 DSP 内部根据程序员选择进行的连接?

在强制执行 Estop 之前、我还尝试直接写入两个 PWM 模块的 TZFRC 寄存器。 这个代码位肯定会执行、但是、同样、所有 TZFRC 寄存器仍然为0。 TZFRC.OST = 1和 TZFRC.ALL = 1会导致相同的问题-当代码退出时、所有寄存器只保持为0静态。  

Launchpad 和内部 DSP 板有何不同? 当我转移到这个新平台时、我没有更改代码中的任何内容、但是寄存器不再需要更改为我希望它们的内容。 我认为问题可能出在 JTAG、但创建新变量以检查代码是否正确执行、例如、在执行 Estop 之前、名为 CODE_EXIT 的新变量会更改为1。  

有什么建议可以解决这一问题? 正如我提到过的、该代码在 Launchpad 上完全按照需要工作。

此致、

Joel

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

    您好、Joel、

    正在检查此项。 我将在1-2天内更有可能对您作出回应。

    谢谢、

    Uttam

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

    您好、Joel、

    [~ userid="420268" URL"支持/微控制器/C2000-micro-group/c2000-f/C2000-micro-forum/1121654/tms320f28377d-hering-issues 写入 GPIO-pine-and-tzfrc-one-new-dsp-board"]在强制停止 TZPWM 寄存器之前、我还尝试直接写入这两个 TRC 模块。 这个代码位肯定会执行、但是、同样、所有 TZFRC 寄存器仍然为0。 TZFRC.OST = 1和 TZFRC.ALL = 1会导致相同的问题-当代码退出时、所有寄存器只保持为0静态。  [/报价]

    您是否通过表达式窗口检查这些寄存器? 请注意、触发区寄存器受 EALLOW 保护。 我看不到这在 launchpad 上工作的原因、但您没有在新电路板上工作的原因。 您有哪种器件封装?

    此致、

    Marlyn