EDN logo


Design Feature: March 3, 1994

Embedded systems developers embrace the PC architecture

DAVID SHEAR,
Technical Editor

The incredible shrinking PC is becoming the architecture of choice for many embedded applications.

The IBM PC architecture is the ubiquitous platform of the age. As a result, it will become the most prevalent architecture for embedded systems, and it will remain so until another desktop-computer architecture overcomes the PC's massive market.

There are many reasons—cost and time to market among them—that the PC architecture is flooding into embedded-systems applications (see box, "Why embed PCs?"). However, the most important reason is cost. Vendors must always weigh the tradeoff between the cost of development and the cost of production. High-volume products can absorb expensive development costs if companies can reduce the cost to produce each item. However, low-volume products must keep development costs low to keep product costs in line.

Why embed PCs?
The reasons to embed PCs are numerous. Among them are the following:

  • PCs are everywhere.
  • Users perceive that PCs are easier to use than are the alternatives.
  • Users are familiar with desktop PCs, which have a well-understood architecture.
  • PCs offer low-cost hardware.
  • PCs have very low-cost, high-quality software-development tools.
  • A huge number of PC-compatible products is available.
  • PCs offer ever-increasing performance.
  • A wide range of display and input options is available.
  • Users do not have to be embedded-systems experts to get their jobs done.
  • Many low-level drivers are already available, so users don't have to write them themselves.
  • PCMCIA devices are perfect for embedded systems.

PC-based embedded systems are often more expensive than the alternative. For example, why use a PC-based system in a simple thermostat, which doesn't require a DMA controller, two serial ports, and a parallel port? The extra hardware is a waste. But for many applications, PC-based systems are now lower in both development and production costs. A system for a delivery service, for example, would benefit—both in development cost and production cost—from using a PC-based system. Such a system would track the location of a delivery truck and display its next stop on an LCD in the truck.

Another reason to choose a PC-based embedded system is that time to market has become critically important. Vendors used to be able to take the time to carefully research and design a product, produce it, and then sell millions. But they don't usually have that luxury anymore. Figuratively, in the past, the procedure for hitting a target market was "ready, aim, fire." Now the procedure is "ready, fire, aim, fire, aim... "

By getting the product into the market and quickly getting feedback, vendors can optimize the product to that market. In many cases, they can develop products faster and less expensively on a PC-based system. Once they have a success, they can optimize the production costs.

Another major advantage of the PC is that a person does not have to have experience in developing embedded systems to get the job done. Even if designers encounter problems, they can learn enough to solve them and go on. Hard real-time applications still require years of experience, but run-of-the-mill, soft, real-time projects do not.

Problems abound when using the PC architecture for embedded systems (see box, "Problems along the way"). However, the inescapable truth is that many people want to use their familiar PCs in embedded systems. This means that huge numbers of people are working on solving the same problems.

Problems along the way
As this table shows, there are many problems to embedding the PC.
ProblemsSolutions
PCs are not very rugged.PCs are now available in ruggedized and wide-temperature-range versions.
PCs are too big.A wide range of sizes, all the way to credit card size, is now available.
PCs don't offer a hard, real-time platform.Many RTOSs are now available.
BIOS is not reentrant.Some now are reentrant.
DOS is not reentrant, has inadequate error recovery, is 40 kbytes of unknown code, and has unpredictable execution times.Don't use DOS except to load your code; then ignore it. Or use a reentrant version of DOS.
DOS requires a royalty.Most operating systems do. You have some options for reduced royalties to DOS.
PCs are too slow.PCs keep getting faster, along with everything else.
The PC is a single-processor architecture.Some buses allow for multiprocessing.
The PC architecture is a moving target; no real standard exists.Everything is a moving target. Standards just make the target move slower.
Standard time tick, 18 msec, is often too slow.Run the clock interrupt N times faster, and call regular interrupt every N times.
Because compilers are written for the desktop, it's tricky to run them from ROM.Manufacturers and tool vendors offer lots of help in the form of utilities for embedded systems.
PCs have a low-bandwidth (8-MHz) bus.The upcoming PCI bus runs 32-bit data at 132 Mbytes/sec (with a 66-MHz µP).
PCs offer limited interrupts.Expand them, or use multiple interrupt sources per interrupt.
PCs have limited memory space.Don't use DOS, or use memory managers.
PCs have limited I/O space. The PC architecture hogs I/O addresses to save cost.Decoding I/O addresses more precisely will one day solve this problem.
Battery-backed setup RAM loses setup when the battery runs down.Use EEPROM to store the setup.
Enhancements for embedded systems are standard.As long as it works for your application, who cares?
All embedded PCs are different.You may have to change some of your code to use a new board, but you won't have to change it as much as with other approaches.

