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.

[参考译文] TMS320F28235:GPIO24上的 ECAP、无法初始化中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/815303/tms320f28235-ecap-on-gpio24-failed-to-init-an-interrupt

器件型号:TMS320F28235

您好!  

我们在作为 ECAP 的 F28235 GPIO24上遇到了一个问题。  

GPIO24用作 ECAP、以检测下降沿并初始化中断。 有时、不会启动中断。  

详细信息:

1) 1) GPIO24由10K 电阻器进行外部上拉;

2) 2) IGBT 驱动器的故障信号(5V)进入 IC 级别(74xxxxx)并输出3.3V、它通过10欧姆电阻连接到 GPIO24。 1000pF 被放置在 GPIO24上。  

3)当 IGBT 驱动器没有错误时、GPIO24上的信号始终为高电平(3.3V);当 IGBT 驱动器发生错误时、信号从高电平变为低电平、而不返回高电平。 这意味着、只有一个下降沿。  

发生这种情况时、无法启动5%的 ECAP 中断。  

我们执行了哪些测试:

1) 1)与仿真器连接并使用仿真器来控制代码的启动/停止、每个中断都可以被启动。

2) 2)与仿真器连接、但 CCS 未与器件连接、仍然无法以低速率启动 ECAP 中断。

3) 3)断开10欧姆电阻、并向 GPIO24发送 PWM 信号、即可启动每个中断。  

4) 4) GPIO24采样窗口发生了变化、没有任何改进。  

5) 5) GPIO24上的示波器、在情况1)和2)上几乎是相同的。 下降沿比较好。

6) 6)引脚123用作输入 GPIO。 如果放置一个外部3.3K 下拉电阻器、则100%发生了问题。

7)通过 CAN 端口、我们看到、当 IGBT 驱动器正常时、GPIO24为高电平(GPADP.bit.GPIO24=1)。 当驱动程序不正常时、GPIO24切换到低电平(GPADP.BIT.GPIO24=0)。 当无法启动 CAP 中断时、有1到0的开关。  

8) 8)我们非常确信、代码中没有错误。 它运行良好。  

问题可能出在哪里?

非常感谢。

BR、Jordan

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

    约旦

    请确认是否始终捕获边沿、即使中断未发生也是如此。 我怀疑情况会是这样。

    我最初的想法是、当 eCAP 中断标志被置位时、还有一个正在运行的中断。 该中断完成并确认其自身标志以及 eCAP 的中断标志、从而使 eCAP 中断永远不会运行。 如果情况并非如此、我们可以调查其他潜在问题。

    您能否提供有关上述第6号的更多详细信息? Pin123在干什么? 您对这会改变行为的原因有什么看法吗?

    此致、
    Cody  

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

    Cody、

    我们可以计划通话吗? 此问题对于客户而言非常紧急?

    有一些疑问:

    1) 1) ECAP 引脚的典型 R 和 C 是什么?

    2) 2) ECAP 可以在下降沿捕获什么请求? 在我看来、如果 GPADAT 在 GPIO24上检测到高信号、然后又检测到低信号、它是否是 ECAP 可以捕获的真正下降沿?

    3) 3)在 F28235内部、在 GPIO24和 GPIO68之间是否存在任何"连接"?

    引脚123 (GPIO68)用作 GPIO 输入。 eCAP1 GPIO24远离 GPIO68。 ON 位于顶层、而另一个位于底层。 我们看不到它们之间的任何"连接"。  

    非常感谢。

    BR、Jordan

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

    约旦

    1. 通常无需在 eCAP 引脚上使用电阻器或电容器。 只有当客户尝试滤除噪声时才需要这种方法、即使这样、我建议他们使用输入限定符来尝试滤除噪声。 如果边缘看起来正常、则应该正常。
    2. 如果 GPxDAT 寄存器锁存了该值、那么我们可以保证 eCAP 也会看到上升/下降沿。
    3. 我不知道 GPIO24和 GPIO68之间有任何内部连接。
      1. 改变 GPIO68的状态对 GPIO24有影响这一事实很奇怪、但我们还不能对这一点进行太多的读取。 这可能只是另一个问题的副作用。

    此致、
    Cody

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

    Cody、

    1) 1)我们尝试使用内部输入限定符、但没有改进。 下一个星期一、我将尝试在不使用电阻器和电容器的情况下进行测试。

    2) 2)同意您的意见。 如果 GPADAT 寄存器锁存该值、eCAP 应检测下降沿。

    如果有其他建议、请随时告知我。

    非常感谢。

    BR、Jordan