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.

[参考译文] TMS320F280049:如何评估最大 PWM ISR 延迟

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/730460/tms320f280049-how-to-evaluate-max-pwm-isr-latency

器件型号:TMS320F280049

大家好、

 您能帮助解决 F280049 ISR 延迟不是恒定问题吗? thanks.e2e.ti.com/.../F280049-PWM-ISR-latency-issue.docx

问题描述:

  我的客户使用280049来控制数字电源。 并通过设置 ePWM 比较值来触发中断(ISR)。 并发现延迟(延迟时间)不是恒定的,这将 严重影响客户的控制策略。

测试步骤:

 1、ISR 代码由 ASM 编写、在执行运行环境另存 为 FLOW 图之前设置断点、测试了延迟。 并通过观察 TBCTR 寄存器发现此延迟(延迟时间)、TBCTR 显示延迟约大于300ns;

        

  2.为了消除 XDC100v3在线仿真的影响、我们通过使芯片单独运行来使用 GPIO 输出状态。 我们进一步确认了中断延迟问题。

 

支持需求:

  1. 哪些因素会影响中断触发和 ISR 执行之间的 ISR 延迟? 延迟是固定的还是灵活的?

  2. 如何实现 ISR 配置的最小延迟、或者应注意软件配置的哪个部分?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ben、我正在研究这个问题、并会回来给您!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Benjamin、

    需要记住的几件事-优先级更高的 ISR 将始终优先处理。 如果您查看 PIE 表、请查看您是否正在使用任何优先级高于 ePWM ISR 的 ISR。 根据您使用的 EPWM 模块、您可能希望切换到具有更高优先级 ISR 的模块。

    如果另一个 ISR 已经处于活动状态、我相信 ISR 将在处理任何挂起的 ISR 之前完成。 对此并不完全确定、但您可以很轻松地进行检查。

    某些指令是不间断的、会使 ISR 挂起直到完成。 这方面的一个示例是 RPT 指令。 还有更多、但我不知道它们。 C28x 指令集手册中应概述这些指令。

    ----

    在我看来、最可能的原因是执行另一个 ISR。 查看您的其他 ISR、并在这些 ISR 中执行一些 GPIO 切换、以查看当您看到延迟 ISR 时哪些 ISR 处于活动状态。

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

    Kris 的回复是否解决了问题?

    NIMA
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nima、Kris、
    很抱歉稍后因假期原因回复。

    仍存在一些问题:
    对于这个问题、在测试期间、只启用了单个中断并禁用了看门狗。 因此、没有其他更高优先级的 ISR 是服务器。
    2.在测试过程中,没有 BIOS 系统,当在 main()原型中添加一些源代码时,ISR 的延迟将会改变,
    MAIN ()

    (笑声)
    while (1)

    //添加一些源代码


    我们还尝试了另一个 ISR、但情况相同。

    您能否就如何评估 ISR 延迟发表意见? 或者、对于 ISR 的最大延迟、您有什么意见? 这个问题非常关键、因为有些控制环路需要宝贵的时序。

    期待您的回复、谢谢。

    此致
    Benjamin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    、您知道什么会导致中断延迟增加?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Benjamin、

    您可能需要查看以下内容。  请注意、图像给出的值最小。
    http://processors.wiki.ti.com/index.php/Interrupt_FAQ_for_C2000#ISR_Latency


    有关延迟/抖动的其他几个可能有用的参考线程:
    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/651440
    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/266633

    请注意、在某些情况下、可以使用以下类型的方法来降低 ISR 延迟:
    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/612597

    谢谢、
    Brett

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