3. Measuring power

As mentioned in the previous sections depending on the configuration used a different datapoint will be generated, therefore one needs to define a very specific scenario providing detailed description of all the parameters that can influence a measurement. The test is designed in such a way to get a representative measurement of a specific feature or use-case, serving an evaluation purpose. In this section we will provide measurements for the following cases which covers both performance evaluation and battery lifetime estimation.

  • Datasheet numbers/: The purpose is to provide datapoints on isolated parts of the system on different power modes.

  • Executing from RAM or i-cache at different clock rates/: Purpose is to estimate cost of code execution.

  • Bluetooth events/: Numbers providing power consumption on specific Bluetooth events.

  • Use case scenarios/: Power consumption when executing simple applications like the proximity reporter, a graphics demo, or periodic wake-up to probe a sensor.

3.1. Datasheet numbers

The numbers are provided in the DC Characteristics table of the datasheet. The power number includes typical numbers measured on very specific conditions which are described in the condition cell of every table entry. The configuration is not the same as the one typically used in the SDK since the scope of those numbers are to show the best capabilities of the HW in terms of power consumption if properly configured. On the other hand on a typical application environment a less aggressive configuration is required, similar to what the standard SDK provides. The application used is referred as characterization software.

Table 4 Power Modes

Parameter

Description

Conditions

Typ. Value

IBAT_IDLE

battery supply current

CPU is idle (WFI)

hclk = 32 MHz (RCHS)

PLL off.

slow PCLK= 2MHz

fast PCLK = 4MHz

DC-DC on.

FLASH off

peripherals off

VDD = 0.9V

VBAT = 3 V

0.9 mA

IBAT_RUN_32MHz

average active battery

supply current

CPU is executing from RAM

hclk = 32 MHz (RCHS)

PLL off.

slow PCLK = 2 MHz

fast PCLK = 4 MHz

DC-DC on.

FLASH off

Peripherals off

VDD = 0.9V

VBAT = 3 V.

2.1 mA

IBAT_RUN_96MHz

average active battery

supply current

CPU is executing from RAM.

hclk = 96 MHz (RCHS)

PLL off.

slow PCLK = 2 MHz

fast PCLK = 12 MHz

DC-DC on.

FLASH off

Peripherals off

VDD = 1.2V

VBAT = 3 V.

7.9 mA

IBAT_RUN_160MHz

average active battery

supply current

CPU is executing from RAM.

hclk = 160 MHz

PLL on.

XTAL32M on

slow PCLK = 2 MHz

fast PCLK = 20 MHz

DC-DC on.

FLASH off

Peripherals off

VDD = 1.2V.

VBAT = 3 V.

13 mA

IBAT_HIBERN

battery supply current

Hibernation mode

no RAM retained

all clocks off

DCDC off

Vclamp default

FLASH off.

VBAT = 3V.

0.2 μA

IBAT_DP_SLP

battery supply current

Deep Sleep mode

No RAM retained.

RCX on

RTC on.

RCLP = 32 kHz

DC-DC on.

VDD = 0.9 V

LDO_V30_RET on

Default Bandgap Refresh val

VBAT= 3 V.

6 μA

IBAT_VAD

battery supply current

Voice Activity Detection

Sleep mode;

8kB iCache

256 kB RAM retained

RCX on.

RTC on

RCLP = 32 kHz

DC-DC on.

VDD = 0.9V

LDO_V30_RET on

FLASH in Power Down

Bandgap Refresh Default

VBAT = 3 V.

16.2 μA

IBAT_EX_SLP_caches_256K

battery supply current

Extended Sleep mode

8kB i-cache

256 kB (data)

RAM retained.

RCX on

RTC on

RCLP = 32 kHz

DC-DC on

VDD = 0.9 V

LDO_V30_RET on

FLASH in Power Down

Bandgap Refresh Default

VBAT = 3 V.

8.7 μA

IBAT_EX_SLP_caches_512K

battery supply current

Extended Sleep mode

8kB iCache

512 kB RAM retained

RCX on.

RTC on

RCLP = 32 kHz

DCDC on

VDD = 0.9 V

LDO_V30_RET on

FLASH in Power Down mode

Bandgap Refresh Default

VBAT = 3 V.

10.8 μA

IBAT_EX_SLP_caches_1MB

battery supply current

Extended Sleep mode

8kB iCache

1024 kB RAM retained

RCX on

RTC on

RCLP = 32 kHz

DCDC on

VDD = 0.9 V

LDO_V30_RET on

FLASH in Power Down mode

Bandgap Refresh Default

VBAT = 3 V.

14.4 μA

IBAT_EX_SLP_caches_1.5MB

battery supply current

Extended Sleep mode

8kB iCache

1536 kB RAM retained

RCX on.

RTC on

RCLP = 32 kHz.

DCDC on

VDD = 0.9 V.

