Trace Impedance Conundrum  - Page 1
Forum section: electronics / beginners

author: tyguy2
author_rank: Unknown
timestamp: May 19, 2020, 10:05:07 pm
content: Hello all,While designing a PCB, I made a bit of an error in my math for calculating trace impedance. Now I have a differential pair on my board that's supposed to have 100 ohm differential impedance plus minus 15%, but instead has something closer to 130 ohm differential impedance. The pairs are length matched and whatnot, but based onthis website, with the below parameters, I'm out of spec:Trace Thickness: 1.4milSubstrate Height: 10mil (4 layer PCB, top layer to 1st ground plane)Trace Width: 10 milTrace Spacing: 10 milSubstrate Dielectric: 4.4 (ish)= ~128 ohm differential impedanceIs there any way I can reduce this to within spec without having to re-make the entire board? Seems a very hacky, but could I insulate and ground some aluminum foil with kapton tape over the traces to create a sort of pseudo edge coupled stripline?

author: twospoons
author_rank: Frequent Contributor
timestamp: May 19, 2020, 10:14:33 pm
content: Well, yes you could add an insulated ground over the top to lower the impedance, but its going to be really messy, as it should be tacked to the existing ground plane at regular intervals or it might start to do odd things. So you really need copper foil, so it can be soldered.But before that, calculate the impact of just leaving the impedance at 130 ohms. It might not be worth the effort to correct.

author: tyguy2
author_rank: Unknown
timestamp: May 19, 2020, 10:28:02 pm
content: Quote from: twospoons on May 19, 2020, 10:14:33 pmIt's 2 SATA Gen I diff pairs, and I'm getting a lot of errors over the line and no stable connection, which after a lot of troubleshooting seems to be coming from the impedance issues.

author: KE5FX
author_rank: Super Contributor
timestamp: May 19, 2020, 10:49:44 pm
content: How long are the lines? I'd honestly be surprised if that's your problem, unless the lines are very long and/or run all over the board.That's less than 2:1 VSWR. You'd like to do better, but half the Chinese SATA cables out there probably do worse...

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 19, 2020, 10:58:54 pm
content: Are you sure it's not common mode interference?Tim

author: twospoons
author_rank: Frequent Contributor
timestamp: May 20, 2020, 12:21:14 am
content: Do you have a high-speed scope and diff probe (would need to be over 6GHz)? Are you able to post a trace?I assume you have followed all the rules - no routing over breaks in the plane, avoiding vias, etc.I ran this through the calculator from Saturn PCB and got Zdiff = 109R, Z0 = 66R. Looking around for SATA specs it seems Z0 should be in the range 25-40 R.The other question is did you ask the PCB fabricator to control the impedance of those tracks?

author: tyguy2
author_rank: Unknown
timestamp: May 20, 2020, 02:39:33 am
content: Quote from: KE5FX on May 19, 2020, 10:49:44 pmAbout 883 milQuote from: T3sl4co1l on May 19, 2020, 10:58:54 pmSome of my inductors make noise when the SSD they're power tries to connect, but they're so far away I don't think it would be that. I'm not seeing any issues with the voltage rail on my scopeQuote from: twospoons on May 20, 2020, 12:21:14 amI've attached a picture of the traces. From a few other discussion I've had, I do realize the trace separation the bottom does change the impedance when compared to the top. The impedance was not controlled on the tracks, as I figured the variability in the FR4 dielectric constant would still keep the trace within 15%. I followed all the rules, although now that you mention it, the plane under the traces is broken in half by a single trace running through it that carries DC 1.8v. Unfortunately my scope is Tectronix 2445 pulled out of 1984, so definitely not high speed, and I don't own a diff probeEdit:Forgot to mention, the reason I'm shooting for 100 ohms is because the datasheet for the chip I'm using, the TUSB9261, recommends 100 ohms for the trace impedance. I'm trying to interface with an mSATA SSD, which I've heard are very finicky when it comes to signal strength

author: Kasper
author_rank: Frequent Contributor
timestamp: May 20, 2020, 05:21:58 am
content: Quote from: tyguy2 on May 20, 2020, 02:39:33 amA picture of that entire 1.8V trace could be helpful.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 20, 2020, 07:10:00 am
content: Top side GND isn't stitched, almost at all, to inner GND..?Yeah, please show all layers.Tim

