PC chipsets have a dark side, too
PC prices are dropping through the floor and authors such as myself have told you to
leverage the PC's technology in your embedded designs. Why should you redesign when
instead you can adapt? PC chipsets are the logical avenue for borrowing PC technology but
watch out! Remember TANSTAFL. The embedded world is small potatoes compared to the PC
world and therefore the driving forces are different. Using PC chipsets in your embedded
system makes a lot of sense and if you keep your eyes open and your ears tuned in to your
chipset supplier, it can work. If you don't tune in, you're heading for disaster.
The Recipe Revisited
PC chipsets are the high-integration ICs used in personal computers. These chips
incorporate most of the common PC functions including: DMA controller, timers, interrupt
handler, keyboard controller, dynamic memory refresh controller, CPU bus control, video
control, and signal timing control. These "black boxes" allow a designer to
easily build his/her own PC system while maintaining compatibility to a standard without
worrying about all the little issues. This leaves the designer free to concentrate on the
little extras that separates his/her company's PC from another company's PC. If this
sounds very familiar to you, that's because the PC chipsets are an everyday example of
what OOP terminology labels inheritance.
These chips are easy to design into your embedded system. Most PC chipsets come with
sample schematics showing you how to build a PC. It's a simple exercise for you to take
these schematics and incorporate the relevant parts into your design. Then, with just some
software to initialize the chipset registers, off your running with the PC world's
technology buried in your application. Nice and clean, no real bothers, and you can easily
use your PC for software generation and probably also for software debugging.
As I said in the beginning, the scale of economies between the PC world and the
embedded system world is vastly different. The embedded system world, even though there
are probably more microprocessors and microcontrollers permeating every facet of our lives
from cars to kitchen appliances to entertainment than PCs, is not standardized as is the
PC world. The PC world standardization allows manufacturers to gear up for production runs
of not just hundreds or thousands, but instead hundreds of thousands and even millions of
units. Each embedded system design is essentially different from any other system; each PC
is built upon a standard. What this means is that you as an embedded system designer have
no say about these PC chipsets, no control over delivery, price, nor even availability.
You're a small fry compared to the PC manufacturers and as such, you either play by their
rules or you have to invent new ones -- the old ones don't work anymore.
Is There Support
In the embedded systems world, you design a device into your system, say a UART. While
trying to make the UART work properly in your system, you discover an errant operation
that the data sheet doesn't explain. You call the manufacturer, talk with an applications
engineer, and together solve your problem.
The PC chipset world is different though. Say you want to use a VGA controller chip
without the manufacturer's video BIOS chip. Why without the BIOS? The first reason is
cost. In a dedicated application, why use a BIOS chip that is meant to ease the burden of
a program running on many different hardware platforms? The second reason is that the BIOS
might not handle the display technology that you're using. If the VGA controller chip is
capable of handling the display but the BIOS isn't, is this a reason not to use the VGA
chip? If at some point in the future you change the display type on your system and the
BIOS doesn't support the new one, what do you do then? Most PC chipset manufacturers won't
give you the source code and normally it's very expensive to purchase. I had one
manufacturer tell me to disassemble their BIOS to figure out how to initialize their chip!
The bottom line is that the PC chipset manufacturers can easily support someone
designing a new PC -- throw their chip into an embedded design though and the rules
change. Designing PC chipsets into your embedded system can significantly reduce your
hardware size and cost but don't forget that the manufacturer will probably stick you with
figuring out how to use it in the non-traditional system. An example of this is a flat
panel VGA controller. At first glance you might say "Big deal, it's just a VGA chip
with the VGA registers." However, driving that flat panel requires other registers
controlling clocks, synchs, etc., that aren't part of the CRT VGA specification. Are these
registers in the VGA books at your local bookstore? No. Does the chip manufacturer have
the register settings for your panel? Maybe. Where do you turn for help in setting up
these registers? To your logic analyzer or oscilloscope. I once had to set up a
spreadsheet with all the interacting flat panel extension registers so that if I changed
one register, the other registers would update automatically.
How Long Can You Go
What's the production lifetime of a PC design? What's the production lifetime of an
embedded design? A new generation of PCs are available about every 18 months -- is this
the same time frame as your embedded design? In my experience, it can take anywhere from
one to three years to design and get to market a measurement instrument. Once the
instrument is on the market, my clients would like to be able to sell it for at least five
years. If we assume the maximum time to market of three years, all the components in the
embedded system must be available for eight years. This wasn't a problem with TTL parts
but the PC chipsets do create a problem.
PC chipset suppliers have told us not to count on having chips 16 to 18 months after
they're introduced. Remember, the chipset manufacturers follow the PC world, not the
embedded system world. Sure, the manufacturers allow you to place a last-time buy but who
can estimate how many chips they'll need five years down the road with an embedded design
that might not even be to market yet! For example, a medical analyzer I've been working on
for almost four years is just about ready to go to market. What with pushing the sensing
technology envelope and federal regulations, this time period is pretty typical. The PC
chipset I designed into the product is already obsolete and unavailable without the
product even being launched!
What's a Designer To Do?
The embedded market isn't big enough to dictate to the PC chipset manufacturers how
they should run their business. Instead, we have to be sneaky, become guerrillas (as in
Guerrilla Marketing, Jay Conrad Levinson, Houghton Mifflin, ISBN 0-395-38314-5), and use
whatever resources we can to successfully incorporate these chipsets into our designs.
The question is, "With all these headaches, are the PC chipsets worth it?" In
my opinion they are. The chipsets allow you to concentrate your efforts on the reason for
the embedded design without getting bogged down in the mundane. So, if you've decided to
use the PC chipsets, how can you do it successfully? The following are some suggestions
from my office and also from some PC chipset manufacturers:
Redesign your embedded system every 18 months. Take a guess where this idea comes from.
Purchase a standard circuit board from a vendor. Let the chip availability become
his/her problem. His/her business is to sell boards and to keep the customer (you) happy.
It's not your problem how he does it. The board vendor, because of the higher volumes,
might have a little louder whisper in the PC chipset manufacturer's ear.
If your application requires a custom-designed board, think about going with a
daughter-board arrangement. In an embedded design, most of the standard components won't
really change if the PC chipset becomes unavailable. Why should you redesign the entire
board when only the engine changes?
Piggyback on the coattails of a bigger fish (company). This idea came from a PC chipset
manufacturer. Some rather large OEMs require all their suppliers to pledge parts'
availability for a period of time, say seven years. Find out from the manufacturer whom
they have agreements with and just use the same parts!
Use a single chip solution versus a multiple chip solution because the next generation
product can always use less chips. Obviously, a single chip solution can't be made with
The last way that I know of to get the PC chipset manufacturers to listen to the
embedded community is to write letters demanding change. Chips & Technology (San Jose,
CA (408) 434-0600) promptly answered a letter I wrote to them. Let the PC chipset
manufacturers know how important the embedded world is. I don't think most of these
companies even know it exists. Ask them to keep producing parts for at least five years.
It's OK to stop new designs for a part after 18 months but it is not OK for the part to
not be available after two years. How much warehouse space can some chips take up? Which
PC chipset manufacturer will take the lead, and with it a good percentage of the embedded