Columnist: October 26, 1995

Jack Ganssle,
Embedded-systems Contributing Editor
Some time ago, a new acquaintance commented, "My, what an eclectic lifestyle you lead!" Apparently, he was quite taken aback to find that our living room wasn't centered around a TV; indeed, there was nary a set to be seen. (In truth, it was in another room). I've often thought about this conversation. It crystallized my concern that we're turning into a nation of "videoaholics," abandoning the joys of reading and conversation for meaningless brain candy. I suggest that you throw out your TV and replace the cabinets of that entertainment center with a wall of bookshelves. Tune into the infinite world of literature and knowledge that is still best conveyed by reading.
I broached this subject in an earlier column ("Living to learn," EDN, July 6, 1995, pg 165) and listed several great books about embedded systems. Readers, most asking for more references, immediately swamped me with e-mail. Clearly, this magazine's readership is a cut above average: I can't imagine anyone's slogging through a technical book and simultaneously watching "The Cosby Show," "Roseanne," or even "Nova."
In response to those e-mails, I'll start another list with a book that has nothingand, in some ways, everythingto do with embedded systems. I highly recommend The Design of Everyday Things by Donald A Norman (Doubleday, New York, NY, 1988, ISBN No. 0-385-26774-6), a fascinating study of product usability. Someone will use everything we design, yet we give too little thought to how our customers interact with our creations.
A similar work, Invention and Evolution by Michael French (Cambridge University Press, Cambridge, 1988, ISBN 0-521-46911-2), is a text only an engineerone who is fascinated by all aspects of technologycould enjoy. A central theme is beauty in design, something we see in the pictures in this magazine. How many of these ads are full-color representations of a pc board? Many designers hang plots of IC layouts as works of art in their offices. The casual beauty of our creations is something in which to take pride and to enhance when possible.
Hardware design
Collect data books. All of the IC vendors offer libraries, mostly free for the asking. Be reasonable, though: Ask only for the books you're likely to use, and try not to accumulate duplicates. I can't imagine how companies can afford to give away the vast amounts of material they do, and I'm sure this fact will change. Enjoy it while you can. Spend time poring over these materials on your lunch hour. Many are treasuries of application notes and design techniques.
Need an introductory text to logic design? It's hard to beat Modern TTL Circuits Manual by RM Marston (Butterworth-Heinemann, Oxford, 1994, ISBN No. 0-7506-2092-7). Though some of the material is dated (when was the last time you used a 74LS90?), the basics all hold true. Old-timers should skip this one, but novices will learn a lot.
Modern Logic Design by David Green (Addison-Wesley, New York, NY, 1986, ISBN No. 0-201-14541-3) is older but more up-to-date. It covers subjects even experienced designers work with every day: PLDs, synthesis, Reed-Muller, and digital filters. Read it, work the problems, and you'll be an expert.
Designing with Flash Memory by Brian Dipert and EDN Technical Editor Markus Levy (Annabooks, San Diego, CA, 1993, ISBN No. 0-929392-17-5) saved my butt when I needed to learn how to use (and more important, talk knowledgeably about) flash memory. Anyone designing with flash must read this book.
It's a nasty fact, but the world isn't entirely digital. I'm anxiously awaiting our sensors to work on a quantum level to eliminate all analog from my life, but, in the meantime, I study Bob Pease's Troubleshooting Analog Circuits (Butterworth-Heinemann, Oxford, 1991, ISBN No. 0-7506-9499-8). Skip it if you don't know what an op amp is. Read it if your amplifiers oscillate or otherwise behave strangely. Late update: There's truth to the rumor that there's something between a one and a zero. Stay tuned.
The Art of Electronics by Paul Horowitz and Winfield Hill (Cambridge University Press, Cambridge, 1980, ISBN No. 0-521-37095-7) is a big book and encyclopedic in its scope. It's one of the few works to which I constantly refer for ideas and insight. I highly recommend this reference work.
If you want to know how much current you can push through stranded 22 AWG wire or what the formula is for capacitive reactance, I suggest you turn to the trusty Radio Amateur's Handbook (American Radio Relay League, Newington, CT, published annually). I'm still using a 1970 edition that has a vast amount of highly entertaining vacuum-tube information.
If your designs aren't using JTAG standards now, they surely will be in the future. Prepare yourself by reading the JTAG Standard: IEEE 1149.1-1990. I hated spending $50 for this thin document, though. You can get most of the useful info from various vendor's data books and magazine articles.
Although a desktop PC has little to do with this industry, many embedded systems use PC designs, which are based on 188s and similar CPUs. The bible of all references to PC hardware is The Indispensable PC Hardware Book by Hans-Peter Messer (Addison-Wesley, New York, NY 1993, ISBN No. 0-201-87697-3). Everything is here: interrupt structures, cache organization, EISA/Microchannel/PCI, mouse operation, and displays. It's a boring read but a fantastic reference.
After mastering protected mode, I felt I had a pretty good understanding of my desktop computer. Then, Intel released the Pentium, and I felt confused about things like four-way set-associative caches, bus snarfing (no, that's not a typo), and other words bandied about by the techno-literate. Pentium Processor System Architecture by Don Anderson and Tom Shanley (Addison-Wesley, New York, NY, 1995, ISBN No. 0-201-40992-5) cleared up most of the fog.
At the other end of the spectrum, browse Choosing and Using 4-bit Microcontrollers by Philip McDowell (Woodhead Publishing Ltd, Abington, England, ISBN No. 0-8247-9153-3). You'll get a hint of the cool things possible with a minimal CPU.
On the software side...
Buy both of Jean Labrosse's books. His Embedded Systems Building Blocks (R&D Publications, Lawrence, KS, 1995, ISBN No. 0-13-359779-2) is crammed full of C code for driving keyboards, timers, analog, and displays. Each chapter ends with worthwhile references.
Labrosse's first book, mC/OS The Real Time Kernel (R&D Publications, Lawrence, KS, 1992 ISBN No. 0-13-031352-1), is not the sort of thing you'd read from cover to cover, because its a description of the author's RTOS (available on disk). It is a good introduction to using an RTOS, however, and even includes timing of each routine on the 80188/186 processor.
Optimizing C with Assembly Code by Peter Gulutzan and Trudy Pelzer (R&D Publications, Lawrence, KS, 1995, ISBN No. 0-13-234576-5) is a neat book for designers working with any x86 variant, such as the 188/186. It even comes with a program that finds performance problems in your assembly code.
Books on algorithms all seem to cover the same old ground. One exception is Practical Algorithms for Programmers by Andrew Binstock and John Rex (Addison-Wesley, New York, NY, 1995, ISBN No. 0-201-63208-X). The best chapters are about hashing (a grossly underused technology), arbitrary precision math, data compression, and cyclic redundancy checks. Even the chapter on sorting sheds new light on old algorithms. The book reeks with useful C code.
Larry Constantine's Constantine on Peopleware (Yourdon Press, Englewood Cliffs, NJ, 1995, ISBN No. 0-13-331976-8) is a fun book with plenty of solid advice about managing software teams. There's no silver bullet, but implement some of the ideas and you'll see measurable improvements in productivity.
For a different view of the industry, consider Fatal Defect by Ivars Peterson (Random House, New York, NY, 1995 ISBN 0-8129-2023-6). On second thought, save yourself 25 bucks, and skip it. Using only a handful of examples, Peterson attempts to expose the perils of software. One of his solutions: an approach developed by a college professor. It's a great successuh, well, at least in the mind of the professor. The only system developed using the new approach did take eight years to complete, rather more than the three budgeted...
Another book worth skipping is Clifford Stoll's latest, Silicon Snake Oil (Doubleday, New York, NY, 1995, ISBN No. 0-385-41993-7). Although Stoll professes not to be a Luddite, I was left with quite the opposite impression. Stoll believes that computers, and the Internet in particular, will alienate us from each other; snail-mail is more reliable and faster than e-mail; the computer screen is not reality; and some programs even have bugs! The book is full of such banalities and errors and simply wasn't worth the time or money. (For an opposing view, see EDN Technical Editor Bill Schweber's review, "Wrong turn on the Information Highway," EDN, Sept 28, 1995, pg 28.)
Through the past
Electronics is very much a here-and-now industry. "What have you done for me lately?'" is a familiar gripe. Yet, you miss much of the wonder of putting 300 million transistors on a chip unless you can appreciate the agony of running 18,000 vacuum tubes in the ENIAC. The history of technology holds many useful lessons for us (Why do I have to sell history based on what it will do for you now?). The history of technology is most fascinating.
Is your current project a disaster? Take heart; most engineers have found themselves in the same predicament. Read The Soul of a New Machine by Tracy Kidder (Little, Brown and Co, New York, NY 1981, ISBN No. 0-316-49170-5). Kidder traces the story of Data General's development of the Eclipse computer line. If you've been around for a while, nothing will sound unbelievableor even unusual. No engineer will be able to put this book down.
Technology by Donald Cardwell (WW Norton, New York, NY, 1995, ISBN No. 0-393-03652-9) traces the development of engineering as a discipline from before James Watt's time to the present. You won't find much about electronics in the book, but it's a great overview of the history of technological progress.
Looking ahead
Too many people shuffle through life, figuratively staring at their shoes instead of jumping up and trying to get a peek over the heads of the crowd. The electronics industry changes so quickly that every engineer simply must be a bit of a futurist, if only to understand what to study to maintain valuable career skills. Here are two books about subjects I think will revolutionize our industry in the next few years or decades. No educated person can afford to be ignorant about these concepts.
For a brief while in the 1980s "chaos" was the darling of the media. Now the bloom is off, so you rarely hear it mentioned, yet chaos theory is finding applications in all fields. I see it as one more nail in the coffin of Descartian reductionism. My bookshelves are filled with books about this fascinating subject, but the most accessible is still James Gleick's original Chaos: Making a New Science (Viking Penguin, New York, NY 1987, ISBN No. 0-670-81178-5).
I found Engines of Creation by K Eric Drexler (Doubleday, New York, NY, 1986, ISBN No. 9-385-19972-2) a compelling story of nanotechnology, the coming era of micromachines. Only one of my friends agrees; the rest felt it was a tough slog. Perhaps this reaction indicates that the book is only for ambitious readers; regardless, it's on my must-read short list. Software magazines abound in articles about genetic algorithms. Artificial Life by Steven Levy (Pantheon Books, New York, NY, 1992, ISBN No. 0-679-40774-X) is a fast book that will whet your appetite for more. I was left in awe but wanting some technical examples. The Artificial Life Explorer's Kit by Ellen Thro (Sams Publishing, Carmel, IN, 1993, ISBN No. 0-672-30301-9) comes with a disk that lets you build and run real experiments. This disk is cool stuff.
Works of wit and wisdom
Augustine's Laws by Norman Augustine (AIAA, New York, NY, 1983, ISBN No. 0-915928-81-7) is a must-read for anyone involved in large government contracts. It's funny though slightly depressing in its cynical accuracy. One of my favorite chapters is "Software is like entropy." The book is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics: "It always increases."
On the lighter side, and we need a lighter side, check out It's Not a Bug, It's a Feature by David Lubar (Addison-Wesley, New York, NY, 1995, ISBN No. 0-201-48304-1). On those depressing demo-delivery days when nothing works, you'll at least have a good quip or two to ease the pressure.