SLTF Consulting
Technology with Business Sense

 


 

PC chipsets have a dark side, too

Scott Rosenthal
December, 1992

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.

The Setup

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.

The Sting

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 less parts.

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 world? PE&IN



Copyright © 1998-2012 SLTF Consulting, a division of SLTF Marine LLC. All rights reserved.