EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: SpacedCowboy on April 21, 2022, 04:31:03 pm
-
As a follow-up to this post (https://www.eevblog.com/forum/projects/venturing-into-the-brave-new-world-of-lvds/), I started trying to figure out the microstrip/stripline differential impedance for the LVDS traces. The FPGA ball-placement for the _N/_P signals isn't wonderfully convenient, so I'm probably looking at stripline to escape the signals - presumably having a non-coupled part at the point where it enters the FPGA isn't a great idea...
Anyway, the PCB stackup looks like ('PCB-stackup', below) and I have a couple of questions...
1) Finding a differential stripline calculator where the planes above and below are at different heights seems ... difficult. If anyone has good ideas for where to look, I'm all ears...
2) Looking online, I can find various calculators to help me with the trace/space figures, but they don't agree!
For example, if I go to EEWeb (https://www.eeweb.com/tools/edge-coupled-microstrip-impedance/), you can see the attached 'EEWeb-calculator-nextpcb' image, with everything in the stackup converted to mil, giving me ~101R, which would be fine. There may be better trace/space combinations but the impedance is in the right range.
So I decided to try and verify the calculator - jlcpcb offer an impedance calculator in their quotation system, and for a 6-layer 1.6mm board, 100R microstrip differential impedance, they suggest 4/5 mil trace/space, which is a bit different than 9/4.
The stackup they're using is a bit different than nextpcb (the one I was planning on using for manufacturing reasons) so altering the parameters to suit jlcpcb (outer copper thickness, substrate height & dielectric) and putting 4/5 mil into the EEWeb calculator, I get a differential impedance of 143R (!) (see 'EEweb-calculator-jlcpcb')
I'm assuming that jlcpcb know their own process, but I'm left wondering how to bridge the gap between the two. I tried another calculator at allaboutcircuits (https://www.allaboutcircuits.com/tools/edge-coupled-microstrip-impedance-calculator/) and got different results again ('AAC-calculator'), though not as wide a difference (94R rather than 101R)...
So
1) I'm missing something. Anyone want to clue me in ? :)
2) Is the solution to the different-offsets-to-ground "just use the closest" for the stripline, do I need better google-fu ? Or do I need to find a different manufacturer... ?
[update]
So I found the Saturn PCB design toolkit (https://saturnpcb.com/saturn-pcb-toolkit/) and despite being a Mac guy, I keep a PC on one of the KVM ports, so I fired it up, and this toolkit actually offers a calculator for asymmetric differential stripline - the only place I’ve found it. The numbers it comes up with are different again, but since it gives me something I can use for the LVDS and nothing else I’ve found does, it wins by default.
FWIW, I played around with the H1 and H2 distances to the enclosing planes, and the differential impedance really only seems to be affected by the nearest distance, but if you put in significantly different values, it does have an effect. Certainly to a first-order approximation though, you could probably use the closest distance to either plane.
Cheers!
-
Anybody got any thoughts on this ?
Or, have people a favorite differential-impedance calculator available on the web (or wherever) ?
The Saturn PCB software. for example, with a layer-height of 0.265mm core between the top-layer and the second (GND plane) layer, each using 0.0175mm of Copper (1/2 oz), gives me a best estimate of 9mil trace, 4mil space for a 90R differential microstrip impedance.
The same figures put into pcbway's calculator (https://www.pcbway.com/pcb_prototype/impedance_calculator.html) give me 115R, and the same figures in Everything RF (https://www.everythingrf.com/rf-calculators/differential-microstrip-impedance-calculator) gives 100.6R. Altium's (https://resources.altium.com/p/differential-microstrip-impedance-calculator) agrees with pcbway and gives me 115R...
The reason to go with Saturn is that they're the only ones who attempt the asymmetric stripline case (ie: the above layer being a different distance than the below layer), but if they're wrong with the microstrip, it doesn't give me the warm fuzzies about their stripline either...
(For the record, to get a 90R6 trace using Altium's calculator using the above params , I have to use 16 mil traces with 4 mil spacing - which seems a little wider than I was expecting)
-
Anybody got any thoughts on this ?
Use a field solver and / or use a tool like Sonnet Lite to verify the actual impedance. From my experience tools that use formulas (including Altium) are way off where it comes to really thin dielectrics like in your stackup. Remember the formulas are more often than not derived from boards with much thicker dielectrics so the error becomes huge.
-
Ta :)
I'd not heard of Sonnet Lite - guess I have a download ahead :)
[edit] So looking at the tutorial you posted, assuming I can place FR4 (instead of air) above as well as below the traces, it looks as though I can get a Z0 by frequency, and I guess I just look up 800MHz at that point to see what Z0 is when running LVDS. Cool :)
-
BTW: Found this tutorial: https://www.sonnetsoftware.com/support/downloads/techdocs/Tutorial-Advanced_Digital_Design_using_Sonnet_gk_3.pdf (https://www.sonnetsoftware.com/support/downloads/techdocs/Tutorial-Advanced_Digital_Design_using_Sonnet_gk_3.pdf)
-
Thanks both :)
I'm going to route some single-ended i/o between the FPGAs as well, so the board isn't a total loss if I manage to screw up the diff-pairs...
-
Sierra Circuits has a PCB calculator that uses a 2D field solver rather than the usual canned equations from the Wadell book. It's not downloadable without jumping through a lot of registration hoops, so I don't know if it's any good. Could be worth a look.
-
The same logic might apply - I don't know, but this isn't actually DP - it's just LVDS from FPGA to FPGA. It's also my first rodeo with signals travelling this fast, so if there's a way to screw it up, I'm probably going to find it :)
Still, one only ever learns by trying new things :)
-
Sierra Circuits has a PCB calculator that uses a 2D field solver rather than the usual canned equations from the Wadell book. It's not downloadable without jumping through a lot of registration hoops, so I don't know if it's any good. Could be worth a look.
Thanks - I looked at it, but it doesn't (from the diagrams) seem to handle differential stripline, it does handle differential micro strip. It also looks like it's an add-on (ie: paid for) after 30 days even after the login ("hide my email" means I don't care about doing this sort of registration any more :)
-
Yep, it was the level of disagreement between the various calculators I tried that was causing me some heartache.
The Saturn toolkit was what I was trying to verify, actually, because it was the only one I'd found that could do asymmetric differential stripline calculations. To get some confidence in the stripline calculations, which no-one else seemed to be able to do, I tried comparing their microstrip calculations to others, and got widely varying results. I have no idea if they use a field solving approach - perhaps I ought to ask :)
I'll download the Sonnet Lite app at some stage in the next couple of days (I'm having to re-home my PC because it keeps crashing - I'm hoping it's the cooling system) and see how it goes. If it broadly agrees with the Saturn ones, I'll use that. If not, well, I guess I'll use whatever comes out of the Sonnet toolkit since it's a more advanced application of the theory. Nctnico pointed out that the thinner dielectrics can have less-accurate results with the standard model equations, so the field solver ought to be better.
The PCB vendor (nextpcb) doesn't have anything online, but I can try emailing support, they've been reasonably forthcoming before - so that's a good idea :) And thanks for the links to the other calculators, I'll certainly give them a try too :)
-
Yep, it was the level of disagreement between the various calculators I tried that was causing me some heartache.
That is what has put me off in the past as well. As evb149 wrote: it isn't super critical and sometimes you have to compromise because the ideal conditions can't be met due to dielectric and minimum trace width / distance. However I prefer to have an accurate number regarding what the actual impedance is. I'm using Orcad Allegro which has a field solver built into the stackup editor. In some cases it takes some trial and error to get to the optimal values for differential pairs (stripline and microtrip).
-
Note that, if nothing else, use a wide coupling distance, and single microstrip/stripline calculations (available most anywhere). The differential impedance is simply both single traces acting in series, with the center tap between the impedances happening to be GND. This also gives Zcm = Zo/2; the effect of coupling is merely to raise Zcm above this value.
LVDS transmitters have some manner of impedance setting Zcm(src), so that this mode is terminated, at least to some modest extent, thus avoiding ringing in this mode (which would inevitably couple into DM and cause data errors at some degree of severity). At least... they damn well ought to.
Tim