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 生成中的动作限定器的问题

Guru**** 2419530 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1545178/tms320f28379d-problem-with-digital-compare-signals-used-as-action-qualifiers-in-epwm-generation

部件号:TMS320F28379D


工具/软件:

您好:

我生成了比较器输出信号(用于迟滞逆变器电流控制)并将其馈送到 TRIP4。 然后、我将 TRIP4 馈送到数字比较器并从 TRIP4 生成 DCAH 信号。

然后、我生成事件 DCA1 和 DCA2、并将它们连接到 EPWM1 动作限定器的 T1 和 T2 触发源。 之后、我将 T1 和 T2 连接到 EPWM1 的动作限定器、EPWM1 的动作限定器之前已正确初始化、以实现向上/向下计数、并且不对输出信号进行操作。

下面是代码

XBAR_setEPWMMuxConfig (XBAR_TRIP4、XBAR_EPWM_MUX00_CMPSS1_CTRIPH);
XBAR_enableEPWMMux (XBAR_TRIP4、XBAR_MUX00);

EPWM_selectDigitalCompareTripInput (EPWM1_BASE、EPWM_DC_TRIP_TRIPIN4、EPWM_DC_TYPE_DCAH);
EPWM_setTripZoneDigitalCompareEventCondition (EPWM1_BASE、EPWM_TZ_DC_OUTPUT_A1、EPWM_TZ_EVENT_DCXH_HIGH);
EPWM_setTripZoneDigitalCompareEventCondition (EPWM1_BASE、EPWM_TZ_DC_OUTPUT_A2、EPWM_TZ_EVENT_DCXH_LOW);


EPWM_setActionQualifierT1TriggerSource (EPWM1_BASE、EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_1);
EPWM_setActionQualifierT2TriggerSource (EPWM1_BASE、EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_2);

EPWM_setDigitalCompareEventSource (EPWM1_BASE、EPWM_DC_MODULE_A、EPWM_DC_EVENT_1、EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);
EPWM_setDigitalCompareEventSyncMode (EPWM1_BASE、EPWM_DC_MODULE_A、EPWM_DC_EVENT_1、EPWM_DC_EVENT_INPUT_NOT_Synchronous);

EPWM_setDigitalCompareEventSource (EPWM1_BASE、EPWM_DC_MODULE_A、EPWM_DC_EVENT_2、EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);
EPWM_setDigitalCompareEventSyncMode (EPWM1_BASE、EPWM_DC_MODULE_A、EPWM_DC_EVENT_2、EPWM_DC_EVENT_INPUT_NOT_Synchronous);

EPWM_enableTripZoneSignals (EPWM1_BASE、EPWM_TZ_SIGNAL_DCAEVT2 | EPWM_TZ_SIGNAL_DCBEVT2);
EPWM_enableTripZoneSignals (EPWM1_BASE、EPWM_TZ_SIGNAL_DCAEVT1 | EPWM_TZ_SIGNAL_DCAEVT2);


EPWM_setActionQualifierAction (EPWM1_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_T1_COUNT_UP);
EPWM_setActionQualifierAction (EPWM1_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_T1_COUNT_DOWN);
EPWM_setActionQualifierAction (EPWM1_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_T2_COUNT_UP);
EPWM_setActionQualifierAction (EPWM1_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_T2_COUNT_DOWN);

但是、该器件不起作用、并且输出 EPWM1A 始终为 0。

请说明一下问题是什么。

此致

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

    已通过添加解决问题

    EPWM_setTripZoneAction (EPWM1_BASE、EPWM_TZ_ACTION_EVENT_DCAEVT1、EPWM_TZ_ACTION_DISABLE);
    EPWM_setTripZoneAction (EPWM1_BASE、EPWM_TZ_ACTION_EVENT_DCAEVT2、EPWM_TZ_ACTION_DISABLE);

    在另一篇文章中暗示了解决方案的想法。

    谢谢