您好!
我在 PWM2A 输出与 CMPIN3P 输入之间放置一个 RC 电路(1K、10nF)。 我将 PWM 周期配置为25us、将占空比配置为50%。
我希望比较器输入大于1.65V 时 PWM 输出立即变为零、并保持为零、直到下一个周期、即使比较器电压降至1.65V 以下也是如此。 问题是、一旦比较器输入降至1.65V 以下、PWM 输出就会恢复为1、从而在 PWM 引脚上产生高频振荡。
我的以下配置中有哪些错误或缺少哪些内容?
空 initCMPSS (空)
{
CMPSS_enableModule (CMPSS3_base);
CMPSS_CONFIGHighComparator (CMPSS3_base、CMPSS_INSRC_DAC);
CMPSS_CONFIGDAC (CMPSS3_base、CMPSS_DACREF_VDDA | CMPSS_DACVAL_SYSCLK |
CMPSS DACSRC_Shdw);
CMPSS_setDACValueHigh (CMPSS3_base、2048);
CMPSS_CONFIGOutputsHigh (CMPSS3_base、CMPSS_TRIP_ASYNC_COMP |
CMPSS_TRIPOUT_ASYNC_COMP);
Xbar_setOutputMuxConfig (XBAR_OUTPUT3、XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH);
Xbar_enableOutputMux (XBAR_OUTPUT3、XBAR_MUX04);
}
空 EnableTripZone (空)
{
ePWM_setTripZoneAction (EPWM2_base、ePWM_TZ_ACT_EVENT_DCAEVT1、ePWM_TZ_ACT_LOW);
ePWM_setTripZoneDigitalCompareEventCondition (EPWM2_base、ePWM_TZ_DC_OUTPUT _A1、ePWM_TZ_EVENT_DCXH_HIGH);
ePWM_enableDigitalCompareTripCombinationInput (EPWM2_base、ePWM_DC_Combinational_TRIPIN4、ePWM_DC_TYPE_DCAH);
ePWM_enableTripZoneSignals (EPWM2_base、ePWM_TZ_SIGNAL _CBC1);
ePWM_setDigitalCompareEventSource (EPWM2_base、ePWM_DC_MODULE_A、ePWM_DC_EVENT_1、ePWM_DC_EVENT_SOURCE、ORIG_SIG_SIGNAL);
Xbar_setEPWMMuxConfig (XBAR_TRIP4、XBAR_EPWM_MUX04_CMPSS3_CTRIPH);
Xbar_enableEPWMMUX (XBAR_TRIP4、XBAR_MUX04);
ePWM_clearTripZoneFlag (EPWM2_base、ePWM_TZ_INTERRUPT | ePWM_TZ_FLAG_OST);
}
