Series resistors on high speed signal tracks - Page 1
Forum section: electronics / projects

author: peter-h
author_rank: Super Contributor
timestamp: September 03, 2019, 08:19:12 pm
content: I see a lot of 22R resistors placed in series with signals.The specific case is with the ST 32F microcontroller and driving things like USB or ethernet. They seem to throw them all over the PCB. Same on PC motherboards. But the ST CPU appnotes don't show these resistors, and neither do the appnotes for the other chips.Clearly it is to suppress reflections. I've been doing some reading and the general view seems to be that you need them only for signals longer than about 2 inches.The main Q I have is how do you work out the value. I am using 0.006" track width on a 4 layer (2 planes in the middle) 1.60mm thick fibreglass board, 2oz copper, gold.Clearly it is no good probing it with a scope. I have a 400MHz Tek scope but the probe capacitance will change it too much. I also have a newer LeCroy DSO with the 1GHz active probe but even that will have a higher capacitance than the PCB track. And anyway a transmission line is not a capacitor...Also is there a benefit in using very small resistors for this job, e.g. 0402. For ease of prototyping and visual inspection in production, I use 0805 and have not had a need to go smaller.Many thanks in advance for any input.

author: Gibson486
author_rank: Frequent Contributor
timestamp: September 03, 2019, 08:32:17 pm
content: Your value is dictated by the frequency you are running at, which determines whether or not you have a transmission line. However, there are also rules of thumb that many people use. In the end, most people do not put much though into it because you can always change resistor values by de-soldering and soldering new resistors.As for the 0402 vs 0805...there are some people who will claim that the difference is capacitance an what not, but for USB or ethernet, it should not make a difference.EDIT: BTW...that rule of thumb may work, but you need to figure out what the wavelength is. That is what tells you when your pcb trace is a transmission line.Also, your transmission line has capacitance, so it is a capacitor and is modeled as such in conjunction with inductors and resistors

author: Ice-Tea
author_rank: Super Contributor
timestamp: September 03, 2019, 08:42:03 pm
content: AFAIK, your series resistor + source impedance should match your characteristic trace impedance.

