16 comments

[ 4.0 ms ] story [ 54.2 ms ] thread
Surprised this didn’t mention the reason for all of this: that a high-speed signal runs not in the trace, but in the field between the trace and the nearest ground plane. And in differential pairs, also between trace and the virtual ground plane between the two traces. Keeping this in mind makes the rules and potential mistakes clearer.
At what frequency does the signal travel between traces and not on it?

Is it a feature size thing, the macroscopic size of the traces that are effectively transmission lines (that cant be, most pcbs are smaller than \lambda?). Or is it a skin effect of the conductor?

This is probably a good video for understanding - https://www.youtube.com/watch?v=icRzEZF3eZo
Basically, go watch every Rick Hartley video on YouTube. He is awesome at explaining. It will become intuitive instead of being a bunch of cargo cult advice. (Normally I dislike long videos but this is absolutely worth your time if you design PCBs.)

https://youtu.be/QG0Apol-oj0

ADD: in short, it happens for "any" frequency. This is how a voltage signal propagates. However, for DC it happens once because you see "change" in voltage only once and that's it. As you increase the frequency, you'll end up seeing more voltage waves due to "change" in voltage. That's when "reflections" come into picture - happens due to discontinuity in impedance.
Technically the signal always also travels between, but it's not a concern until roughly 50 MHz and above. It's actually the rise time that matters, and how long the signal takes to rise relative to the trace length and propagation speed.
(comment deleted)
Between 0 Hz and infinite Hz.
(comment deleted)
This, in itself, is an oversimplification simplification.

Signals travel through traces. It's just that the motion of charges in the conductor is mediated by electromagnetic forces, and electric and magnetic fields are not constrained to the conductor. Indeed, electrochemical batteries aside, most of the energy storage in an electrical circuit is mediated by fields interacting with the surrounding space.

At low switching speeds, these effects are inconsequential outside discrete components specifically designed to exploit them (capacitors, inductors). At high speeds, these small capacitances and inductances begin to have perceptible effects, for example turning the PCB a non-negligible capacitor that induces voltages and currents on other layers.

A related problem is that when trace length is no longer negligible in function of wavelength, you can no longer treat signals as changing the potential across the entire conductor in an instant. You get different voltages in different places, and all of sudden, you have to worry about wave propagation - reflections, etc.

Some of the advice in this article isn't entirely sound; for example, you certainly don't need to worry about sharp trace angles or vias at 50 MHz. Similarly to the fetish of (often discontinuous!) ground planes, there's a lot of PCB design advice that matters in specific use cases (and even there, needs to be done well) that over time morphed into a bit of a "you absolutely need to do this in your Arduino project or else".

Although primarily an EMC Consultant, Henry Ott (before he retired) had a nice collection of tips on his website. Fortunately, archive.org had crawled his pages before they were taken down: https://web.archive.org/web/20160308031350/http://hottconsul... (Bookmark this page, you WILL need it later if you do any serious EE stuff....)

If you click on the "Tech Tips" link on the left side of that page, you will get to his discussion of multi-layer PCBs. ("PCB Stackup").

Read This Section, and Become Enlightened! ;-)

To echo this, I highly recommend his book "Electromagnetic Compatibility Engineering".
A hacker or hobbyist like me can almost always get away with rules and habits instead of real engineering. A longer form of this article, full of applicable advice and rules, is Howard Johnson’s “High-Speed Digital Design”.
A few of these rules are outright not true or are missing a greater picture of things.

90 degree vs 45 degree bends do not matter.

Ground planes are not a necessity for high speed digital, you just need either a power OR a ground plane referenced to the digital. They're both identical when talking about high speed.

Generally speaking (although almost no one seems to do this), you would prefer to have differential pairs NOT be tightly coupled. Tightly coupled pairs means impedance goes down, which drives very small traces on high speed signals (which, screws you if you have single-ended signals... because the traces need to be fat in comparison).

Overall not a horrible start, but it's pretty surface-level for high speed design.

> 90 degree vs 45 degree bends do not matter.

The book "Right The First Time" devotes a whole chapter to debunking 90-degree bends as problematic, except under extraordinary circumstances like transmission lines > 50GHz. But ask yourself: have you ever seen something like a DDR4 length-matching snake that used 90-degree bends? Why are beveled corners absolutely universal? Is there some manufacturability problem with right angles in traces? Or are there weird problems caused by dozens of equally-spaced right angles on the same trace?

I suspect 45 degree bends are due to two main reasons:

* Institutional misinformation or cargo cult behavior

* Ease of layout based on convention. If you need to match differential trace lengths, 90 degree angles are going to give you pretty big difference length wise, so you need more squiggles to compensate.

My point on 90 vs 45 is that some people seem to take the opinion that the 'ideal' trace is some sort of sweeping trace with absolutely no angles, and a 45 degree is a compromise. It's really not. It does not matter. Electrons don't 'bunch up' in corners like some people claim.