Routing differential pairs on USB C connector

I’m trying to route the D+ and D- differential pair on KiCad for a USB C connector and can’t seem to find the answer. I am able to route the two middle D+ and D- pair in the center of the connector but connecting the outer D+ and D- on the connector seems to be an issue. Attached is my current schematic. I’m assuming that the outer connectors need to be tuned for length as well. Any tips here?

Try not using the same Name as used on other’s…

So you’re saying name D+ as a D1+ and D2+ and D- as D1- and D2-? They need to be interconnected for when the plug is plugged in upside down.

It’s just to help narrow down the problem. Yes, you can use the same Net names (video below shows this).

Also important is proper Tuning Settings and NOT having other Tracks connected to them…

this occassionally happens.
If you want your USB3 to work super speed, there are a number of items you have improve on.

  1. D1 and D2 represent transmission line stubs and these are bad. put the diode pad ON the diff pair
  2. The trace with the via crossing is an extra time delay as well as being a impedance bump.
  3. If multilayer, put vias next to where the trace changes layers
  4. Put additional via layer changes in to the other traces to equalise the time delays. IE consider routing D+ also via a via /back trace to the pad B6 first. so the via pops up undee the connector. there are a few limits to vias under connectors also, consider the connector datasheet.
  5. make them diff pairs or otherwise be aware of the total delay using the delay measurement feature, you need to consider the via height in the calculation.

if this is a 12 Mbps USB requirement, dont worry about anything.

1 Like

…and, as I indicated, connecting other tracks to the tracks being tuned has aspects that control outcome. Basically, they limit starting point and, naturally, the Tuning settings may need adjusting to accommodate this. video below…

I don’t understand BlackCoffee’s response here. I guess he got distracted by the weird USB-C connector layout.

Routing to USB-C connectors is a bit of a nuisance. The combination of fine pitch, reversible / mirrored connections and (possibly) very high bitrates can create some headaches.

According to: Wikipedia: USB C D+ and D- are not used for the high bitrate (5, 10, 20 Gbps) communication rates. Those use the Tx / Rx wire pairs. Which leaves USB 2 (480Mbps Maximum) for the D+ / D- wires, and those are not so critical to route.

Put the via’s as close to the connector as possible, because one of the wire pairs is either an open stub, or they are shorted together in the cable. (There are lots of cable variants out there, also non conforming cables!).

One thing you should really change is the layout of the TVS Diodes. Those should never ever be on stubs. Even if your signalling rate is 1.5Mbps, surges and transients are completely oblivious to that. With your current layout, a transient reaches your USB IC before it reaches your TVS diodes. Always route the tracks from the connector to the TVS diodes, and then from the TVS diodes to the IC.

With these rules in mind, close to the best you can do is:

  1. Leave the connection between A7 and B7 as it is now. Not much room for improvement.
  2. Go straight north from the A6 and A7 pads.
  3. Move the via’s to make the shortest loop between A6 and B6 that fits. (That was the reason for 2. .
  4. Put the TVS diodes close to the connector.
  5. Route as a pair from there to the IC.

Another option is to route the differential pair completely around the big S1 pad. This reverses the order of the D+ / D- wires, and you can directly connect them to B7 and A6. And then route them to A7 / B6 without via’s. In that case put both TVS diodes next to the connector, close to the S1 pad. When routing like this, the total path is longer, but you probably got a meter or wire anyway, and length is not important. But routing for a constant impedance is easier and that is what matters.

2 Likes

also… This sounds more like a COMMUNITY category question, EEVblog website question, etc- not Kicad layout category.

My comment/video has nothing to do with USB-C…

My intent was to show the effect of tracks connected to a track wanting to tune.

Different Lengths and Intersecting Tracks

I think I’ve got it sorted out now. Here’s my most recent design. Does this look like it will work? Thanks for the help everyone.

No, that is just a big mess.
Looks like you ignored all advise given, did something completely different, and created DRC violations on top of that (Net names on pads don’t match net names on the tracks).

Well, maybe, maybe-not. I’d build a test PCB with minimal hardware…

That said,
They’re not Dif Pairs in the sense of Kicad’s Dif-Pair tool But, they are the same Length (approx measuring them with a Ruler, crudely On-Monitor). 345mm each.
Actual length is going to be different but, the point is “they appear to be equal length’s”

So, Yes, in a sense, they are two tracks with different routes but same length.

I guess you didn’t use the Dif-Pair tool but, used the Single tool…

No.
A7 is shorted with B6 and B7 with A6.
Last thursday I have designed PCB with USB-C for the first time. I didn’t had that connector in my hands but from Wurth 3D model it looks that it generally has a metal under it so I would be not sure if connections under socket is welcome. Near B7,A6,A7,B6 this metal is little higher so I decided to have the connection under socket as in your first post.

I’m confused by your comment. You had suggested routing the outside D- and D+ lines around the S1 pads. I also moved the TVS diodes closer to the connector as suggested. I also didn’t change any of the net names (except for the 5V one that wasn’t there before). Are you seeing the D+ as D- on the big loop on the right? It looks like a D- unless to zoom in.

EDIT: Disregard. I see what I did. Looks like I flipped around the labels somehow.

Yep. Not sure what happened there. Looks like the lines were flipped somehow.

There is another bigger problem here .

Your rules permitted D+ to be connected to D- ? !
The tool should not have allowed that. Have you got the rules set up to stop any short circuits ?
You have short circuited nets.
Good, well disciplined PCB design setup and rules would not have permitted you to place those traces. I’d suggest, for avoid your own mistakes (we all make them) set this up first .

Yeah. I have no idea how that happened and was allowed. I can’t replicate it now that I’ve deleted it all. Weird.

Anyway, I’ve redone it and I think this is better.

Yes. I wasn’t able to get the differential pair tool to work on the outside loops since they are running around the S1 connectors I used it for the two tracks running directly to the IC on the top though.

@pbradley0 I assumed that to be the case.

FYI - this Tutorial may be of interest…

Here’s a much better version rerouting the tracks that went around the connector. From what I’ve read, routing them around the connector would mess with the impedance. Besides, this is way simpler. Thanks for the help everyone.

2 Likes