I2C level shifter

Hi! I'd would interface my Atmel to an another chip that uses a 3v3 logic levels of the I2C standard. I found a lot of methods to doing this.
One of them is the level shifter, or transistor logic shifter.
The circuit is the following: http://tangentsoft.net/elec/bitmaps/i2c-level-shifter.png
I don't understand when the 3v3 section goes to GND due to three state: in this case, with MOS active, the 5V (or slightly less than this) will be saw by the 3v3 part, exceeding the 3,3V maximum admitted voltage. The same when opposite: on 5V section I will see 3V. What I don't understand?

Thanks to all!

That circuit comes from a Philips application note. Google it and it will tell you precisely how it works.

ps: don't forget the body diode.

thexeno:
Hi! I'd would interface my Atmel to an another chip that uses a 3v3 logic levels of the I2C standard. I found a lot of methods to doing this.
One of them is the level shifter, or transistor logic shifter.
The circuit is the following: http://tangentsoft.net/elec/bitmaps/i2c-level-shifter.png
I don't understand when the 3v3 section goes to GND due to three state: in this case, with MOS active, the 5V (or slightly less than this) will be saw by the 3v3 part, exceeding the 3,3V maximum admitted voltage. The same when opposite: on 5V section I will see 3V. What I don't understand?

Thanks to all!

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

Boards like this one implement that circuit: https://www.sparkfun.com/products/8745

Or get a level-shifter chip like the PCA9306.


Rob

Clear.
I saw the NXP part, but I was thinking that there wasn't any detailed explanation. Thanks! :slight_smile: