FYI to noobs like me (I2C bus)

kewakl

Senior Member
I am learning I2C communications for an upcoming project.
For learning, I have 2 AXE020's an AXE117 and an AXE022 with an 28X1.

I am using the AXE022 as the I2C Master, the 2 AXE020's as slaves.
the AXE117 is serial-connected to the first AXE020 slave.

The AXE020 - AXE022/117 works fine until I connect the second AXE020 to the I2C bus.
The I2C bus gets clobbered. Two 10K PULLDOWN resistors parallel to the 4.7K resistors kills the electronics and communication on the I2c bus.

Removing the 10K resistor pack from the second 020 slave fixes this.
My thought is to replace the resistor pack with a machined SIL socket and insert a DIP switch pack and the 10K resistor pack so I can switch OUT the SDA/SCL resistors as needed for learning. I will probably do this on BOTH AXE020's as they are learning tools.

kewakl
 

westaust55

Moderator
pull up resistors for i2c bus

Yes,
as a rule there should only be one set of resistors for the entire i2c bus (unless you start using bus extender IC's). One for each of the clock and data lines.

Typically, 4.7kOhm is the recommended value for 100kHz and from information I have read, some do recommend to reduce the values as the frequency increases (eg 1.8kOhm at 400kHz).

The lower resistance increases the speed with which the two lines return to Vcc (+5V) which is necessary for faster comms speeds.
 

hippy

Ex-Staff (retired)
The AXE020 - AXE022/117 works fine until I connect the second AXE020 to the I2C bus. The I2C bus gets clobbered. Two 10K PULLDOWN resistors parallel to the 4.7K resistors kills the electronics and communication on the I2c bus. Removing the 10K resistor pack from the second 020 slave fixes this.
The I2C bus is open collector and therefore needs to be pulled-up, both SDA and SCL lines. That's often done with 4K7's.

With a 4K7 pull-up and a 10K pull-down, when the SDA and SCL lines are not driven, they seem to float up to a level high enough for everything to work ( approximately 3V4 at 5V supply ). Add the second 10K pull-down in parallel and that drops the floating lines to around 2V6 at 5V, and things stop working.

You might be able to get the voltage back up nearer 3V4 by replacing the 4K7 pull-ups with 2K2, though I'd personally remove the 10K's as you have done.
 
Top