The Three Faces of Embedded

  • Page 1 of 1
    Bookmark and Share

Do you ever find it a challenge to explain to your spouse or children what you do for a living? Everybody knows PCs—in fact, in many ways our children know them much better than we do. But this embedded thing takes some splainin’. It’s sort of intuitive that there are tiny processors in almost everything—cars, medical equipment, cell phones, appliances and those nasty little check-in kiosks at the airport. Most people don’t think twice about this. 

But we’re among those people who remember when we used to call this the embedded control market, describing what these microprocessors under the skins did. The embedded control market consumed virtually all microprocessors sold until the PC came along in the early 1980s. And until the mid to late ’90s, there were two distinct markets—the PC market and the embedded market.  At that time, those processors defined as embedded rarely crossed into the PC space (with Apple a notable exception) and those processors defined as PC rarely crossed into the embedded space—with Ampro and a few other small companies as the notable exceptions. Embedded processors never worried about a graphical user interface—they just pushed bits in and out very fast while using very little power. And PC processors never worried much about power consumption.

About this time, things started getting confusing. More embedded (“dedicated”) applications had user interface requirements than ever before, and PC processors started to make inroads into this market. To make matters worse, applications designed for use by humans (such as cell phones, PDAs, video games and the like) demanded low-power solutions and were built using processor architectures originally designed for headless deeply embedded control applications, with a primitive graphical user interface glued on the side. 

Today, there are three broad categories of application: 

• Headless, deeply embedded control applications such as machine control or network communications elements.

• User-oriented “dedicated” processing applications—e.g., your friendly check-in kiosk.

• Hybrid applications that provide control functionality but also involve a graphical user interface. More than a few medical applications fit in this category.

Distinct families of processors are targeted to each of these categories. The first area is targeted by the 68xxx/PowerPC and its derivatives along with ultra-low-power, application-specific RISC CPUs based on ARM or other CPU cores and a wide variety of microcontrollers. The dedicated, user-oriented applications are dominated by Intel-architecture processors. For many years, the third application type was typically implemented with two or more processor elements—a microcontroller or RISC CPU to implement the control features with a separate, x86 architecture CPU to provide the user interface—connected by all manner of communications channels from RS-232 to Ethernet. 

Over the past few years things have become a bit muddled as both camps charged after unified solutions to the third category. Somewhat primitive graphics support became an option for the RISC CPUs and even some microcontrollers. And Intel finally discovered how to do low power (sort of), enabling an entry into some types of control applications. Board vendors promoted the idea of a single processor solution that can do both the control portion and the user interface portion of an application. We must confess that we are guilty of promoting such a position in our earlier lives.

Sounds tempting. But looking a little deeper demonstrates cause for concern. Implementation of a general-purpose graphical user interface on a RISC CPU or microcontroller can be a nightmare of custom configurations, new and expensive tools, and supposed compatibility that isn’t quite compatible. And for all Intel’s good efforts to reduce power consumption (and heat dissipation) with their new family of processors, they don’t hold a candle (bad pun) to RISC CPUs or microcontrollers that operate well under a watt with standby power measured in tens of milliwatts. 

Today, options abound for interesting, intriguing solutions to all facets of embedded applications. And with enough time and brute force, you can most likely get that square peg forced into that round hole. So if you have the patience, money and time on your schedule, there are myriad opportunities to bring RISC or microcontroller solutions to these hybrid applications. Similarly, if you can support a cooling fan or a humongous heat sink and are willing to put up with a lack of determinism and an obtuse I/O architecture, you can do deeply embedded with an x86 CPU. If not, you’d best stick with the proven approach.