I2C EMI suggestions - Page 1
Forum section: electronics / beginners

author: pcblearner
author_rank: Contributor
timestamp: April 21, 2015, 12:44:28 pm
content: HelloI have a PCB I am designing and I am trying to make sure it behaves with regard to EMC. For the most part, my traces are all short and there is a solid ground plane so that all signals have returns directly beneath them.There are these two problematic traces though.. that need to stretch from one side of the board to the other. They are I2C signals (SDA/SCL). I am not sure if this could generate excessive EMI emissions and if it could, what sort of component could you suggest to minimise the likelihood?Thanks for any help - I usually learn things by doing them, but EMC is mysterious to me because I don't have the expensive equipment required to actually see the results of circuits I make.

author: MMDuino
author_rank: Regular Contributor
timestamp: April 21, 2015, 01:24:14 pm
content: HelloCould you please be more specifically about your question?cause i think you want to transfer an I2C Signals through 2 sides,, do you mean that?Quote from: pcblearner on April 21, 2015, 12:44:28 pm

author: AndyC_772
author_rank: Super Contributor
timestamp: April 21, 2015, 01:29:46 pm
content: I2C is rarely a major EMC problem. Rising edges are slow, because they're pulled up with a fairly high resistance (2K is typical), and this limits the rise time. Falling edges are faster, but if you're worried, you can try putting a ferrite bead in series with the drivers.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: April 21, 2015, 01:39:19 pm
content: Quote from: AndyC_772 on April 21, 2015, 01:29:46 pm^^^Also, avoid using I2C over connectors (ribbon cables, etc.). It'll fail susceptibility easily. If it all stays on the board, it should be fine. (Board-to-board connectors maybe need a little caution, so provide plenty of extra ground pins, and/or grounded metal standoffs.)Tim

author: pcblearner
author_rank: Contributor
timestamp: April 21, 2015, 01:43:48 pm
content: Thanks for the advice everyone. Very useful!Quote from: T3sl4co1l on April 21, 2015, 01:39:19 pmErr... actually, I am doing exactly that.I am passing i2c signals between a few boards that sit within an enclosure. Maximum wire length is 30cm. Should I be using a shielded cable, or wrapping a ground return around it or simiar? Got me worried now....

author: T3sl4co1l
author_rank: Super Contributor
timestamp: April 21, 2015, 09:08:29 pm
content: Lots of grounds (e.g., every other pin = GND) helps, which might be okay for inter-board use. If you have other grounds (e.g., grounded standoffs) connecting between boards, a ferrite bead on the cable will help with ground loop.At certain frequencies, the boards will act as capacitors against the total inductance of the cable, and resonate as a (somewhat electrically small) dipole; the voltage developed between boards can couple into high impedance traces, but generally the bigger problem is that all that voltage drop occurs along the cable. But not all the wires in the cable are perfectly coupled, so a difference develops between wires; when the wires are signal and ground, you get RF on signals that aren't supposed to have RF, and you get susceptibility problems.Just adding a FB to the cable helps dampen the resonance, shifting it down and reducing the peak amplitude. This can be enough. It can also help to ground between boards, which shorts out the dipole mode; you still have to worry about the inductive loop (between board grounds and the cable), but the lower impedance means a ferrite bead (which has a modest impedance at most frequencies -- 10s to 100s of ohms) will be more effective in breaking that loop.Reciprocally, you will get some emissions from the  signals; definitely use the ferrite bead suggested (anything 200-1000 ohms is probably good enough), maybe even an R+C to limit slew rate (not so much R that the bus level no longer meets V_IL against the pull-up, and enough C so that the edge is maybe 1/20th the minimum clock pulse width). Use the R+C (or FB + C) at each end, using total C in the above calculation.You might also consider redesigning for SPI, which being based on unidirectional signals, can be controlled more effectively (static low impedance drivers -- source and/or load termination is acceptable), and for longer runs, can be trivially coupled with RS-422 transceivers (usually load terminated).Attempting all of these at once would be overwhelming (and overkill), but you can pick a few of these options to try -- it's always better to have the footprints available, then DNP/substitute later as needed. The more you can prepare for EMC, the smoother testing will go; at best, all those extra passives can just get DNP'd/jumpered over!Tim

author: free_electron
author_rank: Super Contributor
timestamp: April 22, 2015, 12:11:13 am
content: Quote from: T3sl4co1l on April 21, 2015, 01:39:19 pmnah. i've ran i2c very far without problems.emission is a matter of limiting rise and fall times.susceptibility is a matter of making the lines 'hard' (low impedant). NXP has very nice drivers for longer distances. one can do even a kilometer at low clockspeeds.take a shielded twisted pair cable. couple scl with power and sda with ground.I2C is successfully used in big computer servers and telecom racks (IPMI and ATCA) where these buses run from blade to blade to do things like power monitoring, temperature monitoring and many other things.

author: pcblearner
author_rank: Contributor
timestamp: April 22, 2015, 01:15:48 am
content: Quote from: T3sl4co1l on April 21, 2015, 09:08:29 pmThank you, this has given me some good directions to research further