Page 190 - The Art of Designing Embedded Systems
P. 190
Troubleshooting 177
In smaller companies engineering is often production’s backup for
troubleshooting. Don’t accept boards unless a technician has performed a
careful visual inspection first.
Then, inspect it yourself. It’s far faster to find most manufacturing
defects by eye than by component-level diagnosis. Look for those missing
and backwards chips. Check soldering and solder splashes.
Inspect soldering on through-hole boards using a not-terribly sharp
pointer, such as an awl. Move it along every pin, using it as a guide for
your eye (which will otherwise quickly tire looking at a sea of pins). Scan
the board one chip at a time, working in a logical progression from one
side of the board to the other. Look for unsoldered and poorly soldered
pins, as well as solder splashes. If it looks bad, it is.
PC board defects are the most frustrating of all problems. Despite
modern quality-control processes, they are still far too common. Keep the
PCB artwork around as a reference, so you can see where the tracks run
when it’s time to fix a short or a design problem.
Often a new design suffers from a problem you just know you can
cure by grounding a signal. Be wary of using a clip lead as a grounder:
high-speed signals will see the lead’s inductance as a high impedance. The
ground end will be at ground, for sure. The signal end may not look much
different than without the clip lead attached. Edges are so fast now, even
in slow systems, that wires no longer act like wires. Solder a short-very
short-run to ground. perhaps using a discarded resistor lead. I have found
that grounding via a clip lead now only works on DC signals. Realize that
a wire is not a wire, but is a complex transmission line whose characteris-
tics will confound your common sense.
Use all of your tools. One Tektronix scope has a neat digital
counter. I’ve used it for tough hardwarehoftware troubleshooting prob-
lems. Unsure if an interrupt comes as often as it should? The counter will
tell you without a doubt how many come along. Wondering if all inter-
rupts get serviced? Put one counter on the interrupt line, and another on
the acknowledge, and see that the values are identical.
Computer systems will crash and bum from a single event. Though
digital scopes are wonderful at capturing single-shot signals, it’s usually
much easier to work with a problem that repeats itself, often, so you can
run tests at will. A logic analyzer excels at finding these one-time prob-
lems, but most won’t help much with electrical issues (say, marginal sig-
nal levels).
Always be on the lookout for ways to cause these events to repeat.
For example, the easiest way to troubleshoot reset problems is to use a

