AnsweredAssumed Answered

Using KL46Z in a very low power application

Question asked by Diego Gangale on May 26, 2015
Latest reply on May 26, 2015 by Mark Butcher

Hi.
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
INT_LPTimer.

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:

  • Cpu_SetClockConfiguration(CPU_CLOCK_CONFIG_1)
  • Cpu_SetOperationMode(DOM_STOP)

For entering the VLPS mode, we call them in the same order as above in the

IDLE task.Hereafter the problems:

  1. it doesn't wake up on INT_LPTimer interrupt, but just
         for INT_LLW
  2. 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)
  3. is it strictly necessary to use MQX full in order to
         work with the low power features?
  4. 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.

Outcomes