different levels of energy and power management systems in

3
Different Levels of Energy and Power Management Systems in Embedded Devices Min, Xiaoyu Aalto University, School of Science Abstract—The number of embedded devices enjoys a rapid increase in recent years. The performance of the devices increased much, while the development of power supplies, especially bat- teries, reaches a bottle neck. Therefore, the energy and power management (EPM) systems become a more important part in the systems. EPM systems could affect the whole system from application level, to operating systems level and hardware level. I. I NTRODUCTION The concept of Internet of Things (IoT) has evolved in the past decade due to a convergence of multiple technologies. In the process of the evolution, sensors play an important part, since they are the ’eyes’ of the various mobile devices in the IoT. Due to the bottleneck reached for the batteries or other power supplies, energy and power management (EPM) systems have become an important part in the embedded devices that require strict power control on the systems. Most of the nodes or devices in the IoT network have limited hardware resources, e.g. a tiny micro-control chip with only a few sensors attached to the chip. To make the small system operate more energy-efficient, the energy and power management is required to strictly manage the power consumption of each part of the hardware, either to turn some part of the device into sleep mode when not in use, better schedule the running state of each part of the system, or even adjust the currents running on the circuits, so that the whole system could operate normally with less power consumed. [1] This paper will try to go through the energy and power management systems in different levels in common embedded systems, and try to summarize the advantages and disadvan- tages of the techniques in these EPM system. In section II, application-level EPM is introduced, and the paper would take one of the most famous embedded software platform, Android as an example, to show the impact of EPM on application level. In section III, EPM systems in operating system level and hardware level are introduced, including the ACPI, Linux EPM and a brief introduction to hardware EPMs. Summary and comparison of the different level and the future scope will be included in the conclusion section. II. APPLICATION- LEVEL EPM: TAKE ANDROID- BASED APPLICATIONS AS AN EXAMPLE The design principles of applications running on the embed- ded devices could of course have a grate impact on the power consumption of the device [2]. But the impact is strict relied on how much permissions are given by the operating systems [3]. If the application is not granted much permissions accessing the EPM systems of the OS, it might be running under grate restriction and therefore have less impact on the whole device [4]. The open-source operating system Android delivered by Google is popular in many different platforms and provides several EPM APIs to the applications. Android applications try to affect the system EPM via the Android Wake lock mechanism. Android implements an application framework on the top of the kernel called Android Power Management Applications Framework. The Android PM Framework is written in Java which connects to Android power driver through JNI. Through the framework, user space applications can use the class ’PowerManager’ to control the power state of the device. [5] Figure 1 shows the process of how an application could apply and control the power state of the device. It not only shows the effect of application level, but also indicates that management of power system is a vertical process through the application front end to the hardware back end. Fig. 1. Android Wake lock Mechanism [5]

Upload: others

Post on 01-Oct-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Different Levels of Energy and Power Management Systems in

Different Levels of Energy and Power ManagementSystems in Embedded Devices

Min, XiaoyuAalto University, School of Science

Abstract—The number of embedded devices enjoys a rapidincrease in recent years. The performance of the devices increasedmuch, while the development of power supplies, especially bat-teries, reaches a bottle neck. Therefore, the energy and powermanagement (EPM) systems become a more important part inthe systems. EPM systems could affect the whole system fromapplication level, to operating systems level and hardware level.

I. INTRODUCTION

The concept of Internet of Things (IoT) has evolved in thepast decade due to a convergence of multiple technologies. Inthe process of the evolution, sensors play an important part,since they are the ’eyes’ of the various mobile devices inthe IoT. Due to the bottleneck reached for the batteries orother power supplies, energy and power management (EPM)systems have become an important part in the embeddeddevices that require strict power control on the systems.

Most of the nodes or devices in the IoT network havelimited hardware resources, e.g. a tiny micro-control chipwith only a few sensors attached to the chip. To make thesmall system operate more energy-efficient, the energy andpower management is required to strictly manage the powerconsumption of each part of the hardware, either to turn somepart of the device into sleep mode when not in use, betterschedule the running state of each part of the system, or evenadjust the currents running on the circuits, so that the wholesystem could operate normally with less power consumed. [1]

This paper will try to go through the energy and powermanagement systems in different levels in common embeddedsystems, and try to summarize the advantages and disadvan-tages of the techniques in these EPM system.

In section II, application-level EPM is introduced, and thepaper would take one of the most famous embedded softwareplatform, Android as an example, to show the impact of EPMon application level. In section III, EPM systems in operatingsystem level and hardware level are introduced, including theACPI, Linux EPM and a brief introduction to hardware EPMs.Summary and comparison of the different level and the futurescope will be included in the conclusion section.

II. APPLICATION-LEVEL EPM:TAKE ANDROID-BASED APPLICATIONS AS AN EXAMPLE

The design principles of applications running on the embed-ded devices could of course have a grate impact on the powerconsumption of the device [2]. But the impact is strict relied onhow much permissions are given by the operating systems [3].If the application is not granted much permissions accessing

the EPM systems of the OS, it might be running under graterestriction and therefore have less impact on the whole device[4]. The open-source operating system Android delivered byGoogle is popular in many different platforms and providesseveral EPM APIs to the applications.

Android applications try to affect the system EPM viathe Android Wake lock mechanism. Android implements anapplication framework on the top of the kernel called AndroidPower Management Applications Framework. The AndroidPM Framework is written in Java which connects to Androidpower driver through JNI. Through the framework, user spaceapplications can use the class ’PowerManager’ to control thepower state of the device. [5]

Figure 1 shows the process of how an application couldapply and control the power state of the device. It not onlyshows the effect of application level, but also indicates thatmanagement of power system is a vertical process throughthe application front end to the hardware back end.

