I2c problem (pull up resistor...)

24 Nov 2010

Hi

I'm trying to connect the mbed and a SAA1064 (7 digit) but I've some trouble with I2c.

I connect resistor between VU (for the 5 volt) and the SDA and SDL but when i put a scope on the line I haven't 5V it is less and different for the 2 wire. And it goes below 0V.

On the SDL the clock is not stable, the impulsion width are not equal.

I don't know what to do.

24 Nov 2010

The mbed works with 3v3. It's better to work with a level converter when connecting 3v3 I2C and 5V I2C lines. If the signals go below 0V, please check the ground wire.

24 Nov 2010 . Edited: 24 Nov 2010

Hello,

you must use the same voltage as the mbed voltage even in pull-up resistors so you must use Vdd = 3v3.

This photo is the general configuration circuit for I2C:

This photo is a special configuration when using multiple voltage at the same system (Level Shifter):

also check this link in NXP website about I2C: http://www.nxp.com/news/backgrounders/bg_esc9727/

Have a nice day

24 Nov 2010
24 Nov 2010

Thx for the rapid answer

So the mbed works with 3.3 and the SAA1064 in 5V and i must ad the 2 MOS to make the connection possible.

Which MOS I have to use?

24 Nov 2010

The BSN10 or BSN20 can be used as MOS FET. Almost the same doc ( also NXP ) See page 13.

http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf

24 Nov 2010

Thx a lot for your help i will test that tomorrow and post a message after. I hope it will be good.

24 Nov 2010

yes Ben thats right Philips BSN10 and BSN20 MOSFETs are all suitable for this level-shifting function in addition to BSS83