Some practical reasons why
your analog circuit didn't do what you expected.
-
You forgot to read the data sheet. Application
engineers routinely shout "RTFDS" as they hang up the telephone after
dealing with a customer's enquiry. Extracting the information which is
implicit, rather than just the explicit details, is a skill well worth
cultivating.
-
You forgot Ohm's Law. The resistance of a PC
track is not zero, and sometimes the difference matters. Conversely,
if you are measuring low currents, the leakage resistance of
insulators is also important.
-
You forgot to provide a path for the bias
current. Sometimes your greasy fingerprints will provide a path in the
prototype, leading to surprises in the clean(er) final version.
-
You forgot to check the stray resistances,
inductances, and capacitances of the final (crowded) PCB, and assumed
that if it worked on the breadboard it would work anywhere.
-
You forgot that EMI and RFI occur everywhere
and did not filter your supplies and input/output leads.
-
You forgot to consider the effects of
temperature variations on circuit elements, including the effects of
differing temperature coefficients in nominally identical components.
-
You forgot to verify that the circuit would
tolerate having its supplies (and signals) applied in any order (and
with any value of dv/dt). Or you forgot to ensure that it would not be
exposed to power/signal sequences and rates that it could not
tolerate. You may even have forgotten that switching power supplies
are not necessarily as noise free as a battery.
-
You forgot that circuits do not necessarily
contain power-up reset, but may require additional circuitry to ensure
that they stabilize in the correct mode when they are turned on.
-
You forgot that circuits do not turn on
instantly: Capacitors must charge, and it is often necessary for the
circuit to stabilize thermally, especially in precision circuits.
-
You forgot that not all circuits are stable
when driving a reactive load. An output stage that will drive a wide
range of resistive loads may oscillate if it sees capacitance. Your
circuit may work when its load is close by and fail when it must drive
a few meters of cable.
-
You forgot that noise, like death and taxes, is
universal. Every ADC has quantization noise and every resistor has
Johnson noise. This is intrinsic, not the result of imperfections.
-
You forgot that IC designers are not
necessarily user friendly. EOC does not necessarily imply DRDY, and
don't dare to assume that CS only selects the chip - it may also reset
something on its trailing edge. Again and again I say, "RTFDS!"