Update October 2020: check out this new, improved design.
I’ve wondered for a long time how differential amplifiers are actually realised on the transistor level. Not having received a formal electronics engineering education nor being part of an assorted online community, that question lingered for quite a while unanswered – until yesterday.
The ideal differential amplifier
The differential amplifier (DA) is an electronic element which compares two input voltages and outputs their difference, multiplied by a certain factor. In its simplest form the DA is an “all or nothing” amplifier; if one input is larger than the other, the output is a 1, otherwise it’s a 0.
Below is the “ideal” differential amplifier in a simple test: we compare a fixed 2V input voltage at input A with a sine voltage oscillating between 0V and 4V at input B. Whenever input B > input A, the “out” pin goes to 5V, otherwise it stays at 0V. The amplifier is ideal in that it detects even the smallest difference between input A and input B. If you are obsessed with switching amplifiers as much as I am, you’ve probably guessed where differential amplifiers come in handy
Amplifier with emitter follower
Most implementations I found essentially feed the two input signals to two emitter follower circuits and compare the outputs. The idea is quite simple and effective, but with one huge caveat: the measured difference is relative to the voltage levels at the collectors of the two transistors and cannot be translated as a single value relative to the circuit’s ground. If we wanted to use this circuit like the ideal differential amplifier we’ve discussed earlier, the circuit making use of the output difference would have to base it’s ground at the collector of one of the two transistors. Doing so would cause many problems, starting with a much reduced operation voltage for the follower circuit, reduced power and possibly noise. Not to mention, this differential amplifier is a linear (or so) amplifier, far from the ideal 0/1 discriminator I’m after.
Current mirrors are those boring circuits used to stabilise a circuit’s operation points under changing conditions such as varying load or temperature. I often stumbled upon them when studying other people’s designs, never used them myself and never thought much of them. Again, I’m not an electrical engineer. But they turn out to have a surprising ability…
The circuit above mirrors the reference current Iref so that the output current Iout is always equal to it. What does “always equal” mean? It means that Q2 acts as a valve that opens further whenever Iref > Iout and closes down when Iref < Iout so that eventually Iref = Iout . If the input resistance changes (for whatever reasons, and however fast), Q2 will change its conductivity so that Iout adjusts accordingly. Since the input and output impedance can be greatly different (and usually is), but the currents are the same (and V = I*R), the current mirror acts as a versatile voltage amplifier.
Now image what would happen if we replaced the resistance in the circuit with a transistor…
Current mirror as differential amplifier
T1 and T2 are PNP transistors and form together a current mirror. T3 acts as a regulating valve which increases the current through the current mirror as Input A gets more power while T4 kind of does the opposite by draining current from the mirror with increasing input B power. The result is quite fascinating as the amplification is very close to the ideal amplifier.
Now… would this work in reality? Maybe, maybe not. Like most of the circuits I post about, I run this one only on circuit.js without having actually built it. The referenced Wikipedia entry about current mirrors states that manufacturing tolerance is crucial to current mirrors. Realistic designs are usually more complex than the one showed here in order to counter error margins, and are based on integrated circuits which have greater consistency in their operational characteristics.