2
\$\begingroup\$

I have a two layer PCB, where I do not have the liberty of adding power planes. (However, I potentially could add ground or power pours). My issue is that I am trying to decide whether I should use a strict star-topology to route power and ground to each IC, or also add additional ground return paths for the signaling between the ICs.

To illustrate my point:

enter image description here

In the picture, RED corresponds to the power traces, and black corresponds to the ground traces that are currently on the PCB. The gray traces (also highlighted by yellow) are the additional ground traces I am considering adding between the ICs to serve as return paths for the data signaling between the ICs (mainly i2c and spi).

I am torn between adding these additional traces because of the potential of creating a ground loop. However, I may also need to provide a return path for the data lines between the ICs.

What is better? How do I solve this problem of ground loops versus return paths?

As an additional question--while not ecnomocically feasibly, is it worthwhile to try to move to a 4-layer PCB? When do you determine whether you should move up to the 4 layer PCB?

\$\endgroup\$
  • \$\begingroup\$ Do you have noisy components on this board, like a switch mode power supply, or something that is extremely sensitive to noise like analog? I'm confused why you think you need more ground traces, usually things like the MCU have multiple grounds, and decoupling caps for noise problems. Can you add a real schematic? \$\endgroup\$ – Ron Beyer Oct 30 '17 at 22:42
  • \$\begingroup\$ You can assume the "power island" consists of a switch mode power supply (1-3MHz, along with passives needed such as inductors, high value mlccs, etc). Each IC, including the MCU, display driver, and sensor IC has 2+ ground pins. The ground just basically splits into feeding these two pins as it gets close to the IC. Each IC has the appropriate bypass caps, as recommended by the datasheets, which are typically 0.1uF, 1uF, or 10uF. This is more of theoretical question -- no schematic yet -- just something I encounter and think about from time to time. \$\endgroup\$ – Adam B Oct 30 '17 at 23:33
  • \$\begingroup\$ The additional ground traces I am considering adding is to add a shorter return path for the data lines that between the MCU and the other ICs. \$\endgroup\$ – Adam B Oct 30 '17 at 23:35
  • \$\begingroup\$ Are you saying that they necessary don't need a return path (such as a ground plane below) because they don't carry much current (voltage signalling only)? I've heard of take note of "return paths" between ICs -- always thought that referred to the signalling... When must we worry about return paths as it pertains to signalling between ICs? \$\endgroup\$ – Adam B Oct 31 '17 at 2:24
  • 2
    \$\begingroup\$ @RonBeyer everything has a 'return path', but for low speed stuff like I2C, the significance of having an over-long convoluted return path does not often cause problems, that is, 'you should be fine' is usually true. Just because most people get away with it is not a reason to say it doesn't matter. Amusingly, differential signals are where you don't need a (ground) return path, as the out and return is built into the signalling medium of two tracks routed together. Please don't cofuse the OP, there's enough confusion out there already. \$\endgroup\$ – Neil_UK Oct 31 '17 at 6:38
3
\$\begingroup\$

If the signals between the digital ICs are 'high speed', then yes, you must run the data connections and a ground connection in close proximity to each other, or have considerable crosstalk between parts of the board, and run the risk of data corruption. Whether 100kHz I2C would qualify for 'high speed' is moot, you would probably get away with it, it depends on the size of the board.

One way to do this is, as you suggest, run the data lines directly between ICs, and run ground lines with the data.

Another way to do it is to run your original star ground system, and run the data lines along the paths of the actual ground connections.

Where I don't have the luxury of a ground plane, and I would absolutely stay away from 'ground pours' if possible, as they are the worst of all worlds, I use a gridded ground system. This is very nearly as good as a ground plane. Ground (and often Vcc) tracks run East-West on the top of the board, North-South on the bottom, and are connected at every intersection by a via. This makes for a relatively stiff ground connection, where it's easy to route signals tracks close to the ground conductors at all times.

Some people will tell you that I2C does not use a return path. This is nonsense, all digital signalling has to use a return path. The only question is whether the return path is tightly controlled to run with the signal, or whether it's allowed to snake around on the board provoking possible problems.

It is true that with a sufficiently slow system, there is usually time for bad transients to settle before the lines are sampled, and so you'd get away with it without knowing. You're most likely to get away with it when the system is slow and sampled, like bit-bashed I2C. You're most likely to have trouble when the system is clocked on the interface, like SPI, as multiple transitions on the clock line will shift extra, wrong, data bits into the RX registers.

\$\endgroup\$
  • \$\begingroup\$ Thanks for your great answer. My other concern is after adding the additional ground traces, I am also creating more ground loops, can this be a problem? I will look into the gridded ground as you suggested. How much spacing between each grid is recommended? Is it only needed where you might potentially run signals? Is it better to run signals next to ground traces on same layer or directly opposite on other layer? \$\endgroup\$ – Adam B Oct 31 '17 at 8:47
  • \$\begingroup\$ 'avoid ground loops' is only really an issue in audio, where crosstalk is detectable at a very low level. On digital boards, the noise tolerance stops bad things happening with loops, but make sure every signal has a local return. Grid spacing is only needed where you run signals, and power, though closer doesn't hurt. Adjacent or underneath doesn't really matter for low speed high speed stuff like 10MHz SPI, but when you go to 100s of MHz you would go for controlled impedance, which is most practical with trace over ground. \$\endgroup\$ – Neil_UK Oct 31 '17 at 10:19
  • \$\begingroup\$ Ground loops are significant in any signal chain where the SNR becomes inadequate because of interacting currents and fields. You'll need to DRAW the current flows and the return paths, and compute the IR drops and the IZ drops, and the magnetically induced errors. Thus people like planes, perhaps planes with a few smartly-positions slits that steer irksome currents away from delicate regions, for signal chains. For low frequency digital, use the dense-grid as Neil_UK recommended. I watched a guy crank out an auto-routed PCB for LPSTTL, 25 years ago. His ground path was one daisy-chain. \$\endgroup\$ – analogsystemsrf Oct 31 '17 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.