I2C routing configuration

Propagation delay is not a problem with a 400kHz I2C bus on a 1" by 1" PCB. Lay the traces out in whatever way gives the cleanest routing.

A rule of thumb in EMC design is that you need to consider transmission line effects if your traces are 1/10 the wavelength of your highest significant frequency.

Your highest significant frequency in I2C, which uses pullup resistors, is the fall time. That's usually on the order of 100ns when controlled by a microcontroller with fairly fast I/O. The primary frequency of the 100ns fall time is 5 MHz (which, you'll note, is much greater than 400kHz).

At 5MHz the wavelength is on the order of 100 meters. The rule of thumb says don't worry about it until you get close to 10 meters.


In your case (1x1 inch, 400 kHz) it doesn't matter. The pullup resistors can be anywhere on each net, and your main issue can be routing simplicity.

The only thing to watch out for is capacitive coupling if you've got other nets with high dV/dt. Just keep somewhat away from those, or for extreme cases, put a deliberate ground trace between the IIC lines and the very noisy lines (probably between the noisy lines and anything else in your circuit if it's so bad to need this).


At that size of PCB, and bit rate, just connect them up in whatever way that makes PCB routing easier. Star vs. Daisy Chain won't really matter.

Even if your PCB was 10" x 10", the topology still wouldn't matter much.

Tags:

Routing

I2C