my name is Diego and I'm developing a mission critical board based on a Freescale Kinetis KL46Z.
It is battery powered so the power consumption should be as low as possible,
that is overall less than 100uA.
The software environment is CodeWarrior 10.6 with PE and MQXLite 1.1.1.
The application is not simple enough in order to allow to wake up just by means
of a reset, but we need to wake up also by interrupts like INT_LLW and
The application should wake up every 125 milliseconds and handle also a serial
protocol on two UARTs.
The idea was to have two clock configurations, one for normal RUN where to use
all devices as the UARTs, and one to STOP in VLPS (or other mode).
The second configuration for low power is entered in the IDLE of MQXLite, and
it should exit for any interrupt like INT_LLW and INT_LPTimer.
The PE has generated the following functions:
For entering the VLPS mode, we call them in the same order as above in the
IDLE task.Hereafter the problems:
- it doesn't wake up on INT_LPTimer interrupt, but just
- with or without Cpu_SetClockConfiguration(), the
consuption is exactly the same, in other words the normal STOP and the
VLPS seems to be identical (please note we set to Auto the "VLP mode
entry" in Clock configuration 1)
- is it strictly necessary to use MQX full in order to
work with the low power features?
- is it possible to have what we want, that is an average
consuption less than 100uA / 150uA with that MCU?
What we are doing wrong or we should do?
Thanks a lot in advance.