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.

TMS320F280048: Wake up from low power mode by ADC PPB interrupt

Part Number: TMS320F280048

Hi,

 

I am considering following scenario with C2000 (F28004x).

 (1)    While C28 is in low power mode (IDLE mode), monitoring some voltage source if it is in specified voltage range.

 (2)    If the voltage is out of range, trigger C28 to wake up.

  

So, I wonder if we can run ADC while C28 is in IDLE mode, and then trigger the interrupt by PPB High limit or Low limit to wake up C28.

Is it possible?

 

Regards,

-Shibata

 

  • Hi Shibata,

    Peripheral clocks are running while the device is in idle, so this should be possible.

    You'd want to make sure the ADC is being triggered by some other HW module (and not SW triggered in an ISR).  Probably you'd want to do periodic triggering of the ADC via an ePWM module.  Alternately, if you want the fastest possible result time to the out-of range voltage you could setup the ADC to self-trigger such that the ADC is continuously converting.   

    Another module you could use to achieve a similar result would be the CMPSS module.  The limits will be a little less accurate than the ADC, but the response time will be much faster.  It is also quite a bit of work to route the CMPSS trip to an ISR.  

  • Devin Cottier said:

    Another module you could use to achieve a similar result would be the CMPSS module.  The limits will be a little less accurate than the ADC, but the response time will be much faster.  It is also quite a bit of work to route the CMPSS trip to an ISR.  

    Hi Devin,

    Thanks for your comments.

    First I thought we can also use CMPSS for this scenario, but I could not find CMPSS as an interrupt source.
    Could you please elaborate how to route the CMPSS trip to an ISR?

    Thanks & Regards,
    -Shibata

  • Hi Shibata,

    Check out the CMPSS async example in C2000ware.  If you can get the comparator output to a gpio pin, you can then use the input X-BAR to route the signal back into the device to be used as an external interrupt for LPM wakeup.  This is probably the easiest way, but does require a spare GPIO with and output XBAR mux connection.

    No external pins required, but much more complicated: you could trigger a spare ePWM tripzone with the CMPSS output and then have that trigger an ePWM ISR.  

  • Thanks Devin.

    I will check the example code.

    Regards,

    -Shibata