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.

[参考译文] TMS320F28388D:编程使 ePWM 输出跳闸的最佳方法

Guru**** 2587365 points
Other Parts Discussed in Thread: TMS320F28388D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1167738/tms320f28388d-best-way-to-programatically-trip-the-epwm-outputs

器件型号:TMS320F28388D

我们希望 EPWM 计数器在获取固件中所有循环函数的主同步触发器时持续递增/递减计数。 在某些软件条件下(主状态机的状态)、我们需要关闭(例如高阻抗) ePWMA/B 输出、但不想停止计数器。 最好与计数器同步(例如 CNT=ZERO)。

在 TMS320f28388d TRM´章"26.9.1 trip-Zone 子模块的用途"中、它说:"•还支持软件强制跳闸。"。 对于如何使用软件将输出最佳跳闸到高阻抗状态、我找不到任何其他建议。 请提供您的建议作为最佳实践吗?

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

    配置跳闸区域操作、例如:

    EPWM_setTripZoneAction(EPWM_BASE, EPWM_TZ_ACTION_EVENT_TZA, EPWM_TZ_ACTION_HIGH_Z);
    EPWM_setTripZoneAction(EPWM_BASE, EPWM_TZ_ACTION_EVENT_TZB, EPWM_TZ_ACTION_HIGH_Z);

    然后、您可以使用 driverLib 函数通过如下所示的应用程序代码来强制软件(一次性)并清除跳闸:

    EPWM_forceTripZoneEvent(EPWM_BASE, EPWM_TZ_FORCE_EVENT_OST);
    
    EPWM_clearTripZoneFlag(EPWM_BASE, EPWM_TZ_FLAG_OST);

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

    感谢这个快速而有效的答案:-)