Using KL46Z in a very low power application

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using KL46Z in a very low power application

645 Views
diegogangale
Contributor I

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.

Labels (1)
0 Kudos
1 Reply

403 Views
mjbcswitzerland
Specialist V

Hi

If you have difficulties achieving the specification you can also look at:

µTasker FRDM-KL46Z support

µTasker Kinetis TWR-KL46Z48M support (the low power modes can be tested with the binaries here - I think that the VLPS mode, with 50ms TICK is well under 100uA on average).

which contains dynamic low power mode support, including low power UART handling. You may find some addition information that could be useful about LLWU operation at µTasker LLWU Support

However the lower average power consumption depends on the UART speed, the amount of UART activity and the speed of wake up required to handle asynchronous UART activity (unless all activity is out-going).

Furthermore there are a number of decisions that need to be made concerning which clocks are operating in the low power or LLWU modes, the speed of these clocks, as well as the clock setting when in RUN/WAIT modes.

Average consumption of a few uA may be possible but, depending on the exact requirements as noted above it may not always be possible to achieve the optimal. Therefore I don't think that a figure can be given without analysing all of the requirments to identify the low power possibilities and the ratio of time in various states to calculate the long-term average.

Note also that it is worth considering the newer KL43 too since it may offer some lower power advantages compared to the KL46.

Regards

Mark

Kinetis: µTasker Kinetis support

KL43: µTasker FRDM-KL43Z support  / µTasker TWR-KL43Z48M support

KL46: µTasker FRDM-KL46Z support  / µTasker Kinetis TWR-KL46Z48M support

LLWU: µTasker LLWU Support

For the complete "out-of-the-box" Kinetis experience and faster time to market

0 Kudos