author: tyguy2
author_rank: Unknown
timestamp: May 20, 2020, 06:04:10 pm
content: Quote from: Kasper on May 20, 2020, 05:21:58 amSee SignalLayer1.png, Trace with red arrow pointing to itQuote from: T3sl4co1l on May 20, 2020, 07:10:00 amThe rest of the layers under it are attached. I do realize I didn't stitch the layers together very well, forgot I didn't add them until after the board went for manufacture. I do have vias connecting the planes, however, mostly near the header the signal is leading to.

author: tyguy2
author_rank: Unknown
timestamp: May 20, 2020, 06:06:46 pm
content: Maybe I could purchase some controlled impedance wire from Digikey and use that instead of the traces? I feel like that would probably end up violating the length matching requirements.

author: capt bullshot
author_rank: Super Contributor
timestamp: May 20, 2020, 06:38:38 pm
content: Some time ago, I've bodged an SSD to a Banana Pi board using some simple twisted pairs (maybe 3cm long) - it works until today. So maybe your root cause is somewhere else, as others said.

author: twospoons
author_rank: Frequent Contributor
timestamp: May 20, 2020, 09:50:41 pm
content: Ah, yeah, the slot in the ground is a big no-no for high speed signals like this. It can act as an impedance jump, and as an antenna.Also your top plane is far too close to the diff pair, resulting in a "Dual co-planar waveguide with ground" with a different impedance to what you calculated. Rule of thumb is the top plane clearance should be at least 5x the thickness of the dielectric, to use the usual diff pair over ground calculation. In your case that would be 50mil.And plane stitching - min every 10mm along the diff pair. And along the edges of every ground plane island.It might not seem like a big deal, but could be the difference between working or not.I've seen this happen with USB - the changing the ground spacing and stitching was the difference between passing or not passing compliance testing.Asking for impedance control from the fabricator means they are more careful in controlling the thickness of the dielectric layer in question, and more picky about which material they use. Otherwise everything is slapped together, and as long as the whole stackup meets the the tolerances it'll get shipped to you. So any time you have a controlled impedance you need to tell the fabricator.

author: tyguy2
author_rank: Unknown
timestamp: May 21, 2020, 03:44:11 am
content: Tried running (as best I could) length matched twisted pairs from the caps to the SSD, no dice, still getting a ton of errors. I don't know what else could be causing the errors besides maybe an incompatibility between the SATA devices?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 21, 2020, 04:38:13 am
content: Could be lots of things. Noisy environment, poor bypassing, poor grounding, poor signal quality on the other side of the interface? Maybe not if your USB connection is stable, but who knows.All just guesses until you get a scope (potentially quite a fast one) probing it, or revise the PCB following the recommended application layout, etc.Tim

author: twospoons
author_rank: Frequent Contributor
timestamp: May 21, 2020, 05:11:50 am
content: https://incompliancemag.com/article/differential-mode-to-common-mode-conversion-on-differential-signal-vias-due-to-asymmetric-gnd-via-configurations/Its unfortunate you dont have access to a fast scope - sadly the kit you'd need is serious money, even second hand. Maybe time to ask around if anyone can help with that.Since you are flying blind, best you can do is a board respin, being exceptionally careful with the high-speed layout, and taking a shotgun approach to the potential issues - hit everything and you'll probably fix the thing that's the problem.

author: KE5FX
author_rank: Super Contributor
timestamp: May 21, 2020, 05:24:48 am
content: A copy ofBogatinorOttis a lot cheaper than a 6 GHz scope.Just saying... there are fundamental issues with this board. The good news is that there's lots of room for improvement, which isn't always the case.

author: tyguy2
author_rank: Unknown
timestamp: May 21, 2020, 05:31:59 am
content: Quote from: twospoons on May 21, 2020, 05:11:50 amSadly I used to have access to one, but my university is closed due to COVIDQuote from: KE5FX on May 21, 2020, 05:24:48 amHonestly fair, not my best work and a bit embarrassing to post, but I'm working with what I've got right now.I would love to do a re-spin of the board, but my issue is I've got a deadline on this board, and I don't have the time or cash to wait on a new PCB, so I've kind of dug my own grave on this one.I'm wondering if I could buy some single ended 50 ohm impedance wire from Digikey and use it for the diff pairs? That would at least solve the impedance problems in the short term

