Page 124 - The Art of Designing Embedded Systems
P. 124
Hardware Musings 1 1 1
Some of these devices do support a bit of limited debugging using a
serial connection to a pseudo-debug port. In such a case, by all means add
the standard connector to your PCB! Your design will not work right off
the bat; take advantage of any opportunity to get visibility into the part.
Also plan to dedicate a pin or two in each FPGA/PLD for debugging.
Bring the pins to test points. You can always change the logic inside the
part to route critical signal to these test points, giving you some limited
ability to view the device’s operation.
Similarly, if the CPU has a BDM or JTAG debugging interface, put
a BDWJTAG connector on the PCB, even if you’re using the very best
emulators. For almost zero cost you may save the project whedif the ICE
gives trouble.
Very small systems often just don’t have room for a handful of test
points. The cost of extra holes on ultra-cheap products might be prohibi-
tive. I always like to figure on building a real, honest, prototype first, one
that might be a bit bigger and more expensive than the production version.
The cost of doing an extra PCB revision (typically $lo00 to $2000 for
5-day turnaround) is vanishingly small compared to your salary!
When management screams about the cost of test points and extra
connectors, remember that you do not have to load these components dur-
ing the production run. Install them on the prototypes, leaving them off the
bill of materials. Years later, when the production folks wonder about all
of the extra holes, you can knowingly smile and remember how they once
saved your butt.
Resistors
When I was a young technician, my associates and I arrogantly be-
lieved we could build anything with enough 10k resistors and duct tape.
Now it seems that even simple electronic toys use several million transis-
tors encased in tiny SMT packages with hundreds of hairlike leads; no one
talks about discrete components anymore. Yet no matter how digital our
embedded designs get, we can never avoid certain fundamental electrical
properties of our circuits.
For example, somehow the digital age has an ever-increasing need
for resistors-so many, in fact, that most “discrete” resistors are now usu-
ally implemented in a monolithic structure, like an SIP, not so different
from the ICs they are tied to.
Too often we spend our time carefully analyzing the best way to use
a modern miracle of integration only to casually select discrete compo-

