Page 87 - The Art of Designing Embedded Systems
P. 87
74 THE ART OF DESIGNING EMBEDDED SYSTEMS
calculations! How do they convince themselves that a subtle error isn’t
lurking in the model? As with subtle errors hidden in large spreadsheets,
the complexity of the calculations removes the element of “feel.” Is that
complex carbon-fiber structure strong enough when excited at 20 Hz?
Only the computer knows for sure.
The modern history of engineering is one of increasing abstraction
from the problem at hand. The C language insulates us from the tedium of
assembly, which itself removes us from machine code. Digital ICs protect
us from the very real analog behavior of each of the millions of transistors
encapsulated in the chip. When we embed an operating system into a prod-
uct, we’re given a wealth of services we can use without really under-
standing the how and why of their operation.
Increasing abstraction is both inevitable and necessary. An example
is the move to object-oriented programming, and more importantly, soft-
ware reuse, which will-someday-lead to “software ICs” whose opera-
tion is as mysterious as today’s giant LSI devices, yet that elegantly and
cheaply solve some problem.
But, abstraction comes at a price. In too many cases we’re losing the
“feel” of the problem. Engineering has always been about building things,
in the most literal of contexts. Building, touching, and experiencing failure
are the tactile lessons that bum themselves into the wiring of our brains.
When we delve deeply into how and why things work, when we get burned
by a hot resistor, when we’ve had a tantalum capacitor installed backwards
explode in our face, when a CMOS device fails from excessive undershoot
on an input, we develop our own rules of thumb that give us a new under-
standing of electronics. Book learning tells us what we need to know. Han-
dling components and circuits builds a powerful subconscious knowledge
of electronics.
A friend who earns his keep as a consultant sometimes has to admit
that a proposed solution looks good on paper, but just does not feel right.
Somehow we synthesize our experience into an emotional reaction as pow-
erful and immediate as any other feeling. I’ve learned to trust that initial
impression, and to use that bit of nausea as a warning that something is not
quite right. The ground plane on that PCB just doesn’t look heavy enough.
The capacitors seem a long way from the chips. That sure seems like a long
cable for those fast signals. Gee, there’s a lot of ringing on that node.
Practical experience has always been an engineer’s stock-in-trade.
We learn from our successes and our failures. This is nothing new. Accord-
ing to Cathedral, Forge and Waterwheel (Frances and Joseph Gies, 1994,
HarperCollins, New York), in the Middle Ages “Engineers had some
command of geometry and arithmetic. What they lacked was engineering

