A number of recent blogs on this site have touched on the topic of high-speed serial interconnect, including this one by the Mighty Hamster (a.k.a. Mike Field) and the SerDes for FPGAs miniseries by Dr. DSP (a.k.a. Warren Miller).
There's a lot of stuff associated with this topic that can make it a morass of confusion for anyone who doesn't understand the underlying concepts. Just the other day, someone emailed me to ask what we meant by differential signaling, a term he had seen in Mike Field's blog. I decided that it would be useful to explain a few things, including terms like 8b/10b encoding, pre-emphasis, and equalization. Let's start by discussing the concept of differential signaling.
For the purposes of these discussions, we shall focus on chip-to-chip communication between two integrated circuits mounted on a printed circuit board. The simplest and most commonly used method of transmitting an electrical signal is known as single-ended signaling and is illustrated below.
As usual, I just threw these diagrams together in Visio, so please excuse the fact that I'm showing idealized signals with sharp edges. They were quicker and easier to draw. On the bright side, using stylized signals like these makes everything easier to understand.
The places annotated as "signal to be transmitted," "signal being transmitted," and "signal that's received" are supposed to represent the same signal at different points in time. A signal generated inside the chip on the left is presented to its output buffer, transmitted over the signal wire, and presented to the input buffer in the chip on the right. The input buffer then passes that signal into the body of the chip.
It's common to think that a single-ended signal requires just one wire. In reality, we need two wires: one to carry a varying voltage that represents the signal, and one connected to a reference voltage (usually ground). When we have multiple signals, they can all share a common ground connection. This explains why I've explicitly shown the ground connections on the chips in the diagram above.
The main advantage of single-ended signaling (as opposed to differential signaling, which we'll discuss later) is that fewer wires are needed to transmit multiple signals. For n signals, we need only n + 1 wires -- one for each signal, and one for ground.
One disadvantage of single-ended signaling: The return currents for all the signals share the same conductor. Even if separate ground wires are used, they are ultimately connected together at each end. This can sometimes cause interference in the form of crosstalk between signals. However, the main disadvantage is there's no way to reject noise caused by any differences in ground voltage levels between the transmitting and receiving circuits or by induction in the form of electromagnetic interference picked up on the signal wire.
For example, consider the following illustration of a positive pulse.
Here we see two noise spikes. Spike No. 1 induces a glitch with a positive-going potential on the signal, but it probably won't cause us any problems. Spike No. 2 induces a glitch with a negative-going potential. If this glitch drops the signal below the switching thresholds of the transistors forming the input buffer, it may propagate an unwanted negative-going pulse into the receiving chip.
Since we are covering the basics here, the effects of positive-going and negative-going noise spikes depend on whether the signal itself is a logic 0 or a logic 1. In this example, the signal is a logic 1 value when the noise spikes occur.
Now consider the same noise spikes -- positive-going followed by negative-going -- applied to a signal with a logic 0 value (a negative pulse), as shown below.
Once again, spike No. 1 induces a glitch with a positive-going potential on the signal. If this glitch raises the signal above the switching thresholds of the transistors forming the input buffer, it may propagate an unwanted positive-going pulse into the receiving chip. By comparison, spike No. 2, which induces a glitch with a negative-going potential, probably won't cause us any problems.
To Page 2 >