When developers solve a particularly difficult problem, the solution often becomes a product itself. Such products include tools to lay out complex windowed user interfaces, debuggers that work through your desktop PC and debug code running on an embedded PC, utilities to convert desktop programs to work from ROM, ruggedized or extended-temperature versions of PCs, PCs the size of credit cards, real-time operating systems that entirely bypass DOS, and many more.

The biggest problem with the PC architecture is a lack of any real standard. The PC and PC/AT bus have a standard (IEEE-996), but it defines only the bus. No stable standard exists for the rest of the system. Instead, what succeeds in the changeable consumer market dictates what the PC architecture will be. In that market, vendors are continuously parading new features and enhancements before fickle consumers. Few of those features survive, and the rest eventually disappear.

For example, either the Microchannel or the EISA bus was supposed to be the standard by now. Instead, the VESA local bus is everywhere, and the PCI bus is on the horizon. Meanwhile, the PC/AT and the ISA bus just keep plugging along as the Microchannel and the EISA bus fade into oblivion.


Standard is a moving target

Those enhancements and functions that do succeed in the consumer world create de facto standards for PC architecture. As a result, chip sets are continuously changing to keep up with the moving target of the consumer market. As the chip sets change, the old ones become obsolete and are discontinued.

The evolving standard presents a serious problem to the life cycle of a design. Chip sets don't last very long. They have to change to compete in the consumer market. Three years from now, the manufacturer of a board probably won't be able to get the same chips the board is using now.

All board manufacturers are addressing this problem. Some are making lifetime buys of key chips to make sure they have all the chips they need for the future demand for their board. That assumes that the demand for the board will remain stable. Predicting a stable future is about as valid as the logarithmic growth charts everyone keeps using. Of all possible futures, a stable one seems the least likely.

Other manufacturers are trying to buffer you from the changing hardware by strongly recommending that you do everything through the BIOS. As the chip sets change, vendors hope to be able to update the BIOS and keep your software free of changes. They will continue to update the BIOS so that new designs can take advantage of future enhancements and old designs will still work.

These measures will not make it risk free to use PC-based boards, however. But before long, stable chip sets intended for the embedded-systems market will diminish even this problem. When these chip sets come out, you will be able to buy old or brand-new cards with all of the bells and whistles needed for embedded systems.


Consumer world sets the pace

It would be a big mistake for embedded PCs to completely diverge from the evolving PC architecture. If they did, many of the reasons for embedding the PC would disappear. The fallout from the consumer computer market's wanderings is low-cost hardware and software. This fallout includes all of the reasons for embedding a PC. Some manufacturers might wander into "nonstandard" versions of PCs or limit the evolution of the architecture. The intent is to make a stable platform for embedded systems. They might be successful in limited markets but would not be able to take advantage of future opportunities.

The evolving PC architecture is one of the reasons that the standard buses are not going to be that important in the future. As the PC evolves, developers will not want to be constrained by standards. If they have to compromise compatibility with the desktop to fit it into some standard, they will lose. Few will care which bus is in the system they're using or even if it has a bus. Instead, they will buy a system that has the functionality and price they need. Single-board computers, new proprietary board sizes, and new proprietary buses will be the norm.

Plenty of potential embedded-PC users are anxiously awaiting the price wars that plague desktop PCs. Unfortunately, these wars will materialize one day. Using an embedded PC is harder than just getting a pro- gram to run on a desktop machine. Users will need the help of the manufacturer. Good documentation, application notes, and personal assistance will quickly get them up to speed. Without this help, they will have a difficult time doing their jobs. Buying the cheapest board without regard to these essential services is false economy.


How compatible

Users will also need to keep an eye on how much PC compatibility they need and how much a board provides. As long as the tools they need work, they often don't really need total compatibility.

Different PC-based boards have different levels of compliance with desktop PCs. The high-end 80386- and 486-based boards are nearly identical to the desktop version. The midrange 186- and 286-based units are more specialized for particular markets. The boards based on the V-series µPs and 8088 µP generally depart the most from the desktop PC.

Users should not look just at the desktop to see what's coming to the embedded system. They should also check out the notebook and palmtop market, which will provide some major technological developments for power-sensitive embedded applications. Users will benefit as palmtops with tremendous computing power and long battery life emerge.

