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.

Power consumption in Wait-For-Interrupt

What is typical power consumption in wait for interrupt and how low can it be?

Seems like I have checked all of my IOs. My VDD supply rail (3.3V) current into DM355 is around 4mA (13mW). Is it typical?

Also, QVDD (1.3V) is 5.9mA (7.6mW) but the datasheet says that in wait for interrupt the core stops. Shouldn't this value be much less then?

 

  • In my ongoing quest for reducing power consumption I ran into a strange thing.

    The wait-for-interrupt state is entered by executing the following two commands:

        mov     r2, #0
        mcr     p15, 0, r2, c7, c0, 4   @ wait for interrupt

    The datasheet does not say what value should be in the register prior to executing register-to-coprocessor transfer command that puts the core into sleep. Does the value in the register (in my case R2) matter?

    Right before executing wait-for-interrupt command my code is switching DDR to self-refresh, turns off PLLC2 (DDR), puts PLLC1 into bypass (24MHz), and powers down PLLC1.

    Just for experiment I replaced wait-for-interrupt command with an infinite loop :

    loopy:
            b loopy

    I would expect my power consumption to be higher but no. The QVDD current stayed the same. I switched back and forth between MCR... and  B loopy just to be sure.

    My thinking is maybe my board does not go to sleep and instead when trying to execute mcr... the processor throws a command or data abort interrupt. Is that possible?