|
3
Gordon Drive, P.O.Box 1347 Rockland, Maine 04841 U.S.A.
|
|
© 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.
|
|
|