TMS320F280039C: PWM在保护时应该输出低电平(0V),但是实际输出是1.5V

Part Number: TMS320F280039C


PWM在异常时触发保护的配置如下代码所示

PWM保护时,应该输出0V的低电平,但是实际输出却是1.5V左右,请问这是什么原因?

 

    for (i = 0; i < USED_PWMS_COUNT; i++) {
        EPWM_selectDigitalCompareTripInput(pwms[i].pwmBase, EPWM_DC_TRIP_TRIPIN4, EPWM_DC_TYPE_DCAL);
        EPWM_setTripZoneDigitalCompareEventCondition(pwms[i].pwmBase, EPWM_TZ_DC_OUTPUT_A1, EPWM_TZ_EVENT_DCXL_LOW);
        // Fail管脚,为0时,表示过流,需要通过硬件保护的方式关闭PWM
        // 所以在DCXL_LOW时产生事件,触发保护
        EPWM_setDigitalCompareEventSource(pwms[i].pwmBase, EPWM_DC_MODULE_A, EPWM_DC_EVENT_1, EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL);
        EPWM_setDigitalCompareEventSyncMode(pwms[i].pwmBase, EPWM_DC_MODULE_A, EPWM_DC_EVENT_1, EPWM_DC_EVENT_INPUT_NOT_SYNCED);
        // DCxEVTn管多个周期,一旦DCxEVTn标志被置上后,标志不会被自动清除,需要软件去把标志清除
        EPWM_enableTripZoneSignals(pwms[i].pwmBase, EPWM_TZ_SIGNAL_DCAEVT1);
    }