author: KE5FX
author_rank: Super Contributor
timestamp: May 21, 2020, 06:24:17 am
content: Quote from: tyguy2 on May 21, 2020, 05:31:59 amWith split planes and insufficient via stitching, this particular board may be a lost cause, but you may still be able to gain some useful insights from it for the next spin. Try twospoons' suggestion, maybe -- glue a strip of aluminum foil over the traces. Then, see if the behavior gets better or worse. If it doesn't change, that suggests the problem is elsewhere.

author: tyguy2
author_rank: Unknown
timestamp: May 21, 2020, 06:57:29 pm
content: Quote from: KE5FX on May 21, 2020, 06:24:17 amFoil made no difference. I'm just no sure what else could be causing the issue, I feel like I've gone over everything else

author: KE5FX
author_rank: Super Contributor
timestamp: May 21, 2020, 07:30:10 pm
content: Yeah, these things are always a pain to debug, when the OSI stack begins as an actual PCB stackup and ends in some test code that you may not have written yourself, talking to a driver that you almost certainly didn't write yourself.Too many places for things to go wrong, and everything has to work reliably before anything will.At this point the place to focus may not be on your design, but on the data sheets for the parts you're using. You've probably read them a dozen times already, but now it's time for the next dozen passes. Don't forget the errata sections.Sometimes you can also get a bit of a clue by sticking the board in the freezer and/or blasting it with a heat gun. Marginal signal integrity problems can be affected by doing that, because signal amplitudes and rise times vary slightly with temperature (and sometimes more than slightly). Same is true of voltage regulation; true zero tempcos are rare. Same idea as the foil -- if you've run out of ways to make it better, look for ways to make it worse.

author: Kasper
author_rank: Frequent Contributor
timestamp: May 22, 2020, 04:16:21 pm
content: Quote from: tyguy2 on May 21, 2020, 03:44:11 amDid you cut the old traces when you tried this?

author: tyguy2
author_rank: Unknown
timestamp: May 22, 2020, 05:49:19 pm
content: I did not, I'm guessing that'll cause a problem? Unused trace length acted as an antenna?

author: twospoons
author_rank: Frequent Contributor
timestamp: May 23, 2020, 12:48:10 am
content: You created an unterminated stub, which will truly mess things up. Depending on the length it can look like either a capacitor, inductor or resistor, and will mess up the trace impedance and create delayed reflections. Even via stubs should be avoided at SATA data rates (e.g. using a through via on a 4 layer board to link two adjacent layers)

author: Kasper
author_rank: Frequent Contributor
timestamp: May 23, 2020, 03:33:14 am
content: Quote from: tyguy2 on May 22, 2020, 05:49:19 pmCould be worth trying those wires again. First cut the traces as close to the wires as possible so as to minimize the stubs.To cut traces this is what I do:Scrape the solder mask off the trace with the tip of exacto knife. Break off the point of the tip so it is a bit skinnier than the trace.Using exacto knife make two cuts about 1mm apart and pick out the copper between the cuts.Try not to remove soldermask from adjacent traces / planes so there is less chance of shorts when you solder jumper near the cut or when you repair the cut.

author: tyguy2
author_rank: Unknown
timestamp: May 25, 2020, 12:29:36 am
content: Tried that with the wire I had on hand, but it didn't work. Based on the online calculator I used though, the impedance could've been between 109 and 130 (30awg silicone rubber wire with an outer diameter of 31mil), so I don't think it was the best wire for the job. I'll see if I can some wire that would have better impedance characteristics.

author: twospoons
author_rank: Frequent Contributor
timestamp: May 25, 2020, 03:45:29 am
content: Why not try the wire from an actual SATA cable?

author: tggzzz
author_rank: Super Contributor
timestamp: May 25, 2020, 08:41:39 am
content: Quote from: KE5FX on May 21, 2020, 05:24:48 amEven cheaper:starthere:https://www.edn.com/bogatins-rules-of-thumb/