KL46Z power consumption

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

KL46Z power consumption

1,647 Views
frdmcharly
Contributor III

Hello Community! I'm using a FRDM-KL46Z for make a stand alone sensor with a battery, but the board consumption is 25mA, I'm using FreeRTOS and puting in the Application Idle Hook the WFI instruction, and works good downing the consumption to 22mA. But I'm trying put the MCG in FBI mode but the LCD display and the buttons don't work. Do you know what I need configuring to work in FBI mode (or another with less consumption) for down the consumption and work with the display and buttons of the board. Thanks!

0 Kudos
Reply
4 Replies

1,031 Views
mjbcswitzerland
Specialist V

Hi Carlos

Your current measurements seem extremely high. Are you sure that you are measuring correctly?

I have attached a binary file for the FRDM-KL46Z that you try as reference (perform a power cycle after loading to ensure that it uses new low power settings). There is an interface on the virtual COM port (OpenSDA at 115200 Baud) where you can control the low power modes.

If you hit the ENTER key you will see the main menu:

        Main menu

===================

1           Configure LAN interface

2           Configure serial interface

3           Go to I/O menu

4           Go to administration menu

5           Go to overview/statistics menu

6           Go to USB menu

7           Go to I2C menu

8           Go to utFAT disk interface

9           FTP/TELNET client commands

a           CAN commands

help       Display menu specific help

quit       Leave command mode

Use sub-menu 4 (enter '4' followed by the ENTER key) to move to the administrator menu and then you will be able to request the present mode (WAIT is default) with "show_lp"

#show_lp

0 = RUN

1 = WAIT [active]

2 = STOP

3 = VLPR

4 = VLPS

5 = LLS

6 = VLLS0

7 = VLLS1

8 = VLLS3

Then enter "set_lp 0" to move to RUN mode, or other values to try other modes.

My measurements on the FRDM-KL46Z are about

RUN 8.4mA

WAIT 5.4mA

STOP 2.0mA

VLPS 200uA

LLS = 77uA

You can move freely between RUN, WAIT and STOP modes because the UART also reacts normally.

The UART will not work in VLPS mode but the board will continue to run (and its LED blink).

In lower power modes you need to reset to recover.

The SLCD displays the time and operates fully in RUN, WAIT and STOP modes. In VLPS I would expect it to operate normally because it is clocked by the MCGIRCLK but it does in fact flicker badly(?).

In LLS etc. it doesn't display, which is normal since MCGIRCLK is stopped in these modes.

I have more information about the low power modes and the SLCD at µTasker KL RTC Support which may help. Note from it that it may be best to use a low pwer 32kHz oscillator for applications requiring RTC and SLCD in lowest power modes.

Note that the software/processor is operating at 48Mz when running and sets itself whenever possible to the low power mode selected. Whenever there is an interrupt it wakes out of it its mode (when possible) and sleeps again as soon as all work has been completed. The TICK is driven from the low power timer module, which is itself clocked by LPO (so that the TICK continues in lower power modes).

This operation is an option in the uTasker project be enabling SUPPORT_LOW_POWER and SUPPORT_LPTMR with TICK_USES_LPTMR and LPTMR_CLOCK_LPO

Regards

Mark

0 Kudos
Reply

1,031 Views
frdmcharly
Contributor III

Hi Mark! thanks for your reply!

If we consider the measures of the FRDM-KL25Z RevE taken for BlackNight in his blog, he has a power consumption of 19.58mA for this board out of the box, then maybe it's ok with 25mA from out of the box for the KL46Z .

It's good to know my measure is extremely high and I have the possibility to down the current consumption to lower levels.

Attached in the post are some pictures of the measures that I took, I know the FRDM-KL46Z board has J17 to measure the power used by the KL46Z and J9 to measure the power used by the K20 for the OpenSDA debug interface but at the moment of the measure I didn't know this.

To understand where is the power consumption and to reduce it, I made a raw list of components of the KL46Z board:

Light sensor (als-pt19-315c)

Accelerometer (MMA8451Q)

Magnetometer (MAG3110)

4 digit display (LUMEX LCD-S401M16KR)

Capacitive touch

Open SDA circuit

I searched the power consumption and found only the consumption of the first three from the list. The consumption is not more than 1.5mA counting those three.

  I don't know the power consumption of the rest of the list, but I consider the 4 digit display and capactive touch don't have a relevant consumption. that's ok?

  In his post Erich disabled OpenSDA and it reduced its consumption around 4,5mA.

  Considering all of this the list has around a 5mA of power consumption. So the next point to evaluate is the mcu.

   The starting point is: (25mA)

* KL46Z using internal crystal (FEI mode, 20.97152 MHz bus clock)

* FreeRTOS running SysTick for with 100 Hz RTOS tick counter

* An application to use buttons, LCD display and the 2 leds on the board.

   Reduced Clock Speed: (22,6mA)

* KL46Z using internal crystal (BLPE mode, 2 MHz bus clock)

   Adding the following instructions int application tick idle hook: (22,4mA)

    __asm volatile("dsb");

    __asm volatile("wfi");

    __asm volatile("isb");

 

If I cut the consumption of the OpenSDA circuit and the rest of the list of components, the power consumption of the FRDM-KL46Z gets reduced around to 17mA, and this is a lot of energy.

I'm sure my analysis has something wrong or I need to know something else to reduce the energy.

Are there any elevated master of kinetis to bring light to this ignorance?

Thanks!

Regards,

Carlos

0 Kudos
Reply

1,031 Views
mjbcswitzerland
Specialist V

Carlos

There are two aspects to low power operation

- the processor settings and software (clock speeds, active peripherals, low power mode(s) used, wakeup requirements and wake-up speeds)

- the overall hardware including the operating voltage, peripherals and leakage path

My tests were measuring the curent through J17 which is isolating the processor current and so concentrating mainly (but not exclusively due to leakage paths etc.) on the first aspect.

If you are working on a complete board power consumption including debug HW and various peripherals that are not actually required, your job is more a hardware task. If it is important to reduce power I would "physically" remove parts that are not required to be sure that they are not sinking current.

Normally, however, one would use the FRDM board to determine the processor configuration/SW design and then build an optimised board with only the componets actually needed, being careful that there are no unwanted leakage paths involved. If you are doing serious work I would suggest using 2 FRDM boards - one as reference for SW development and the other as a board for HW modification.

Regards

Mark

P.S: The idea of the binary that I posted was that you can use it as comparison to determine whether the SW that you presently have requires more current (however measured) than it. This allows already working out whether the SW factor is presently acceptable for continuing with HW improvements or whether you still have a problem there that will restrict any further advancements.

The reason for the discussion link was to point out clocking restrictions in low power modes which affect the SLCD, which you want to use. such details are not considered when using devices without the SLCD.

1,031 Views
frdmcharly
Contributor III

Thanks Mark! I will follow your advices.

0 Kudos
Reply