author: Gibson486
author_rank: Frequent Contributor
timestamp: September 03, 2019, 09:21:48 pm
content: Quote from: Ice-Tea on September 03, 2019, 08:42:03 pmThis should help the OP. It is for Ethernet, but lots of the concepts are similar for USB as well.http://ftp1.digi.com/support/documentation/022-0137_F.pdf

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 03, 2019, 09:43:59 pm
content: TL impedance, for traces over ground plane, is in the ballpark of 50 to 100 ohms. (It can be a bit higher or lower than that, but typically you'll have to do some work to get there, and it won't be a convenient ground plane and 6 mil trace design anymore.)CMOS pin driver resistance is in the ballpark of 20-50 ohms. Very typical of, say, 74HC and LVC logic, most MCUs and ASICs, some FPGAs (though many may be weaker than this to begin with, and may also have "weak" pin drive ~2mA as an option, among other kinds of drivers), and etc.So, it's common that you need to add a little resistance outside. This also helps symmetry and consistency, too:The pull-up driver is typically weaker, maybe 30% weaker than the pull-down. (The pull-up transistor is a P-ch MOSFET; P-ch performs about 2.5x worse than N-ch. The P-ch is made larger to deal with this, but not fully 2.5 times larger, because they want to trade off speed and die area with current capacity.)The internal resistance itself is poorly controlled, maybe +/-30% variation, between chips (process variation), temperature, and supply voltage range.By swamping that variance with some tight external resistance, the output resistance becomes more consistent.You can always use larger resistors, if you don't need the speed. In the limit, this tends towards an RC lowpass filter response, R being the total resistance and C being the trace plus driven input pin(s). (You probably don't want to go too high with R, either, just because high impedances are an invitation to external noise. But that's typically in the 10 to 100kΩ+ range.)There are also situations where one might choose load termination, or source and load termination, over just source termination. And terminators may be normal mode (a single resistor to ground), differential (resistor between signal lines), or biased dividers (resistor divider from VDD to signal to GND). Though, most of these options are more archaic or special-purpose (dating back to the days of 74LS TTL; or, say, timing applications where signal quality must be absolutely pristine) -- unlikely to be necessary in typical CMOS applications. (The differential terminator pops up in high speed LVDS, for example, but that's not garden-variety CMOS pin drivers.)Note that termination isn't really necessary for rise time >> trace length (that is, electrical length: physical length divided by speed of light divided by velocity factor). This is, yet another parameter, not well documented in most datasheets; but, again for typical things, it's maybe a half dozen ns (for 74HC at 5V) down to ~1ns (74LVC, 3.3V) or a bit less, with MCUs typically placing towards the higher end of that range. So, the better part of a meter, actually, implying you shouldn't have to worry too much about terminating transmission lines until they leave the board.One last catch -- series resistors are great for prototyping, and automated testing. If you need to change the value, or remove it entirely (and perhaps to rewire the pins to somewhere else as well?), it's a lot easier than cutting traces. In testing, the resistor allows the current flow to be sensed, and the source and load pin(s) to be exercised relatively independently. (Downside: ~doubling the number of testpoints around an already congested area...)Tim

author: David Hess
author_rank: Super Contributor
timestamp: September 04, 2019, 02:48:35 am
content: Series termination is also useful for reducing EMI and doubling the source impedance halves the dI/dT halving ground bounce due to power lead inductance which may be important.Quote from: peter-h on September 03, 2019, 08:19:12 pmA short transmission line is capacitive.

author: peter-h
author_rank: Super Contributor
timestamp: September 04, 2019, 05:57:36 am
content: Many thanks all for this information.It seems that 22R is way too small to do much, yet this seems widely used.Indeed I can see the value of slowing down edges, for EMC compliance.Reading that PDF about ethernet interfacing, they have some amazing stuff there e.g.• Route each Tx+/Tx- and Rx+/Rx- pair together, keeping their separation under 0.25 mm (0.01"),using 0.25 mm (0.01") traces. Keep the Tx+/Tx- and Rx+/Rx- trace lengths as equal as possible.Is there a reason for 0.010 track? I tend to use 0.006 for most digital signals. One can go down to 0.003 but a lot of PCB firms don't like it.• The separation between the Tx+/Tx- and the Rx+/Rx- differential pairs must be at least 0.5 mm(0.02"). It is best to separate them with a ground planeThat's achievable too but it means hand-routing a lot of the logic signals.Is there a calculator for the resistor value, based on track width, PCB thickness, and some assumptions about the Zout of the driving pin?

author: AndyC_772
author_rank: Super Contributor
timestamp: September 04, 2019, 07:17:47 am
content: I wrote a fairly detailed post on the subject of wave propagation and terminationherewhich is worth a read.What you need (in the ideal, theoretical case) is for the effective output impedance of the driver to equal the characteristic impedance of the trace to which it's connected. If the output driver transistor inside the chip has a resistance of (say) 28 Ohms - which wouldn't be unreasonable for its size - then adding 22 Ohms externally is exactly what's needed to perfectly match a 50 Ohm transmission line.There may be a trade-off between timing performance and EMI. If you determine (usually following a visit to an EMC lab) that a trace is noisy, increasing the value of the series resistor can help. On the other hand, if setup and hold margins are tight or you need a faster slew rate for some reason, then a smaller value resistor can be beneficial.Bear in mind that this stuff is very difficult to probecorrectlywith a scope. A scope probe adds stub length and capacitance, which significantly complicates the transmission line model, especially if the edge speed is very high and the trace is already quite short. Active probes are useful if you want to see even approximately what's going on.

author: Gibson486
author_rank: Frequent Contributor
timestamp: September 04, 2019, 11:03:36 am
content: Just want to make sure that you understand that this is a fixed impedance line on a PCB.You can get a GENERAL calculation here:https://www.eeweb.com/tools/microstrip-impedanceor from they many other resources on line.When you make the PCB, you will likely have to pay for fixed impedance. This means no $5 PCBs. Depending on where you go, it can range from as little as $25 surcharge, to as much as $250 (although, I have not seen it that high for a while).You have the option of telling the PCB vendor what your stack up is or just telling them what you need and have them dictate the stack up. I recommend the latter.You will likely need your traces to be smaller than 10 mils.What CAD tool are you using? I have done this is Altium and KiCad. Both make it "easy" with Altium almost doing it all for you (In terms of matching trace length) .

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 04, 2019, 01:51:42 pm
content: Note that, for digital logic, it doesn't much matter what the trace impedance is; it'll be in the 50-100 ohms range typically, and just adding a bit of resistance is fine. A reflection of 30% is quite acceptable for noncritical logic, so the matching doesn't need to be very good at all.Tim

author: peter-h
author_rank: Super Contributor
timestamp: September 04, 2019, 05:00:39 pm
content: I understand what a transmission line is.However the PCB is 4-layer FR4, 1.6mm total thickness, and it can't be anything else. I can control the track width; that's all.Also the Zout of the CPU is not documented. The only clue I have is a load of 22R resistors, and the PCB they use for their developer kit (also FR4, 1.6mm, probably 0.006" traces. It is this one:https://www.st.com/en/evaluation-tools/stm32f4discovery.html.This is an add-on board with the RJ45https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-eval-boards/stm3221g-eval.htmland you can see the traces to the RJ45 are going to be very long, due to the RJ45 being on a daughter board...It is 100M ethernet, not gigabit.My plan is to leave out the resistors and make all the relevant traces really short; under 2cm. Fortunately this is possible. It is 100mbps data, not gigabit. I can get all relevant chips right next to each other. Or even on top of each other; on opposite sides of the PCB. Not sure if the latter is a good idea because of the vias.That's an interesting calculator; thank you. Interesting one needs a 0.13" width to get 50 ohms

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 04, 2019, 06:37:21 pm
content: Quote from: peter-h on September 04, 2019, 05:00:39 pmNot really necessary for an (R)MII bus, but just as well, the Ethernet signals themselves are much more robust with respect to signal quality so are better to run the distance with.Again, the pin driver rise times will be a few nanoseconds, give or take; trace lengths on the order of 5cm barely feel it. Signal quality is something to be aware of, and can be an EMC problem, but is unlikely to be an outright functional problem.QuoteYou'll only be putting ground plane on the bottom side? What's in the middle?Tim

author: Gibson486
author_rank: Frequent Contributor
timestamp: September 04, 2019, 06:48:52 pm
content: I never saw what would happen if you did not do fixed impedance on Ethernet traces. You can still do fixed impedance on a 4 layer board (very common). Your PCB thickness really does not matter because they will control the distance between the adjacent layers to compensate. The only requirement is that a ground plane exists under those traces.You can do vias, you just have to make sure that the differential pairs match. If the plus side has a via, you need to do it to the negative side too.

author: peter-h
author_rank: Super Contributor
timestamp: September 04, 2019, 07:04:04 pm
content: The layers aresignals+3.3V planeGND planesignalsAFAIK all three sheets are the same thickness i.e. about 0.5mm.The software I am using is Protel PCB 2.8, 1995 vintage, under a winXP VM. Don't laugh - it works greatI also have a very good autorouter for it: Cooper & Chyan Specctra, of same vintage. I hand routeanalog signalsGND and VCC connections (to the planes)sensitive RF stuff (e.g. clock lines) or differential pairshigh voltage isolated stuff (e.g. optoisolated items); I routinely work to a 2.5kV standard and sometimes 10kVand then (if there is much left; often there isn't) I draw the constraining polygon for the autorouter and let it do the digital interconnects.Re RF compliance, I think the best strategy is to keep RF stuff short, keep loop area small (in switching power supplies), be very careful with return currents (loop area again), drive any clock nets with a resistor and put a position for a "last resort for the day in the EMC lab" capacitor (to GND) right after the resistor, and generally keep circuitry really compact, squeezing everything together tightly. Also the ST CPUs have clock spread spectrum feature which helps, although probably only if driving external memory which with these chips one rarely needs to do. And of course one always does EMC testing with perfectly made cables, etc

author: c64
author_rank: Frequent Contributor
timestamp: July 16, 2020, 04:28:25 am
content: Quote from: peter-h on September 04, 2019, 07:04:04 pmI'm using Altium 2009 (not as vintage as yours but still, 10 years old already) also under winxp VM. Works great, super fast. I don't want to upgrade because anything older doesn't work inside VM (requires 3d support)

author: c64
author_rank: Frequent Contributor
timestamp: July 16, 2020, 04:35:56 am
content: I have a TI chip which has output impedance 100Ω for pull-down and 150Ω for pull-up. But they still recommend adding 22Ω series resistors in datasheet. Why?They don't specify output impedance but I calculated it from datasheet. If it says IOLis 4mA @ 400mV it means it's 100Ω right?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 16, 2020, 05:30:40 am
content: Yes, but is that worst case or best case?Tim

author: c64
author_rank: Frequent Contributor
timestamp: July 16, 2020, 05:40:18 am
content: Yes it's the worst case, you are right. So it's the maximum impedance.

author: AndyC_772
author_rank: Super Contributor
timestamp: July 16, 2020, 05:59:16 am
content: Quote from: c64 on July 16, 2020, 04:35:56 amSometimes, engineers writing data sheets make mistakes, or offer advice that's not universally applicable. This is particularly true when it comes to layout guidelines.