Page 189 - The Art of Designing Embedded Systems
P. 189
176 THE ART OF DESIGNING EMBEDDED SYSTEMS
anything expensively stupid. (And I load the power supply components
first, testing that part of the circuit before adding the real logic.)
It’s a good idea to be on the lookout for excessive heat, especially
now that so many components are surface-mounted and tough to change
when you blow them up.
All semiconductor devices generate some heat; big CPUs can pro-
duce quite a bit. A really hot device, one that you can’t keep your finger on,
is usually screaming for help. Excessive heat may indicate an SCR latchup
condition due to ground bounce or a floating input.
Less dramatic overheating, much harder to detect without a lot of
practice, often indicates a design flaw. Your finger can give important
clues about the design. If two devices try to drive the bus at the same time,
they’ll overheat.
Be careful how you apply your personal temperature sensor. I’ve
found that my calloused forefinger is insulated enough to protect me
from bad burns when a part is unexpectedly frying. Thus, I gingerly
touch each part; if it seems reasonably cool, I’ll then use the much-more-
sensitive back of my hand to try to determine if the chip is running hot-
ter than it should. It’s surprising how much information you can get with
a little experience.
When starting out debugging a very fast system, crank the clock rate
down to absurdly low levels. Fix the easy stuff-logic errors and the like-
before tackling high-speed timing. Why deal with a vast ocean of troubles
simultaneously?
When you do find the problem, and then make a change, sometimes
the modification won’t help. Before doing anything, double-check the
change. Did you solder the wire to the right pin? The right IC? We tend
to program ourselves to look for hard problems instead of the all-too-
common simple mistakes.
Plan ahead. Think before doing. Don’t try something without know-
ing what the possible outcomes are . . . and without having some idea what
you’ll do for any of those outcomes. You may find that the next step will
be the same regardless of the results of the experiment. In this case, save
time and do something else.
The best troubleshooters are closet chess grand masters. They think
many steps ahead.
The most effective troubleshooting tool is a keen eye. With a work-
ing design, most problems stem from poor manufacturing. How many of
us have spent hours troubleshooting a board, only to find a missing chip?
Perhaps the wrong part is installed, or the correct one upside-down.

