Singled Ended vs Differential Signals
Every input and output of a system is a signal. Some are voltages, some are waves, some are currents, some are sounds - we can go on and on. All that matters is having the proper method to represent them and then accurately work with them. For electronics, we're pretty lucky in that there is really only two types of signals: single-ended and differential.
Single Ended
Every voltage source I've shown in the past is a single ended voltage source. They all have had two sources: a positive and a negative. When we say “single-ended”, all we really mean is that we fix one of the nodes to a known reference, usually ground, and let the other vary.
Let's say this arbitrary function is just a square wave with off value = 0V, on value = 5V. If we were to plot the bottom (negative side), it would be totally constant at zero volts. Plotting the upper end would show a square wave pulsing up and down. We could of course flip this around, attaching ground to the top, and then the negative end would be a pulsing square wave as well. This is all just review from before, voltages are defined as references and deltas, not absolute values.
The important part is that only one node ever moves at once, so really, all we need is one end (or, you might say a single end) to use this. The on state is 5V, and the off state is 0V, so our maximum swing is 5V.
Differential Signals
Now let's imagine a slightly different scenario. Instead of having a singular voltage source, now we have two voltage sources producing “opposite” signals. Let's say they're both square waves, but one is offset by a cycle. When V1 goes up V2 stays low, and vice versa. V1 is shown as a green wave below, and V2 as a blue wave.
Instead of taking two outputs, we'll combine them into one. We can take the difference (here's the differential part) of the signals and call that Vout. Formally:
$$ V_{out} = V_1 - V_2 $$
The first immediate benefit is our larger voltage swing. In single-ended signals, the swing is limited to the range produced by one supply. Here, we have two 5V supplies, but we range from $5 - 0 = 5V$ to $ 0 - 5 = -5V $, which is now 10V! Now we have twice as much information to work with.
It also helps with our noise rejection, which may be a bit harder to see. Effectively, we can model noise as a small series voltage source with a random value. If both our voltage sources move up or down together, the output stays at the same place! Obviously, since they're independent random variables, they're also just as likely to move in opposite directions as they are the same direction. But don't worry, differential signals also help our noise margins (which will be discussed in a later post).
Creating Differential Signals
One thing that messes people up is the assumptions that come with differential signals. Any pair can be a differential signal, it doesn't have to be truly differential. Truly differential just means if $V_1 = X$, then we must have $V_2 = -X$. Let's take two sources $V_a$ and $V_b$, and turn them into a differential pair:
$$ V_{diff,+} = \dfrac{V_a + V_b}{2} + \dfrac{V_a - V_b}{2} $$
$$ V_{diff,-} = \dfrac{V_a + V_b}{2} - \dfrac{V_a - V_b}{2} $$
$$ V_{diff} = V_{CM} + V_{DM} $$
For both of our newly created “inputs” we have two similar terms. The first term is what we call the common-mode (CM). We can solve for it by setting both inputs to equal, and seeing what our output is, as this removes the second term. Generally, we think of this as an offset or bias, and it's the part of our signal we want to suppress. The other term is the differential-mode (DM). This is the value that is actually fluctuating up and down. To solve for this, we similarly set our inputs to opposite values in order to remove the first term from the equation, and see what magnitude comes out.