The Personal Computer Memory Card International Association (PCMCIA) bus is another wonderful fallout from the nonembedded world. The small cards using this bus offer a wide range of functions, including 40-Mbyte flash-memory disks, hard disks, modems, LAN interfaces, data-acquisition products, and more. In addition to small size, PCMCIA devices also offer ruggedness and, usually, low power, making them perfect for embedded systems.

The embedded PC is not the only option. Other µPs and buses will always exist. But for many years to come, the compelling reasons to consider using an embedded PC will increase. Instead of trying to justify the reasons to use a PC-based solution, you will have to justify using something else. e

Looking ahead
It is quite possible that embedded PCs will become synonymous with embedded systems, just like the IBM PC is for most people synonymous with personal computers. Some other architecture, perhaps the PowerPC, could possibly supplant the Intel 80X86 architecture and its clones. Time will tell.

Whatever the architecture for the consumer PC becomes, the embedded world will follow. The days where you could ignore what is going on in the consumer world and make whatever embedded system you want are ending. There will always be situations where you decide to use something else, but those situations will be fewer.

The PCI bus will quickly make its way to embedded PCs. This bus allows you to move 32-bit data at a maximum theoretical speed of 132 Mbytes/sec and a sustained rate of around 80 Mbytes/sec (with a 66-MHz µP). The PCI bus will move embedded PCs closer to VMEbus applications.

It's a no-brainer to predict that the embedded PC will continue to shrink in size and cost. But, the ability to create complex and interesting human interfaces will make a big difference on how you design your systems. If your competition has a real glitzy and easy-to-use graphical user interface and you don't, you may be in big trouble. As more people use Windows or something like it, they are going to want the same type of interface on their equipment. It is much easier to create such an interface with an embedded PC than with any other approach.

As the PC architecture continues its conquest of embedded systems, more tools will become available to get the job done. This will make it easier to get your product out the door. As it becomes easier, even more people will want to use it. Critical mass has already been reached.


PICTURE

You can reach Technical Editor David Shear at (503) 754- 9310, fax (503) 758-9242, Internet: ednshear@mcimail.com.

For free information...
For free information on PC-based single-board computers for embedded systems contact any of the following manufacturers directly. Please let them know you read about their products in EDN.
Acquire Inc
Taipei, Taiwan ROC
+886-2769-0128
Action Instruments
San Diego, CA
(800) 767-5726
Adastra Systems Corp
Hayward, CA
(510) 732-6900
AGI Inc
Rochester, NY
(716) 377-8480
Ampro Computers Inc
Sunnyvale, CA
(408) 522-2100
Arcom Control Systems Inc
Kansas City, MO
(816) 941-7025
Cambridge, UK
44-0233-411200
Computer Dynamics
Greer, SC
(803) 877-8700
Diversified Technology
Ridgeland, MS
(601) 856-4121
Dovatron International
Longmont, CO
(303) 772-5933
Epson Inc
Torrance, CA
(800) 433-3597
I-Bus
San Diego, CA
(619) 569-0646
Innovative Technologies
Houston, TX
(713) 683-0107
Intel Corp
Hillsboro, OR
(800) 438-4769
Megatel Computer Corp
Weston, ON, Canada
(416) 245-3324
Merrimack Valley Systems
Merrimack, NH
(508) 792-9507
Micro/Sys
Glendale, CA
(818) 244-4600
Multi-Micro Systems
San Jose, CA
(408) 456-0333
Nissho Electronics
Irvine, CA
(714) 261-8813
Octagon Systems Corp
Westminster, CO
(303) 430-1500
Pro-Log Corp
Monterey, CA
(408) 646-3654
Radisys Corp
Beaverton, OR
(503) 646-1800
Real Time Devices Inc
State College, PA
(814) 234-8087
Single Board Solutions
Cupertino, CA
(408) 253-0250
Skylake Talix
Southhampton, UK
44-703-666403
SMOS Systems
San Jose, CA
(408) 922-0200
Teknor Microsystems Inc>
Boisbriand, PQ, Canada
(514) 437-5682
US Logic
San Diego, CA
(619) 467-1100
Versalogic Corp
Eugene, OR
(503) 485-8575
WinSystems Inc
Arlington, TX
(817) 274-7553
Xycom Inc
Saline, MI
(313) 429-4971
Ziatech Corp
San Luis Obispo, CA
(805) 541-0488



| EDN Access | feedback | subscribe to EDN! |
| design features | design ideas |


Copyright © 1996 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.