By: Susan Wooley, Micro/sys
Thanks to the availability of standard operating systems, the well-known advantages in power efficiency and a wide selection of performance options, the ARM architecture is rising to challenge the dominance of x86 in the small module arena.
For years Intel x86 was the go-to processor for low-end to mid-range board-level embedded designers, but no longer is this the case. More and more of these designers are choosing ARM-based CPU boards for their embedded system needs. So it begs the question, why? Have the needs of these embedded users changed? Absolutely not, in fact the core needs—simplicity and ease of use, low power and application appropriate processors—are more paramount than ever.
Why is it then that the de facto “PC/104” embedded users are making the switch to ARM? For years, Intel’s x86 line of processors aligned well with the needs of “work horse” embedded applications. Recently, Intel has neglected these needs while pursuing the glitz and glam of the ever increasing ultra high-end performance needed by PCs and servers. On the other hand, since its inception, ARM has stayed singularly focused on efficient, application-appropriate processors well-suited for a broad range of embedded applications. Now with the emergence of user-friendly software on the ARM platform coupled with the void of appropriate lower end Intel processors, ARM technology makes the most compelling argument for what used to be “PC/104” applications. ARM’s breadth of processor performance categories makes it the appropriate choice for the eternal embedded reasons: ease of use, low power and broad choice of processor performance.
Ease: Operating System Flexibility
ARM has leveled the operating system playing field with its variety of OS support from sophisticated to simple. As DOS has begun to disappear, most mid-range system designers today have come to prefer Linux and WindowsCE, which are widely available on the ARM platform. These OSs provide compact and efficient kernels with images that have fast boot times and small footprints in flash, which are ideal for “PC/104” applications. In addition to these, BSPs for well-respected RTOS systems like VxWorks, QNX or Integrity, as well as new emerging OSs like Android, are readily available. Now that the same popular, easy-to-use and well-supported operating systems and tool chains of the embedded PC world are available for ARM single board computers, ARM processors are more attractive to the embedded system designers in this segment of the COTS market.
At the same time, a strong selection of microcontroller development platforms and tool chains such as Keil, IAR and GNU tools has been introduced. The most significant attribute of these tool chains is their ease of use. They are intuitive, compact and conceptually similar, so adapting to a new microcontroller tool chain has become a second nature skill. With these affordable tools, designers can be confident that an easy-to-use OS or runtime environment is readily available regardless of their ARM CPU choice.
Selecting the right operating system or development platform is critical to producing the most cost-efficient embedded system. One important decision in achieving efficiency is specifying the right software environment for an application. There is a tendency to select an operating environment that is overkill for the application. The unfortunate impact of such a selection is that the OEM application is burdened with unnecessary hardware costs to support the OS for the entire life of the OEM product.
For example, if you have no display and are just switching a few LEDs on and off and reading some registers to sense when a motor should be turned on and off, your application might be considered “low level.” If you were to seek out a WindowsXP environment for this application, you would soon discover your CPU options are only “high performance” CPU boards requiring 10 to 25 watts of power. This means your final application will require larger enclosures, more cooling mechanisms to exhaust the heat generated by the CPU and more memory to accommodate the software, not to mention an overly complex system. The outcome: each OEM system manufactured carries with it more heat, power, memory and system costs resulting from an operating system requiring excessive hardware overhead.
Granted, using such a platform provides access to some very powerful full-featured PC data acquisition software packages and graphical interfaces with drop-and-click programming to ease software development. Prudent system designers must determine if the anticipated savings in software development costs will offset the burden of the associated hardware, which can run several hundred dollars per system. With the abundance of software tools on the market today, this becomes a difficult justification for most OEM applications. The exciting opportunity offered by ARM-based single board computers is the advantage of choice when developing an embedded system.
Power: Conservation and Efficiency
Power consumption is on the mind of everyone in this “green” era. For the “work horse” embedded system designer, power has always been a serious consideration as the typical environments are not as user-friendly as an office or environmentally controlled facility. Embedded applications often operate in environments where power is limited and the need for battery support is critical. In other instances battery support may not be the hurdle, while heat is, and using power generates heat and the more power used the more heat generated.
The fundamental difference between an ARM processor and an Intel-based PC processor is buried in the silicon upon which the CPU core is built. Intel’s approach is based on millions of transistors, each arranged in a complex architecture (CISA) and designed to optimize maximum functionality while the ARM’s architecture is about efficiency, using a smaller number of transistors in a more targeted, application-specific approach (RISC). For any given level of performance, a RISC processor has fewer transistors consuming less power than its Intel equivalent CPU.
It is true; with fewer transistors the RISC performance is not equivalent to the CISA performance. While one could debate, benchmark and compare the two CPU performances forever, the argument is a mute point as long as the given processor possesses the required compute power for the application at hand. Unlike consumers purchasing a laptop based solely on its GHz performance with no constraints on power consumption, an industrial embedded system is judged on the sum of it “parts” from power consumption to operating temperature to throughput, where tradeoffs are required to bring the ideal system together.
Throughput ends up being relegated to “ballpark” rather than absolute. This is especially true because of the dramatic difference in required power for similar performance. Figure 1 compares the relative power usage of ARM Cortex processors to the “embedded” Intel processors. Intel’s lowest-power processor, the Atom, still consumes twice as much power as the ARM Cortex-A. When you consider the functionality, though, of an ARM Cortex-A processor board such as the Micro/sys SBC1651 i.MX515 ARM Cortex-A8 (Figure 2), functionality has not been sacrificed for low power; it still offers all the same fully featured suite of I/O as the Atom, if not more.
Performance: Processor Breadth
The third important reason to use an ARM processor is to take advantage of the sheer simplicity and elegance that comes from designing an embedded system with the most appropriate processor. ARM’s processor breadth embodies ease, power and performance all in one. ARM technology enables embedded designers to choose the processor with the appropriate mix of power and functionality rather than be forced to select the “runt of the litter” out of a family of power-house processors for what is essentially a low- or mid-level application.
During the emergence of the PC, year over year performance improvements lulled embedded designers into the “bigger and faster is better” mentality. We’ve been awakened though by a tough reality check, as we’ve come to realize that with each new release, Intel has “slashed and burned” (EOL’ed) all of the low- and mid-range processors that have performed so ideally in “PC/104” embedded systems. The applications that were well-matched with 186, 386 and 486 processors from Intel’s line, are now being forced to figure out how to put a 1 GHz CPU into a slot once occupied by a 25 MHz DOS machine. When you add on the excess memory, excess number crunching and system speed now required by Intel processors, the “bigger and faster is better” mentality becomes the greater burden and the greater inefficiency.
Whereas Intel’s processors are all 1 GHz and higher, ARM processors service separate distinct tracks targeting “low-end,” “mid-range,” and “high-end” applications (Figure 3). ARM has no corner on the market against the EOL of chips; however, they do maintain an application-appropriate roadmap for each level of performance with product updates and revisions.
Although the needs of the “PC/104” embedded user have not changed, to accomplish the ideal balance of power, performance and ease, system designers are faced with a growing number of tradeoffs. Is the cost burden of more sophisticated PC-like software warranted? Can your system accommodate the added power and heat generated from GHz performance? Do you want to stuff a power-house processor (and the baggage it brings) into a simple application instead of upgrading your software from DOS to the more popular Linux or WinCE embedded platforms? These and other considerations are real factors and sometimes the answers will be “yes,” but more often the answers are “no.” When this is the case, ARM technology provides the most appropriate solution.
© 2009 RTC Group, Inc., 905 Calle Amanecer, Suite 250, San Clemente, CA 92673