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:TI28235的 PWM 中断触发器问题

Guru**** 2501625 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/779685/tms320f28235-pwm-interrupt-trigger-problem-of-ti28235

器件型号:TMS320F28235

你(们)好  

问题背景:在使用 CAN 引导加载程序对 TI28235程序进行在线升级后、发现没有 PWM 中断就无法进入、然后再次断电。 通过分析原因、可以发现在 PWM 初始化过程中与 PWM 中断相对应的 ETFLG 标志没有被清除。

问题(1):由于 ETFLG 标识始终存在、为什么无法进入 PWM 中断程序?

问题(2):这是因为 PWM 向 CPU 发出的中断请求是脉冲信号吗? TI 技术文档中描述了以下内容:

如果中断被启用,ETSEL[INTEN]=1并且中断标志被清除,ETFLG[INT]=0,那么就会产生一个中断脉冲并且中断标志被置位,ETFLG[INT]=1。     

那么、该脉冲信号持续多长时间?

谢谢。

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

    尊敬的 Annie:

    您确实需要清除 ETFLG.INT、然后才能生成额外的 ISR。  该文档还指出、一个额外的 ISR 可能处于挂起状态、一旦清除 INT 标志、就会继续执行。

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

     您好 Devin、

    感谢您的回答。 客户也遇到了 PWM 中断问题。  如果您能帮助回答、我将不胜感激。

    首先、在其 ISR 中断程序中有一个清除 ETFLG.INT 的操作。 在正常情况下、ISR 中断程序可以根据 PWM 中断周期运行。
    其次、他的 PWM 初始化程序不会清除 ETFLG.INT。 在这种情况下、升级 CAN 引导加载程序后、无法进入中断程序。
    这种现象的原因是什么。 由于 ETFLG.INT 始终为1、因此为什么不进入 ISR 中断、那么 ETFLG.INT 可以在 ISR 中断中清除。

    谢谢。

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

    根据上面的位描述、将不会仅因为该位为"1"而生成 ISR。 只有当该位为"0"且发生新的 ISR 触发时、才会生成 ISR;或者(2)该位已置位->发生新的 ISR 触发->新的 ISR 被设为挂起-->该位被清除--> >现在允许传播挂起的 ISR

    在这两种情况下、都需要先清除标志、然后才能产生额外的 ISR。 客户将需要确保在分支到更新的固件之前关闭 EPWM 并清除所有待处理 ISR、并且/或者他们应该确保在 EPWM 重新初始化期间清除任何待处理的 INT 标志。