Archive for October, 2007

h1

Battery Life Calculator for Freescale Microcontrolers

October 23, 2007

We get many questions from customers asking what the IDD of a particular MCU is at a specific voltage/frequency/temperature combination. Obviously we cannot take data on all of MCUs across all possible combinations of operating conditions. So to help customers answer questions about power consumption under various conditions we created a battery life calculator.

 

How does it work?

This battery life calculator is a small executable program that allows the user to enter the operating conditions (voltage/frequency/temperature) along with battery capacity, the percentage of time the application spends in each of the MCUs modes (run, wait, stop3, stop2 and stop1), and a periodic wakeup interval. The calculator takes this information and determines the average current the MCU is consuming and an estimation of the resulting battery life.

 

Battery-Life calc pic

MC9S08GB/GT Battery-life Calculator. Click to enlarge.

 

How does it calculate battery life?

The calculator was created by measuring currents on a few typical samples under many different conditions. The data results were analyzed and equations created for each mode of the MCU (i.e. run, wait, stop3, etc.) that fit the data as much as possible. The results of each equation are averaged together based on the percentages and wakeup interval the user provides. This resulting average current is then used to calculate the battery life based on the provided values of the battery capacity and an estimate of the battery self-discharge current for the type of battery. Capacities and self-discharge currents are provided for some common alkaline and lithium batteries.

 

Which devices are covered?

Currently, we only have a calculator for the MC9S08GB/GT 8-bit MCU family, but we are working on versions for the new QE128 Flexis Duo. The MC9S08GB/GT can be downloaded free of charge from:

http://www.freescale.com/files/microcontrollers/software/app_software/HCS08BATTCALC.zip?fpsp=1

 

-Scott

h1

What Controls the Power of a Platform?

October 16, 2007

The Confusing Platform Definition

The term “platform” means different things to different people. At one level a platform is a processor core with its associated memories. At a higher level it may be a processor core with a few peripheral modules. At an even higher level it can be a collection of components connected together with software to create an end product, which is the definition I’m using for this discussion.

Voltage Domains

There are typically multiple voltage domains in a platform, each catering to the differing requirements of the platform component, such as basebands, application processors, memories and displays. For high current consuming components, a switching regulator is desired for efficient power conversion. So do the regulators control the power of a platform? No … the regulators only source the power.

Hardware Components

The hardware components in a platform are typically designed using low power techniques, such as clock gating, reduced power modes and state retention power gating. A great deal of thought is put into the component architectures to ensure that the low-power techniques can be used and the transitions between low-power modes are smooth. So do the hardware components control the power of a platform? No … the hardware components only provide means to effectively use the power.

So what controls the power of a platform?

The answer revolves around the word “control.” The software controls the behavior and operation of the platform, and ultimately, the platform’s power. The software can either utilize the platform’s low power techniques, or it can ignore those techniques and operate at the highest voltage and frequency of the hardware. In both cases, the use case will be performed, but one will be more power efficient than the other.

When putting together a power-sensitive product, software control for power minimization is a critical optimization step that is often skipped due to time-to-market constraints. Ideally, the hardware and software should be developed interactively to create a platform with the lowest power consumption. However, in most cases, this is not possible since off-the-shelf components are used. So, it is important to select components that have the right low-power hardware capabilities and software that is written to take advantage of all the low-power hardware in the components.

– Chris

h1

Flash in battery-powered applications

October 9, 2007

One advantage Freescale microcontrollers have over many of our competitors is that our flash memories can be programmed and erased at low voltages. On most low voltage 8-bit S08 and 32-bit ColdFire® MCUs (the ones specified to run from 1.8V to 3.6V), the flash memories can be written and erased across the entire operating voltage range.

This provides several advantages for battery-powered applications:
· No worries about battery level for user-programmable applications,
· No worries about battery level for firmware updates
· Ability to save the current RAM/register states when the battery gets close to its end of life.

User-programmable applications
It is fairly easy to see the advantage of programmability across battery-life in a user programmable application. A programmable remote control is a good example of such an application. With no limitations on battery voltage, users can add or change functions on their remotes whenever needed.

If the MCU places limitations on programming voltage, then the user has to change to fresh batteries when adding the new DVD player to the master remote. Alternatively, the remote has to maintain the settings in RAM, meaning the user has a limited amount of time to replace batteries when they are drained.

Firmware updates
Let’s take the example of a monitored home security system that includes battery-powered wireless sensors throughout the house. Suppose the manufacturer of the system has a software upgrade to improve the security of the wireless transmissions. If the MCUs used in the battery-powered sensors cannot re-write the flash across the entire battery voltage range, then the company that installed the system either has to contact the homeowners to instruct them to install fresh batteries in every sensor or send a technician out each home to perform the update.

Using MCU’s that can rewrite flash across the entire battery voltage range, the upgrade can be made without concern for the current voltage output of the batteries. The manufacturer can therefore provide a remote way to upgrade the firmware through the monitoring system without having to contact the homeowner, making the process much more efficient and reliable.

Saving the current state
The last advantage I want to discuss is saving the current state of the system. Some smoke detectors and carbon monoxide detectors will keep a running count of their sensor readings in RAM to keep track of the highest readings for the last hour, day, week, etc.

With a voltage-limited flash, these values can only be saved into flash when the detectors have relatively fresh batteries or when AC line powered. If the power goes out or the batteries aren’t replaced before going dead, the RAM contents will be lost.

With a flash that programs across operating voltage, the RAM contents can be saved as the batteries get near end-of-life or if the power goes out and backup power is available from a capacitive storage.

-Scott

h1

Effective Low Power Modes

October 2, 2007

What is a low-power mode?

A power mode is basically an operating point of a component. For instance, one operating point may have the core running along with a few peripherals running – this operating point may be called “ACTIVE.” Another operating point may have the core clock gated but a few peripherals running – this may be called “IDLE.” Similarly, a third operating point may have the core and peripherals all clock gated – this may be called “DISABLED.” Other operating points may be defined and are typically named RUN, WAIT, STOP, DOZE, DEEP SLEEP, etc.

The definition of a “low”-power mode is a power mode that is less than ACTIVE or RUN. These low-power modes are used to match the performance of the hardware with the use-case requirements.

What makes a low power mode effective?

There are two features of a low power mode that make it effective:

  1. Capability in the mode
  2. Entry/exit latency of the mode

The capability of a low-power mode is determined by the modules that may be active and the frequency at which they operate in that mode. If a specific use case can be performed at a minimum frequency with a small subset of the modules active, the low-power mode may be effective.

The second quality measurement of a low power mode is the entry/exit latencies. The transition times into and out of the low-power mode will dictate when they are useful. In some cases, very short latencies are required, in which only “shallow” low-power modes are useful, such as WAIT or DOZE modes. In other cases, longer entry/exit times are acceptable, in which the “deeper” low power modes are useful, such as DEEP SLEEP.

The most effective low-power modes keep only required modules clocked and have the appropriate entry/exit latency times to meet the use case. The use-case software should gate off the clocks of the unused modules and use the lowest power modes that it can, given the entry/exit latency constraints of the use case.

– Chris