I2c comms between boards

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

JAY X

Well-known member
Joined
Jan 9, 2009
Messages
696
Hi!

I have a 500 series stereo/dual mono compressor idea, that may involve using i2c communication between each compressor microcontroller (AVR atmega4809).

Each mono compressor has a part of its sidechain controlled by this microcontroller. Ok so far. But i also want to communicate each microcontroller between them, by i2c. 10-15cm two wires, SDA & SCL. Is that all? That simple? Can I use shielded wire with gnd cut at the receiving end? twist the wires? or there is something more? dedicated transceivers for differential transmission?

jay x
 
I've connected a small display unit to an Arduino using 15cm of twisted wire, works fine.

Maybe sheild it because it's an audio device, single sided connection of sheild is fine.
 
The thing to watch out for is the maximum rise time of the SDA line, when transmitting a 1 down the line. A 1 is sent by the bus master "letting go" of the SDL line, which leaves the pull-up resistors to pull the line "high" through the bus capacitance. If you have a long(ish) line, and have significant capacitance due to shields, you may not ever be able to transmit a '1' down the line.

https://www.ti.com/lit/an/slva689/slva689.pdf

From figure 3, with a 4.7kOhm pull up, total bus capacitance cannot exceed about 250pF in standard mode (100kHz). In fast mode (400kHz) it is far less (roughly 50pF).
 
I made a console with more than 1m length of i2c using flat cables. No worries. I used a buffer in the chain before that 1m length but i'm not even sure it was necessary.

I2c is also used for computer peripherals (that's how a vga or dvi monitor will tell the computer about its brand and model). So it can deal with quite a bit of length.
 
Back
Top