Hello , i am new to pcb design and have a question about differential pair , its for the USB 2.0 routing , i calculated the width of the track needed to get 90 ohm . The problem is i can’t get it to start from the connector because the width is too big (i am using 2 layers), so my question is can i start with a smaller track then switch to a the one i calculated ? i want to do this for the USB and Ethernet .
For USB 2.0 I have never cared about connection impedance, but making this connection as short as possible and both tracks the same length was my priority. If you use 1m cable and then 2cm tracks what is happening at these tracks is not critical (for USB 2.0).
Thanks for the response . one more question , how about the Ethernet ? Would doing something like i did in the photo be okay for it ?
With 2 layers this will be very difficult. Are you sure 90 ohms is the right requirement for ethernet?
You can use thinner tracks, if you reduce the distance between the signal layer and reference (GND) layer, but that will not be possible with a 2 layer board.
If you go with a manufacturer like JLCPCB, you can change the layer stack to fit your track width with multilayer boards.
In THIS application note, they also talk about track length and crossing signals without GND layers.
I think the answer depends on which Ethernet 10M, 100M, 1G ?
I have been using only IC that can drive 10M or 100M and I also assumed that if my tracks have length comparable to wires inside socket than I need not to worry a lot. Just positioning the Ethernet IC and socked was the first task in design and making connections as short as possible (but having both wires of each pair equal).
I was doing it long time ago before I started to use KiCad in 2017 so I made spreadsheet in which I entered each track segment ends and summed their length (using * SQRT(2) for some of them).
As this is not a KiCad question, only one small reply. From the look of it it looks like Raspberry Pi Compute Module 4/5.
- the small stubs will not matter
- check the length difference between pairs - the RPi CM documentation states the maximum difference between traces in pairs ( The length of the P/N signals should ideally be matched to better than 0.15mm. )
- you need to be careful about ground planes, basically you need to have reference GND. Either on the bottom side or besides the traces. So if your impedance calculations are based on bottom GND plane being the reference, then you can not have ground fill on top layer too close to the differential pair (otherwise it will act as the reference)
- you should consider 4-layer board. Having it SIG-GND-GND/PWR-SIG with high speed signals on top will simplify differential pairs routing (as the reference GND on layer In1 is way closer than in 1.6mm in 2 layer PCB) and it will also make routing power etc more simple. Usually with RPi CM 100 pins connector you may find more layers easier to route in “dense areas”.
- For example in JLCPCB you can have controlled impedance for no extra cost if you use their preferred stackup. So basically check their preferred stackup, use differential impedance calculator (they have one on their website) and use the calculated differential pair parameters.
- for 1Gbit ethernet it is still fine to route like this (it is 100Ω differential pairs, not 90 ) and again the documentation states the required length skew… But in case of Ethernet you may have the pairs and/or individual traces in different order on the RJ45 connector/magnetics, so you may need to do some more complicated routing. Basically do it close to one end (i.e. near the RPi or the RJ45 connector/magnetics)
- With these in mind and being precise and careful, you can even route PCIe without issues