3 Gordon Drive, P.O.Box 1347 Rockland, Maine 04841 U.S.A.
Find Tools for Your Chip


 

© 2004 Avocet Systems, Inc.
Call Us Today at 207-596-7766 ("Picton Press")
Avocet Systems, Inc. : The Complete Solution for Embedded Systems Development Tools
Embedded Update
An Embedded History - Part 3

Though the invention of the microprocessor made enormous headlines, development of memory technology paced that of the CPU itself. As the 4004 gave way to the 8008 (with only a 16k address space), and thence to the 8080 (64k) and its successors, embedded designers started demanding ever more memory capacity at reasonable prices.

Today we forget just how little capability existed when Intel introduced the first micro. TI sold a bipolar static RAM that held 256 bits. Intel itself was originally a provider of long shift registers, the preferred memory mechanism at the time. Cascade a handful of 256 bit shift registers and you can store a bit of useful information, though, rather like a disk, you have to wait for the data to circulate before being able to read it.

Shift registers, though, are inherently unadddressable, and much too difficult to use with any micro. Intel had a 256 bit SRAM, and even a 1024 bit DRAM, that both quickly became the standards. As I recall, these each required three different power supplies - positive as well as negative.

The 1702 EPROM came on the heels of the 8008, which gave us the first eraseable, permanent memory. At 256 bytes, it seemed a rather large device at the time.

You can imagine how many of these RAMs and ROMs a typical tiny embedded system used. Intel and their competitors soon started waging the memory battles that continue today.

The first truly useful device was a 4k (bits) DRAM, that again required 3 supplies. An error in its layout still lives on, represented by the reversed connection of power to most DIP DRAMs. DRAMs were terribly complicated to use at the time, as there were no support circuits around, and programmable logic was merely in its infancy. Digital designers created all sorts of brilliant circuits to refresh and read these parts.

Later a 16k DRAM made its appearance. This part seemed to live on nearly forever, as even the early PCs used these. Chip designers shrank the die size to handle the huge (!) numbers of transistors.

After literally millions of 16k parts were in the field the industry found itself in the middle of massive reliability problems. Randomly bits changed. Not often, but even a single bit failure in a computer spells disaster. At first designers were told it was their refresh circuit design. Then it was PCB layout and power distribution. Impedance was the next culprit.

Everyone scurried and experimented, to no avail, Bits changed. The only solution seemed to be a robust watchdog timer that reset the embedded system after a crash.

Finally the chip folks discovered the culprit: alpha particles. Cosmic rays streaming in from above carried enough energy to discharge the DRAM's polysilicon capacitors. Various new packaging alternatives reduced the problem... till they found that the plastic molded around the silicon itself was a source of alpha particles.

A few frantic months of activity solved this problem, but the DRAM came with other surprises. It was found that the devices were very susceptible to ringing problems deriving from poor matching of the drivers to an array of DRAMs. The design community learned to put series resistors in the address lines. Power layout became a significant problem, one that you can still see addressed in the occasional databook. (Remember: this was long before multilayer boards were common. Power - three supplies and ground! - was bussed in on one of the two signal layers).

Most engineers from that period still wear the scars of these battles, and still view DRAMs with a bit of terror in their souls.

A small company named MITS introduced the Altair 8800 in around 1974 - one of the first "consumer" computers, based on the 8080 processor. Altairs typically came with a 4k byte DRAM memory board, which, at great expense, you could upgrade all the way to 64k.

At only $400 (in a kit), the Altair was an amazing value, though its reliably left much to be desired. One of the biggest sources of trouble were the S-100 memory cards. It was all but impossible to keep them running reliably for more than a few weeks at a time.

Time has blurred the exact cause of most of the problems, though I remember vividly far too many late nights tearing the boards apart, balancing impedances with series resistors, and replacing ICs with abandon. Eventually we tossed money at the problem, buying spare boards and even an entire spare computer, just to keep one system running.

Like all systems of the time, the Altair's memory cards were two-sided PCBs subject to all of the noise insults implied by non-multilayer designs. At the time no one imagined that a little impedance mismatching could be so fatal. In retrospect I suspect many of the problems with these 4k boards stemmed more from lack of attention to basic circuit design than from digital woes or failed components.

Today, with CPU speeds headed to stratospheric levels, we're facing the same problems. At Softaid we find that many embedded designs still don't benefit from the lessons learned a generation ago. In Australia this month, I found (to my shock and horror!) that most Aussie engineers still build their embedded systems on two layer boards - multilayer, they tell me, is outrageously expensive down under, and is therefore not much used. I heard many a sad tale of erratic troubles that I wonder may be due to simple board noise problems.

In the USA, at least, multilayer is cheap and readily available. Look in the back of any issue of EDN - a slew of board houses advertise quick turn (a week or less), 4 to 10 layer boards at quite reasonable prices.