You guys'll love this story.
Working at a large asian videoscreen company on some EMI issues, I was asked to look at a comms problem late in the afternoon. an I2C connection had mysteriously stopped working. The actual circuit uses a HC4053 to switch the external I2C between a couple of different things. And it was refusing ot output a logic zero, which upset the downstream logic.
A bit of probing with a scope showed the 3.3V chip have 4V outputs. Luckily the schematic used useful supply names like Vcc1 and Vcc2, and also used "hidden" supply connections, making it almost impossible to figure out what chip had what supply voltage. So I did it with a DMM on beep.
Turns out the dangly wires are 5V, but all the innards are 3V3. And of course there was no thought put into voltage level translation (note: they have sold hundreds of millions of dollars of these things).
At the engineering management meeting the next morning, the chief engineer gave his report, which basically said faulty 4053 chips were the root cause. And his solution was:
- desolder faulty chip
- cut trace under IC
- re-solder faulty chip (IM NOT KIDDING)
- add dangly wires
- tack an OR gate on top of another chip
- use the OR gate to "buffer" the non-zero signal, to get a nice clean zero.
The owner of the company asked for my thoughts, at which point I gave a short lecture on whats inside ICs, what can happen when current is bunged thru the protection diodes (summary: anything, but always bad), and how the circuit was designed to force it to happen.
At lunch later that day, I was asked where I got my doctorate. They were astounded to discover I didnt have one, and that I didnt even bother finishing my ME thesis (somebody offerred to triple my pay, so I emigrated instead).
I ended up doing a detailed review of how often this occurred within the design. The answer? hundreds of times. One high-speed data chip had about 35 such connections; the resultant DC power was significant, although the IC at least didnt flip out.
Although the funniest was the FPGA, which had separate Vccio pins that could have been tied to 5V, but werent!
the relevant IIC 5V output had a series resistor anyway, so the kludge involved increasing it a bit, and tacking on a shunt resistor.
and the moral of the story is:
NEVER hide the power supply connections on a schematic, and ALWAYS use sensible names for power supplies, like +5V_iso
which at least gives a peer-reviewer a chance.
Cheers Terry