Author Topic: I2C bus contention in video 240.  (Read 4155 times)

0 Members and 1 Guest are viewing this topic.

Offline SpiderElectronicsTopic starter

  • Contributor
  • Posts: 32
I2C bus contention in video 240.
« on: January 30, 2012, 12:00:45 am »
Hi Dave
Looks to me like the contention you are seeing in the i2c bus is that the arduino is driving the bus low while the LCD is trying to send you an ACK in the 9th bit.
During the 9th bit the i2c master needs to go Hi-z and let the slave (LCD) drive the data line.

Hope this helps!

-Kenny
 

Offline Rufus

  • Super Contributor
  • ***
  • Posts: 2095
Re: I2C bus contention in video 240.
« Reply #1 on: January 30, 2012, 12:30:23 am »
Looks to me like the contention you are seeing in the i2c bus is that the arduino is driving the bus low while the LCD is trying to send you an ACK in the 9th bit.
During the 9th bit the i2c master needs to go Hi-z and let the slave (LCD) drive the data line.

Yes (except ACK is active low) it is the ACK but having a hardware I2C implementation I don't think the processor can drive SDA high (without configuring the pin back to being an IO port). I know sod all about ATMegas. The LCD module is probably a bit rubbish and can't pull down 10k. The processor might have pullups configured which won't help.
 

alm

  • Guest
Re: I2C bus contention in video 240.
« Reply #2 on: January 30, 2012, 01:14:36 am »
That would be a very wimpy I2C device if it failed to work with 10 kOhm of pull-up at 5V or so. I believe the minimum required current that an I2C device is expected to sink is 3 mA.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 38079
  • Country: au
    • EEVblog
Re: I2C bus contention in video 240.
« Reply #3 on: January 30, 2012, 01:19:47 am »
I'm using 3.3K on 3.3V
Mike suggested it's the COG driver in the LCD being wimpy. That's very likely.
Can test that by chaning the resistor values and seeing how the level changes.

Dave.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf