EDN logo


EDN Columnist: July 6, 1995

Living to learn

Jack Ganssle,
Embedded-systems contributing editor


Spend time in good bookstores. Never has so much information been available in so many easily digestible forms.


Colleges do a lousy job of preparing engineers for the real world. It's appalling that so little of typical curricula is dedicated to making things work; to experiencing dramatic failure in all its guises; or to taking an idea from inception, through design and debug, to functioning product.

Engineering is about making things. Although we need the theoretical grounding with which colleges seem so enamored, what differentiates us engineers from scientists is our focus on producing products. Things that work. Things that improve life for the masses. I love to make things, and I take great delight in the process of invention that leads to something that finally works.

It seems, however, that most young engineering graduates are convinced that their education is over. After four or five years of struggling through differential equations and organic chemistry, they think that studying is yet another of life's unpleasant obstacles they've finally overcome.

Balderdash.

Embedded design is a dynamic field that changes daily. The knowledge half-life is approximately two years; so, if you're not studying constantly, count on being obsolete before turning 30. Yes, it is possible to find a comfortable niche where you can park for a number of years--ignoring the advance of technology. But, when it's time to hit the job market, you may be shocked to find that everyone is speaking an incomprehensible language.

Although night courses are a great way to catch up with new programming methods like C++, it's tough to find universities offering state-of-the-art information about hardware design. Generally, the best courses are those that vendors offer. Any successful vendor is pushing the very latest technology, and many recognize that they must offer some sort of training. Take advantage of these opportunities--they're often free. Convince your boss that a day or two of training is time well spent.

Probably the best way to stay current is to read constantly and widely. Greedily suck ideas from EDN and other publications. Don't expect to understand everything immediately, and never give up the battle just because you don't understand the concepts. The larger goal is to learn new ideas!


Blow up your TV

Spend time in good bookstores, both the "real" and the virtual order-by-mail varieties. Never has so much information been available in so many easily digestible forms. Although lots of books still resemble those heavy tomes we slogged through in college, many now are fun and almost lighthearted--even when equations litter the pages.

Every embedded-hardware designer should read High Speed Digital Design (a Handbook of Black Magic) by Howard Johnson and Martin Graham (PTR, Prentice Hall, NJ, 1993). Although the book may be challenging if your grasp of theory is rusty, it's worth reading even if you have to skip the math.

Modern components are so fast that even slowly clocked systems suffer from all sorts of speed problems. This book leaves little unanswered in the quest for reliable digital designs.

The authors cover transmission-line theory in detail. At first glance, I shuddered, remembering two incomprehensible semesters of electromagnetics. Johnson and Graham balance theory with lots of practical information. For example, a right-angle bend on a pc-board trace is a transmission disaster, which you can cure simply by rounding the track edges.

Most engineers are vaguely aware that corrupting a pc-board ground or power plane is not a good move. Sometimes, though, the temptation to save a couple of layers by routing a couple of tracks on the power plane is overwhelming. In just a few paragraphs, this book shows why this is a horrible idea, as the current return for any track runs under the track itself. Even designers with the best of intentions may accidentally create this situation by poorly specing hole sizes for connectors. If the holes are too large, they may intersect, creating a similar, though unintended, slot.

The book also includes an entire chapter explaining the best way to stack layers on a pc board. One criticism, however, is that I would like to see more discussion on how signals couple with different stack configurations.

Vias, too, get their own chapter. There's lots of good advice. The best sound bite is that small vias are much faster than larger ones. Small vias surely help routing, too, especially with SMT boards, so there's a ray of hope for us yet!

One of the biggest challenges digital designers face is propagating signals off-board through cables. A single chapter on this subject is worth the entire price of the book. Ribbon cable is far better than I realized, especially when you run grounds, as the authors recommend.

What's the best way to use a scope on a high-speed system? What is the effect of that short ground wire coming from the probe? It turns out that the 3-in. ground lead can degrade the displayed rise time by more than 4 nsec! The authors offer the best description of scope-probe problems (and solutions) I've ever seen. They show how to build a better probe using parts found in any shop.

Did you know that skin effect, the tendency of high-frequency signals to travel only in the outer edges of a conductor, can become important on pc-board tracks at frequencies as low as 4 MHz? Halving the length of a conductor improves its frequency response by a factor of 4. Until reading this book, I was under the impression that only RF designers needed to worry about this effect.

Read this book. Then pass it along to your pc-board designers.


