BROWSE ARTICLES BY TECHNOLOGY

DIGITAL EDITION

RTC Magazine Digital Edition

INDUSTRY NEWS

RECENT COMMENTS

  • Hi Juan, This article shows you how to implement a quadrature encoder interface on the FPGA using digital lines. It was written for our PCI or P...

    Meghan Meckstroth Kerry - See Article

  • Good coverage on the general advantages of COM, and X86 implementations. It would have been nice to ARM options for lower-power (handheld) applicat...

    Brian Empey, P.Eng. - See Article

  • Your article about Application Service Platforms in RTC April is another example of great reporting by RTC. Can we have a new RTC index category -...

    Kenneth G Blemel - See Article

  • Static analysis tools/scanners are a great arsenal for companies who require high quality code. It does a great job of finding a wide range of pro...

    Andrew Yang - See Article

  • I hope that the microcessor based Insulin Pump riding on my belt would be held to a higher standard. If it quits, I can work around that inconvenie...

    Karl Williamson - See Article

WHITEPAPERS

QUICK DOWNLOADS

RTEC10 is an index made up of 10 public companies which have revenue that is derived primarily from sales in the embedded sector. The companies are made up of both software and hardware companies being traded on public exchanges.

COMPANY PRICECHANGE
Kontron
7.81
4.577%
Adlink
1.54
2.388%
Advantech
2.32
1.505%
Interphase
1.61
-3.012%
Radisys
9.26
-1.016%
-   Performance Technologies2.100.000%
-   Enea5.630.000%
PLX
3.62
-3.209%
Mercury Computer
11.76
-2.931%
Elma
412.98
-0.476%
HIGH LOW MKT CAP
7.85
7.43
435.04
1.58
1.52
185.11
2.33
2.30
1,198.70
1.70
1.61
11.00
9.41
9.24
223.74
2.102.1023.34
5.635.54101.86
3.74
3.61
134.28
12.17
11.76
279.57
412.98
412.98
94.25
RTEC10 Index: 490.94 (1.11%)
RTEC10 is sponsored by VDC research

SOLUTIONS ENGINEERING

Intelligent Power Management

RTOS - The Heart of Good Power Management

The basic mechanisms for power management are already in the RTOS. The lowest-priority task can put the CPU into a selected sleep mode to be reawakened by any interrupt in the role of Prince Charming.

LOTTA FRIMANSON, IAR SYSTEMS

  • Page 1 of 3
    Bookmark and Share

Low power consumption is an essential requirement in many embedded applications. The growing importance of battery-powered applications for portable electronics, home automation and wireless communications—for example, in medical devices, personal navigation devices, sports watches and portable game consoles—means that the demand for improved battery life is growing dramatically. The number of low-power versions of microprocessors and other silicon devices that have power management capabilities is increasing steadily.

Many embedded applications spend most of their time waiting for something to happen: receiving data on a serial port, watching an I/O pin change state, or waiting for a time delay to expire. If the processor is still running at full speed when it is idle, battery life is being consumed while very little is being accomplished. So in many applications the microprocessor is only active during a very small amount of the total time, and by placing it in a low-power mode during the idle time, the battery life can be extended by orders of magnitude.

However, incorporating power management and using an RTOS may be just as important a way to save power as the silicon design itself. Test examples have shown that some microprocessors may be in idle mode for 60 - 80% of their operating time. Using an RTOS in combination with idle tasks may significantly reduce power consumption and the CPU overhead by ensuring that the CPU is in its lowest possible power mode whenever it is idle.

Reducing Power Consumption in an Embedded System

The key is to minimize the active time and therefore maximize the time when the processor can go to sleep. The active time can be reduced by using a compiler that is efficient at optimizing for speed. The faster a specific task can be executed, the less time the processor needs to run.

A further important consideration is to structure the code in a way that identifies when the system is not performing any tasks. A good approach is to have a task-oriented design and to use an RTOS: In a task-oriented design, a task can be defined with the lowest priority, and will then only run when there is no other task needing to run. We call this task the idle task, and it is the perfect place to implement power management. In practice, every time the idle task is activated, it puts the processor into a low-power mode.

An RTOS provides the developer with a framework on which to build and organize the features of the system. The toolbox that accompanies the RTOS should also provide services such as inter-task communication and time management. Even for systems that have no need of the real-time capability, the code can be cleaner and better organized if based on an RTOS, partly because it promotes code reuse. The integration of an RTOS solves a variety of problems that can occur in application code, since it provides multitasking capability and allows the application to be broken down into smaller pieces.

Each task is assigned its own priority based on its importance, and preemptive scheduling ensures that the microcontroller (MCU) runs the task that has the highest priority among those that are ready to run. In most cases, adding a lower-priority task will not affect the responsiveness of the system to high-priority tasks.

There are many advantages to implementing power management within the OS, as it allows developers to concentrate purely on application development. The application developers can then easily use this object-oriented approach to make the embedded system more power efficient and easier to maintain, and development times become faster.

Using Low-Power Modes

The use of low-power modes is also very beneficial. A low-power mode is simply a state that a microprocessor can be switched to in order to save power. Many microprocessors and other silicon devices have a number of different low-power modes, in which different parts of the processor can be turned off when they are not needed. The oscillator can be either turned off or switched to a lower frequency, peripheral units and timers can be turned off, and the CPU stops executing instructions. Several processors have different levels of low-power modes, each with a different power consumption based on which peripherals are left on.

LEAVE A COMMENT