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.

[参考译文] TMS320F28379D:EPWM 配置和 EPWM ISR 中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1513493/tms320f28379d-epwm-configuration-and-epwm-isr-interrupt

部件号:TMS320F28379D

工具/软件:

我需要在 CPU1上配置3个 ePWM 模块(1、2、3)、在 CPU2上配置3个 ePWM 模块(4、5、6)、并在 CPU2上触发 ISR 中断;CPU1和 CPU2上需要进行哪些配置才能实现此设置?

此外、如果所有 ePWM 模块配置都是在 CPU1上设置的、但需要在 CPU2上启用 epwm4 ISR 中断、则 CPU1和 CPU2上都需要哪些配置?

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

    您好:

    要在 CPU1上配置3个 ePWM 模块(1、2、3)并在 CPU2上配置3个 ePWM 模块(4、5、6)、并在 CPU2上触发 ISR 中断、需要进行以下配置:

    CPU1:

    • 使用 ePWM 寄存器(例如 EPWM1CTL、EPWM2CTL、EPWM3CTL 等)配置 ePWM 模块1、2和3。
    • 根据需要设置 ePWM 模块时钟源、模式和其他参数。
    • 确保 ePWM 模块已启用并正在运行。

    CPU2:

    • 使用 ePWM 寄存器(例如 EPWM4CTL、EPWM5CTL、EPWM6CTL 等)配置 ePWM 模块4、5和6。
    • 根据需要设置 ePWM 模块时钟源、模式和其他参数。
    • 确保 ePWM 模块已启用并正在运行。
    • 配置中断系统以在 CPU2上启用 EPWM4 ISR 中断。 这通常涉及:
      • 设置 PIE (外设中断使能)寄存器中 EPWM4的中断使能位。
      • 在 PIE 和 PIEm (外设中断使能模块)寄存器中设置 EPWM4的中断优先级和矢量地址。
      • 为 EPWM4写入 ISR (中断服务例程)代码并启用它。

    如果在 CPU1上设置了所有 ePWM 模块配置、但需要在 CPU2上启用 epwm4 ISR 中断、则需要以下配置:

    CPU1:

    • 配置所有6个 ePWM 模块(1、2、3、4、5 6)使用 ePWM 寄存器。
    • 根据需要设置 ePWM 模块时钟源、模式和其他参数。
    • 确保 ePWM 模块已启用并正在运行。

    CPU2:

    • 配置中断系统以在 CPU2上启用 EPWM4 ISR 中断。 这通常涉及:
      • 设置 PIE (外设中断使能)寄存器中 EPWM4的中断使能位。
      • 在 PIE 和 PIEm (外设中断使能模块)寄存器中设置 EPWM4的中断优先级和矢量地址。
      • 为 EPWM4写入 ISR (中断服务例程)代码并启用它。
    • 请注意、CPU2不需要配置 ePWM 模块本身、因为它已在 CPU1上配置。 但是、CPU2需要为 EPWM4启用中断来处理中断。

     希望这有所帮助。

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

    感谢您的回答。

    实际上、在第二种情况下、所有配置都在 CPU1和 CPU2中的 ISR 中、我必须在两个 CPU 中启用 ISR 配置、然后在 CPU2中只有 ISR 中断工作。

    它不像您告知的配置那样工作。 那么、除了这些配置之外、我还缺少其他配置吗?   

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

    您好、Akash、

    正确的是、在第二种情况下、所有 ePWM 模块配置都在 CPU1上设置、需要在 CPU2上启用 EPWM4 ISR 中断、因此需要在两个 CPU 上启用 ISR 配置。

    这是因为需要在两个 CPU 上设置 EPWM4的中断使能位、因为中断使能位是每 CPU 设置、并且每个 CPU 需要知道中断使能状态。

    除了在两个 CPU 上设置中断使能位外、正如我前面提到的、您还需要确保在 CPU2上正确设置中断优先级和向量地址。