Part Number: TMS320F280025
Hi
My project is using cmpss module 4 to detect pulse with width ~ 3.5-3.7us max voltage is 3.3V with below code
CMPSS_enableModule(PLC_CMPSS_BASE);
ASysCtl_selectCMPHPMux(ASYSCTL_CMPHPMUX_SELECT_4,4U);
CMPSS_configHighComparator(CMPSS4_BASE, CMPSS_INSRC_DAC);
CMPSS_configDAC(CMPSS4_BASE, CMPSS_DACREF_VDAC | CMPSS_DACVAL_SYSCLK |
CMPSS_DACSRC_SHDW);
CMPSS_setDACValueHigh(CMPSS4_BASE, 4000);
//
// Configure the output signals. Both CTRIPH and CTRIPOUTH will be fed by
// the asynchronous comparator output.
//
CMPSS_configOutputsHigh(CMPSS4_BASE, CMPSS_TRIP_ASYNC_COMP |
CMPSS_TRIPOUT_ASYNC_COMP|CMPSS_TRIPOUT_LATCH);
In main.c loop, I am using below code to check the status of CMPSS4
while((CMPSS_getStatus(CMPSS4_BASE) & CMPSS_STS_HI_LATCHFILTOUT) != 0U)
{
;
}
However, the CMPSS_getStatus() always return 0. I have done some test. 1 is return using the function if the signal is 0 to 3.3V and keep 3.3V.
My question is that does CMPSS does not detected pulse width is too small in term micro second
Is it turn or I make a mistake.
BR
HK Woo


