Designing for optimum power management in x86-based embedded systems
With the onset of x86 technologies for the embedded market, small form factor systems have the potential to achieve optimum performance at low power levels. Utilizing an extensible embedded controller to perform low-level system functions is a valuable add-on that allows designers to manage the system at lower power levels than the x86 architecture alone.
Historically, both embedded systems designers and chip makers have focused on performance and form factor, with minimal effort devoted to power consumption. In recent years, however, low power and power management have come to the forefront in the embedded computing industry, particularly due to advancements in x86 technologies. With the introduction of the Intel Atom processor in 2008 and subsequent releases in the Atom family, embedded systems designers are adding value to leverage the advanced architecture and managed power characteristics of these low-power, high-performance processors. Low-power x86 processors are an ideal solution for applications that require a small form factor without sacrificing features, performance, or reliability.
Embedded systems designers should make low-power design and implementation an important area of focus at the board level and as they enable hardware, firmware, software, and operating system optimizations that accommodate power management and low-power operation throughout the system design stack.
By adding an extensible embedded controller to the sophisticated power management capabilities of x86-based processors, embedded systems designers can deliver a highly competitive embedded platform that creates the optimum balance between advanced features and low power.
Achieving efficiency with an x86 architecture
While some vendors focus on one aspect of the embedded system such as performance or a low price point, it is important to approach power management with x86 hardware from a systems design perspective. As a general rule, when embedded systems designers select the components to support the core processor and companion chips, they should architect for power delivery and power management at every level. Whether considering I/O components, attached devices, or entire subsystems, the components must interact both dynamically and in static configuration to optimize for power consumption versus performance trade-offs.
Embedded systems manufacturers can differentiate themselves by gaining a detailed understanding of the latest x86 processors on the market. For instance, becoming a member of the Intel Embedded Alliance allows embedded systems designers to gain early access to new designs, giving them the opportunity to explore all of the possible capabilities, combinations of features, and areas of optimization that are possible beyond the generic use cases.
A vendor’s true value-add comes by combining flexibility, power, and performance trade-offs with scalability and management functions. Optimizing the design for a specific target application in collaboration with the end customer is ideal. One important value-add in particular, the extensible embedded controller, applies to a host of applications including transportation, medical, automation, retail, and other industries.
Optimization with an extensible embedded controller
Embedded systems often have a compelling need for a controller to perform low-level system functions. While traditional embedded controllers were limited in form and function, current embedded controller technology can perform vital functions that preserve power in the core processor.
Embedded controllers with limited functionality
Traditional legacy PC architectures included a type of embedded controller that performed a fixed set of functions for the system. This controller was typically a small 8051-based microcontroller with limited capabilities integrated inside a super I/O or similar device. Because the overseas manufacturer provided a fixed set of functions for the controller, designers couldn’t obtain source code or change the device. An earlier version of the embedded controller might have handled a few simple functions such as controlling the power button, generating a few LEDs, and allowing the system to access the flash device.
Extensible embedded controllers for x86 architecture
The low-power x86 architecture, on the other hand, differs from the standard PC in that it adds many new features and dramatically changes system design. Today, embedded systems designers can look at embedded controllers in a new light – as feature-rich and extensible.
Extensibility is a system design principle that can be achieved by adding new functionality or modifying existing functionality, both tasks that an extensible embedded controller can accomplish. Taking the old concept of an embedded controller and extending it beyond fixed, limited functions can make the controller more useful and customized for embedded systems customers.
An extensible embedded controller allows designers to perform many diverse functions separately from the host processor. For example, systems designers often initialize I/O devices based on customer requirements, such as a display that requires unique initialization functions. Suppose the interface is very low performance and requires ongoing monitoring. It would be burdensome and inefficient for the host processor to monitor the interface, so the designer can manage that function with the embedded controller.
Unique functions for power management
The extensible embedded controller is a 32-bit ARM7-based microcontroller (see Figure 1). It is a very low-power device, and the designer should configure it for very low power consumption. In general, the extensible embedded controller can manage many diverse functions such as battery monitoring, A/D conversion, or even connectivity status monitoring including wireless connections and GPS interfaces. It can handle any low-performance function that requires some periodic servicing.
The true value-add the extensible embedded controller provides is power management and ultimately a lower-power device. While the controller handles vital functions, the core processor is free to go to sleep in many cases. From an overall system architecture perspective, the system has a high-performance processor, large DRAM subsystem, integrated cache architecture, small peripheral I/O functions, and monitoring devices that need to be monitored on a low-rate basis.
The ability to monitor these functions separately from the host processor provides an optimized, flexible infrastructure. The end system has a more efficient runtime operation that does not start up a large processor subsystem to do something that can be managed by a low-power infrastructure. The host processor runs a large operating system, perhaps one that is complex and has a large number of errors or fault conditions.
As a reliable, low-level manager of system operation functions, the embedded controller gives the designer flexibility to add management functions that are not inherently integrated in an off-the-shelf x86 processor (see Figure 2). For example, the embedded controller can control how a system’s power rails and power regulation functions are managed and monitored.
Furthermore, the embedded controller can accommodate unique interface functions for power management at the point of power-on, during the boot-up session, during normal runtime, and during the shutdown or restart sequences. The controller can manage external sensors including power monitoring, environmental sensors, event monitoring, thermal monitoring, intrusion detection, and in some cases the detection of a catastrophic event. A fairly large range of sensor inputs are possible, leading to a highly reliable system.
Giving the host processor a rest
Many x86 manufacturers would have embedded systems designers believe their processors can perform all of these functions. They can, but when a designer starts adding several peripheral devices that all operate with asynchronous interfaces, it is more efficient to allow the host processor to rest. If the host processor is not running the main application or doing a high rate of data manipulation or graphics rendering, it should be asleep as much as possible.
The better practice for low power is to save the battery to allow the processor to do the heavy lifting. The embedded controller is a valuable add-on, as it allows designers to manage the less important elements at much lower power levels than the x86 architecture alone can reach at this point, resulting in a balanced solution.