Fig. 1. Android Wake lock Mechanism [5]

Page 2: Different Levels of Energy and Power Management Systems in

III. OS-LEVEL EPM

As stated in the previous section, Android OS offers akind of Power Management APIs to the applications, so thatthe applications could have access to control of the stateof the device. However, the control process is done by theOS through the communications between the Linux kerneland low-level hardware [6]. Similarly, the operating systemsrunning on embedded devices could have done a lot to controlthe power state or schedule of resources. Figure 2 shows thepower management relationship between the Windows PhoneOS and the low-level hardware. The major connection of EPMcontrol are the Advanced Configuration and Power Interface(ACPI) functionality.

Fig. 2. Windows Phone Power Management System [7]

ACPI is an open standard for device configuration andpower management by the operating systems, which replacedthe previous standard Advanced Power Management (APM).It takes the EPM control to the operating systems fromthe previous BIOS-central system. Several power states aredefined by ACPI for the whole system, and some runningstates for the CPUs are optional defined as an extension [8]. Itenables the operating system to choose which state to step in,so that the system could be turned into different power states,for example low power state or sleep state, and better saveand manage the power [9].

Compared to the more generic ACPI standard, Linux EMPprovides more freedom to the developers and architecturedesigners, since the kernel could be re-configured in mod-ules, according to different specific requirements [10]. TheLinux EPM is a large sub-system in the Linux kernels,including Power Supply, Charger, Clock, Frequency, Voltage,Suspend/Resume and other aspects. Figure 3 indicates a briefconnections between these Linux EPM modules.

Fig. 3. Linux Energy & Power Management System [8]

IV. HARDWARE LEVEL EPM

Besides the OS-controlled EPM, some hardware of theembedded devices also have their hardware EPM on the chip –the Power Management Integrated Circuit (power managementICs or PMICs). These PMICs could also be a system blockin a system-on-chip system are used for managing powerrequirements of the host system. PMICs normally exist inbattery-operated devices such as mobile phones and portablemedia players, and they are often integrated with the micro-controller chip. Therefore, the product manufacturers wouldoften buy a complete PMIC solution with the micro-controllersfrom the chip manufactures, since it is fast and cheap, and doesnot require much research on the hardware level, unless theyhave some specific requirements. [11]

A PMIC may consist of different sub-modules, for example,they may have Battery Management module, Voltage regula-tions, DC to DC conversion (dynamic voltage scaling), Powersequencing module, and other Miscellaneous functions mod-ules. Most of the design of PMIC are patterned or protectedby the chip manufacturers, and it takes a bunch of resourcesand funds to do the PMIC design and implementation. Thus,only part of the specifications of the PMIC could be found onthe Internet.

V. CONCLUSION

The article walks through the EPM systems in differentlevels in the embedded devices. There is no doubt that eachlevel could effect the state of the whole system. Both softwareand hardware could have an impact on the EPM system.The applications running on the embedded devices couldhave access to the low-level EPM systems if EPM APIs areprovided by the operating system. The operating system isthe major controller of the EPM system of the whole device.Low-level hardware EPM system could somehow be runningon their own without support from the operating systems,dynamically adjusting the status of the circuits.

Page 3: Different Levels of Energy and Power Management Systems in

Currently, most of the EPM controls are done by theoperating systems for most of the embedded devices. Theapplications designed should be optimized for each OS, sincedifferent operating systems employs different EPM policies.The hardware level EPM systems on the other hand, are notexposed to the developers at all. These different levels of EPMon the embedded devices are closely related with each other.If all these levels could be designed and configured properlyand coherently, the power consumption of a embedded devicemight be able to reach an ideal level.

REFERENCES

[1] F. Shearer, Power management in mobile devices. Newnes, 2011.[2] P. Rong and M. Pedram, “Hierarchical power management with applica-

tion to scheduling,” in Proceedings of the 2005 international symposiumon Low power electronics and design. ACM, 2005, pp. 269–274.

[3] X. Liu, P. Shenoy, and M. Corner, “Chameleon: Application levelpower management with performance isolation,” in Proceedings ofthe 13th Annual ACM International Conference on Multimedia, ser.MULTIMEDIA ’05. New York, NY, USA: ACM, 2005, pp. 839–848.[Online]. Available: http://doi.acm.org/10.1145/1101149.1101332

[4] C. S. Ellis, “The case for higher-level power management,” in Hot Topicsin Operating Systems, 1999. Proceedings of the Seventh Workshop on.IEEE, 1999, pp. 162–167.

[5] J. S. George. (2012) Android power management. [Online]. Available:http://people.cse.nitc.ac.in/jerrin/files/android power management.pdf

[6] M. Anand, E. B. Nightingale, and J. Flinn, “Ghosts in the machine:Interfaces for better power management,” in Proceedings of the2Nd International Conference on Mobile Systems, Applications, andServices, ser. MobiSys ’04. New York, NY, USA: ACM, 2004, pp.23–35. [Online]. Available: http://doi.acm.org/10.1145/990064.990070

[7] Microsoft. (2014) Power management architecture. [Online]. Avail-able: http://dev.windowsphone.com/en-US/OEM/docs/Phone Bring-Up/Power management architecture

[8] WoWo. (2014) Linux power management. [Online]. Available:http://people.cse.nitc.ac.in/jerrin/files/android power management.pdf

[9] Anonymous. (2014) Advanced configuration and power interface. [On-line]. Available: http://en.wikipedia.org/wiki/Advanced Configurationand Power Interface

[10] T. P. Michael Opdenacker. (2010) Embedded linux optimization.[Online]. Available: http://free-electrons.com/doc/embedded linuxoptimizations.pdf

[11] Anonymous. (2014) Power management architecture. [Online].Available: http://en.wikipedia.org/wiki/Power management integratedcircuit