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.

TMS320F2800157: CPMSSLITE-3 Configuration error for ePWM trip zone functionality.

Part Number: TMS320F2800157
Other Parts Discussed in Thread: C2000WARE

Tool/software:

In my application, I am using Analog channel A0 for AC current sensing. Simultaneously, i desire to enable current protection on A0 via CMPSSLITE-3 comparator if ADC A0 value goes higher and lower  than certain threshold. I used the example code from driverlib ( cmpss_lite_ex1_asynch), which configure CMPSSLITE2 to configure CMPSSLITE-3, however trip functionality is not working as expected. 

To check the code, i have applied fixed 1.66Volt at A0 with VDDA_REF=3.0V. I can read the ADC values as ~2270U. This value translate to 401U ( due to 9.5bit DAC resolution), however if i set the high threshold DAC to 353U,  (corresponds to 2000 in 12bit system), PWM trip does not occur.

As per my understanding, trip shall occur because DAC value is~401 higher than 353.  For reference, code snip is below. Please help if i need to change/add/delete anything in below code. 

ASysCtl_selectCMPHPMux(ASYSCTL_CMPHPMUX_SELECT_3, 2U);
ASysCtl_selectCMPLPMux(ASYSCTL_CMPLPMUX_SELECT_3, 2U);
CMPSS_configHighComparator(CMPSSLITE3_BASE,(CMPSS_INSRC_DAC |CMPSS_DACREF_VDDA));
CMPSS_configLowComparator(CMPSSLITE3_BASE,(CMPSS_INSRC_DAC | CMPSS_DACREF_VDDA |CMPSS_INV_INVERTED));
CMPSS_configDAC(CMPSSLITE3_BASE,(CMPSS_DACVAL_SYSCLK | CMPSS_DACSRC_SHDW));
CMPSS_setDACValueHigh(CMPSSLITE3_BASE,353U);
CMPSS_setDACValueLow(CMPSSLITE3_BASE,0U);
CMPSS_configFilterHigh(CMPSSLITE3_BASE, 0U, 1U, 1U);
CMPSS_configFilterLow(CMPSSLITE3_BASE, 0U, 1U, 1U);
CMPSS_configOutputsHigh(CMPSSLITE3_BASE,(CMPSS_TRIPOUT_ASYNC_COMP | CMPSS_TRIP_ASYNC_COMP));
CMPSS_configOutputsLow(CMPSSLITE3_BASE,(CMPSS_TRIPOUT_ASYNC_COMP | CMPSS_TRIP_ASYNC_COMP));
CMPSS_setHysteresis(CMPSSLITE3_BASE,0U);
CMPSS_disableLatchResetOnPWMSYNCHigh(CMPSSLITE3_BASE);
CMPSS_disableLatchResetOnPWMSYNCLow(CMPSSLITE3_BASE);
CMPSS_configBlanking(CMPSSLITE3_BASE,1U);
CMPSS_disableBlanking(CMPSSLITE3_BASE);
XBAR_setEPWMMuxConfig(XBAR_TRIP4, XBAR_EPWM_MUX04_CMPSS3_CTRIPH_OR_L);
XBAR_enableEPWMMux(XBAR_TRIP4, XBAR_MUX04);
CMPSS_enableModule(Iphv_CMPSS_BASE);
XBAR_clearInputFlag(XBAR_INPUT_FLG_CMPSS3_CTRIPH);
XBAR_clearInputFlag(XBAR_INPUT_FLG_CMPSS3_CTRIPL);

Best Regards

Milan