What is Differential Pairs?
Differential pairs will also need to be matched in length to other differential pairs as well. PCB trace routing. Trace tuning functionality that will help you. There is a lot of functionality in printed board design tools that will help you with your routing and trace tuning. First, you can set up trace length rules in the high-speed routing.
To understand what differential pairs are, let’s first look at what differential signaling is. Differential signaling is a technique for electrically transmitting data using two complementary signals. The method sends the same electrical signal as a differential pair of signals, each in its own conductor. The pair of conductors can be wires (typically twisted pair) or traces on a circuit board. The circuit that receives the signal responds to the electrical difference between the two signals, rather than the difference between a single wire and ground, which is also known as single ended mode [1].
Advantages of Differential Pairs over Signal ended mode (SEM)
So why use differential pairs when we are so use to routing traces the good ol single ended mode fashion? Well when going high speed, all sorts of noise and electromagnetic interferences start to crop up in the circuit that degrade our signal. So basically we use this technique to for the following reasons:
- To minimize electronic crosstalk,
- Attenuate Electromagnetic Interference,
- Reduce both noise emission and noise acceptance,
- Improvement in Signal to Noise (S/N) ratios,
- Effective isolation from power systems,
- Low power requirement.
It is because of these awesome benefits that they are used in the popular and familiar communication protocols such as SATA, LVDS, PCI-E, DDR, 10gig Ethernet where the data-rates can range between 1.5Gbit/s to around 10 Gbit/s
Important Rules to Adhere to When Routing Differential Pairs.
Okay so you must thinking, okay I just realized that my application requires differential pairs, I am going to implement it straight away!! Just hold on one second before you start implementing this technique and there some important rules you should follow to ensure you have the best signal integrity for differential signaling. These Rules are as follows:
Rule 1 - The traces should be of equal length.
This one of the most important rule that you should adhere to when implementing differential pairs. This ensures that there is no skew (timing differences) between the signals of the pair, and flight times will be identical. This also has everything to do with the assumption that differential signals are equal and opposite and what happens when that assumption is violated. And what happens is this: uncontrolled ground currents start flowing that at the very best are benign but at worst can generate serious common-mode EMI problems.[3] Altium has function called Interaction Length Tuning where you can equalize the lengths of traces so they match up. I am sure you must have seen those squiggly lines on PCB’s some where [1-3].
Rule 2 - Symmetry
Symmetry is the key to successfully deploying differential signals in high-speed designs. Maintaining the equal and opposite amplitude and timing relationship is the principal.
Rule 3 - Consistent Gap Space
Route your differential pairs to impedance and ensure that you have optimally spaced the two traces. Altium Designer has a good feature called Parallel Segment Rule, which maintains the gap between differential pair traces. The Rule of thumb is 2 x the trace width. So if you have 4 mil traces, then the gap should be 8 mil for a maximum length of 500 mils [2].
Rules 4 - Aggressors
To avoid or to control crosstalk from other traces, keep those lines, power planes and signals as far as possible from the differential pair lines. A rule of thumb would be to use 3 x trace width.
Conclusion:
So we have learnt that Differential signaling have several advantages which are:
(a) effective isolation from power systems,
(b) noise immunity, and
(c) improvement in S/N ratios.
Isolation from power systems (and in particular from system ground(s)) depends on the assumption that the signals on the differential traces are truly equal and opposite. This assumption may not be correct if the trace lengths of the individual traces of the differential pair are not evenly matched. The Noise immunity often depends on close coupling of the traces. This, inherently, has an impact on the value of the proper termination of the traces to prevent reflections, and generally also requires that, if the traces must be close coupled, it is imperative that their separation must also be constant over their entire length [2].
If you enjoyed this Article, then please check out more Articles, Tips and Design Rules on PCB design at www.ArduinoStartups.com/blog
Ritesh Kanjee
- Wikipedia, The Free Encyclopedia
What facilities does EAGLE CAD have for helping to do layout with matched length groups and differential pairs? Can you apply such a constraint in the auto-router? As a follow-on to this, what (other) free Electrical CAD tools support this type of feature?
EditIf you don't believe any free CAD packages support this design feature, what are some low-cost options that do support it?
2 Answers
$begingroup$Eagle actually has both of these features as of version 6. From their website:
Benefit from differential pair routing and automatic meanders
Special signals can be routed with exactly the same length. Differential pair routing is used for pairs of differential (equal and opposite) signals across the board to create a balanced transmission system. Creating meanders helps users automatically give a signal a certain length in the PCB. Meanders in traces are used to increase delay times in high speed digital circuits.
http://www.cadsoftusa.com/eagle-pcb-design-software/new-in-v6/?language=en (halfway down)
See for yourself.
The Meander button:
Length matching of a differential pair (from manual):
I don't actually know how to implement these techniques, but I can point you to the documentation. Check the manual (warning 300+ page PDF) on page 175 to 178 - http://www.cadsoft.de/wp-content/uploads/2011/05/V6_manual_en.pdf
Here's how I do equal length differential pair routing in Eagle CAD:
- Name traces
D_P
andD_N
(or something_N
and_P
- seems like Eagle CAD needs the suffix). - Create net class in schematic and add both traces to it
- Route the traces, either together (the default) or separately (type
ESC
and Eagle CAD will stop routing the second trace). - In board view, type
run length D_*
in the command window - In the dialog box that comes up, click on longer pair length, copy it (
Command-C
works on my Mac) - Type
meander [copied length]mm
, but replace[copied length]
with the value you just copied (Command-V
to paste works on my Mac) into the command window.mm
means millimeters,length.ulp
measures in mm - Click on the shorter trace to meander it.
- Move mouse to meander the shorter trace until its length is the same as the longer trace and the meander pattern is to your liking.
The Eagle Cad v6 Manual p175-178 helps.