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.

[参考译文] TMS320F28027:TMS320F28027 ePWM 中断- ADC_SOCx 触发延迟问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/942427/tms320f28027-tms320f28027-epwm-interrupt---adc_socx-trigger-delay-problem

器件型号:TMS320F28027

您好!

当 ePWM1计数器的值为零时、我配置的 F28027会产生一个中断。 但是、pwm1信号和跳中断之间存在延迟时间。 约~2usn。 (代码位于闪存上)

当我只将 ISR 例程移动到 RAM 时、延迟时间为0.6~0.7us。 PWM 触发 ADC_SOCx 也存在相同的问题。 (我使用 C2000 Launchpad。)  

开关周期10us、因此该延迟是一个问题。 如何克服这一问题?

此致、

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

    您好!

     在处理中断时会有一些延迟、如您的情况所示。 您在项目代码中使用什么优化? 此外、在您的案例中、ISR 代码需要多长时间? 此外、请提供更多详细信息、说明为何此延迟会成为您的用例中的问题?

    谢谢

    Vasudha

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

    此延迟时间可能会随着优化级别的增加而减少。 但它绝不会变为零。

    我只需在中断服务例程中设置 GPIO。 我还将清除中断标志。 没有什么需要时间的东西。

    我打开了一个空项目、并进行了 ADC 和 PWM 设置。 没有其它中断功能或代码可用。

    因此、这种延迟毫无意义。

    谢谢

    Ferudun

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

    您好!

    由于硬件和编译器生成的上下文保存和恢复、ISR 会有一些延迟。 您可以共享您的代码、我们可以检查代码是否存在任何其他问题。

    谢谢
    Vasudha

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

    您好!

    跳转到 ISR 需要一点时间。 但是、这次的时间太长了。  

    闪存上的2 - 2.5us @ ISR 函数

    RAM 上的0.5 - 0.7us @ ISR 函数

    最后、我在零操作时配置了中断。 在中断延迟之后、ADC SOC 被触发。