Bebopping along

Clive Maxfield's book Bebop to the Boolean Boogie (Hightext Publications, Solana Beach, CA, 1995) is the MTV version of an embedded-design how-to book. It's fun. It's a fast read. You'll find neither calculus nor much about basic electronics. It focuses entirely on logic design. The book is designed as a primer for those without much grounding in this area. (For a full book review, see EDN, Out In Front, April 27, 1995, pg 28.)

Hardware designers who've been at this for a couple of years probably have mastered the material already. It appears, however, that the embedded world is evolving into two camps--digital design and firmware--with less and less communication between the two. Increasing specialization means there are fewer people who can deal with systemwide problems. If you are an embedded-software guru who just doesn't understand the electronics part of the profession, get this book and spend a few delightful hours getting a good grounding in digital-design basics. Then watch for startled looks as your water-cooler discussions include comments about state-machine design.

Bebop covers all the basics, from the history of number systems (much more interesting than the tiresome number-system discussions found in all elementary texts), to basic logic design, PALs, and even pc-board issues. I often meet engineers who have no idea how chips are made; this book gives a great, easily readable, overview of the process.

Its discussion of memories is fast-paced and worthwhile. A chapter about DRAM RAS/CAS operation would be a nice addition, as would some material on flash, but there's a limit to what you can pack into 450 pages.

I found the chapter about linear feedback shift registers the most interesting. This subject never fades away. It pops up constantly on the embedded-systems Internet list servers (comp.realtime and comp.arch.embedded), often under the guise of CRCs. These pages are worthwhile reading even for experienced digital engineers.

And, yes, the seafood-gumbo recipe in Appendix H is worth the entire price of the book.

Jan Axelson's The Microcontroller Idea Book (Lakeview Research, Madison, WI, 1994) is an ideal introduction to low-end embedded design. The book's focus is the 8052-Basic CPU, a very-low-end controller suited for designers with no assembly-language or C expertise. Axelson takes the reader from essentially no knowledge of programming through Basic while offering lots of insight into the design of simple embedded systems. This work is much too simple for the experienced engineer but is worthwhile for the novice embedded designer.

The next time I hire new CS or EE graduates, I plan to have them work through both Bebop and The Microcontroller Idea Book. A week spent soaking up these practical concepts will help ground them in reality and balance the four years of theory still ringing in their ears.

Another Hightext Publications book, Programming Microcontrollers in C by Ted Van Sickle (Solana Beach, CA, 1994), is a succinct introduction to embedded firmware. Whereas Bebop is ideal for the digital-designer wannabe, Programming Microcontrollers in C is a must-read for engineers trying to get a handle on software issues.

In 88 pages, Van Sickle gives a complete and easily readable introduction to C programming. The book offers advice alongside programming facts. Here's an example: "Programming is a contact sport, so don't expect to become a C whiz till you've written and debugged a few thousand lines of code." The book's discussion offers a great starting point for designers seeking to broaden their background in C.

If you're using the 68HC11 or 68HC16, I'd advise looking through the book to get a feel for what these CPUs can do. The text is definitely not an advanced user's guide, but it gives a nice overview of using timers, pulse-width modulators, interrupts, and the like. Be forewarned, however, that the book doesn't provide much information on other chips.

Even better is its discussion about using Byte-Craft and Intermetrics compilers. Everyone dreads setting up a new environment. This book eases the process, especially since it includes header files.

I get a constant stream of queries for introductory texts to the embedded-systems world. This is the book. It should be required reading even in computer curriculum, where embedded systems get virtually no mention.


Plan for your future

Space limits the number of books I can cover here--and permits only the most cursory of reviews. More important than a discussion of any one book, however, is developing a philosophy that embraces continuous learning. As a parent, one of my greatest goals is to instill a love of learning and to ensure competence in reading for my children. All else follows from this; without it, nothing but intellectual stagnation is possible. In addition, consider the following:

And, finally, take time to read a little poetry, some science fiction, and literature. The greatest ideas often originate from engineers who exercise their mental muscles in many diverse areas.


Jack Ganssle is president of Softaid, a vendor of emulators and other embedded-systems tools. He can be contacted via Compuserve at "76366,3333," or via Internet at jack@softaid.net. .Send mail c/o Softaid, 8310 Guilford Road, Columbia, MD 21046.


| EDN Access | feedback | subscribe to EDN! |
| design features | design ideas | columnist |


Copyright © 1995 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.