LDO_V30_RET on

FLASH in Power Down

Bandgap Refresh Default

VBAT = 3 V.

18.5 μA

IBAT_SensorNode

average battery

supply current

SNC is running from RAM

hclk = 32MHz (RCHS)

slow PCLK = 32 MHz

fast PCLK = 4 MHz

DC-DC on

CPU off

FLASH off

Peripherals off

VDD = 0.9V

VBAT= 3 V.

1.4 mA

IBAT_BLE_RX_32M

peak battery

supply current

BLE receive mode

fCLK = 32 MHz

CPU off

DC-DC on

FLASH in Power Down

VBAT= 3 V.

4.2 mA

IBAT_BLE_TX_32M

peak battery

supply current

BLE transmit mode

fCLK = 32MHz.

CPU off

DC-DC on

FLASH in Power Down

VBAT = 3 V.

5.3 mA

3.2. Executing code from cache or RAM at different clock rates

The target here is to estimate the cost of executing specific block of code at different clock rates. Cache and RAM are used as sources of the code and OSPI / QSPI is usually excluded since it will add a big amount of power which depends on the flash device used and the settings of the OSPI/QSPI

'Executing different block of codes.'

Table 5 Executing code at different clock speeds

ID

Description

Memory used

Clock

RCHS32M

Clock

RCHS96M

Clock

PLL160M

1

Idle (WFI)

RAM

0.94mA

2.20mA

2.8mA

2

Data Move

RAM

2.24mA

8.64mA

14.4mA

3

FPU

RAM

1.77mA

6.33mA

13.36mA

4

NOP

RAM

1.91mA

6.96mA

11.32mA

5

Data Move

Cache

2.56mA

10.29mA

16.95mA

6

FPU

Cache

1.96mA

9.25mA

11.78mA

7

NOP

Cache

2.39mA

9.41mA

15.44mA

All measurements have been done using the DA1470x DK and VBAT is at 3V.

3.3. Bluetooth events

CMAC always executes code from RAM using a 32MHz clock and thus the system should run on VDD 0.9V. Of course if the application processor is awake using a higher speed clock the VDD setting may be overruled and CMAC may execute code at VDD 1.2V.

'Power consumption during connectable advertize in all 3 channels.'

As shown in the figure a 3 channel advertize with almost a full payload will require 7.8uC from a 3V power source hooked at VBAT. The event will take almost 3.18mS from wake-up to finish.

'Power consumption during non - connectable advertize in all 3 channels.'

A 3 channel non connectable advertize will require 5.9 uC from a 3V power source. The event will take 2.1 mS from wake-up to finish.

'Power consumption during a connection event with no data exchanged at 45ms connection interval.' A connection event which does not carry any data will require 4.24uC from a 3V power source. The event requires 1.94mS from wake-up to finish.

3.4. Usecase numbers

Scope of this type of measurements is to provide datapoints that a customer can use to form a battery lifetime calculator for a specific application. The DA1470x is best fitted for wearables applications. Usually the applications will have 2 states when in use by the end user. * An idle state where the user does not interact with the device. * An active one where the user interacts with the UI of the device. The first state can be emulated with the device advertizing or being connected at a slow interval together with a periodic wake-up of the device for sensor probing, data processing and logging. The active state is mainly defined by the power consumption of the graphics since the user interacts with the device. A demo using graphics including animation will give a good sense of the power consumption of the system at this state.

3.4.1. Idle state

In our simplified model the device will wake up for 3 different type of events.

Table 6 Idle state Event types

ID

Clock

Duration

Period

Charge

per event

Description

Evt1

RCHS32M

0.5 sec

34.2 uC

9.9 ms

Device is waking up every 500mS, probes the sensor,

stays active (sensor sampling + data processing)

for ~10ms @32MHz and goes back to sleep.

Evt2

XTAL32M

1 sec

9.0 uC

3.9 ms

Device is advertizing

Evt3

RCHS32M

1 min

39.4 uC

10.7 ms

Write 1K of data to the storage

flash using the flash adapter.

Summing up and adding another 18uA x 97.6% for the power consumption during sleep; since 97.6% is the approximate time the device is sleeping the Idle State scenario will require

18uA * 97.6% + 34.2/0.5 uA + 9.0/1 uA + 39.4/60 uA = 95.73 uA

3.4.2. Active state

To provide a data point for the active state we will use a watch face demo with clock hands. This is implemented using LVGL library and draws a complex watch face using 16 bit colors. 2 layers are used and all frame buffers are stored internally in the system ram. The display refresh period is set at 100mSec. The resolution of the frame buffer is at 390 x 390. The system clock used is 96 Mhz and it takes on average 23ms to complete a drawing event. The average power consumption of the DA1470x to serve such a scenario is kept at 3.1mA when powered from a 3.3V power source with the peak current reaching 28mA.