Electronics > Beginners

i2c pull-ups current

<< < (4/4)

wraper:

--- Quote from: 0xdeadbeef on May 31, 2019, 04:51:18 pm ---
--- Quote from: wraper on May 31, 2019, 03:37:47 pm ---I2C has nothing to do with interfacing devices powered from different voltage and generally you cannot do so without taking special measures. Pull-ups and open drain outputs are for attaching multiple devices on a single bus, nothing to do with 3.3V/5V tolerance. So internal pull-ups don't contradict with any ideas of I2C.

--- End quote ---
I2C is designed to be pulled up externally which allows using 3.3V and 5V devices on a common bus. Of course this only works if 3.3V devices use 5V tolerant pins.

--- End quote ---
I2C is not intrinsically designed for it and if it works, it's only a feature of particular IC and has nothing to do with I2C standard.

--- Quote ---Using internal pullups contradicts this idea as different pullup voltages working against each other would obviously create issues.
--- End quote ---
I wonder how your idea suddenly became a part of I2C specification?

--- Quote ---And usually only these pins are fully 5V tolerant for 3.3V microcontrollers.
--- End quote ---
5V tolerant MCU open drain only outputs are a rarity rather than common thing. If you enable high side MOSFET when pin is pulled up to higher voltage than Vdd, means that you are dumb, not that pin is not 5V tolerant.

0xdeadbeef:
Sadly, this forum starts to become like the rest of the internet. It's kinda impossible to post anything without running into someone who seems to be only interested in polishing his ego.
This being said, I'd strongly advise to read up some datasheets instead of trying to share your superficial knowledge. Anyway, I'm out of here as there is obviously no way of agreeing with some people. Topic is on my ignore list, so don't bother.

wraper:

--- Quote ---I'd strongly advise to read up some datasheets instead of trying to share your superficial knowledge.
--- End quote ---
I advise you reading I2C specification. https://www.nxp.com/docs/en/user-guide/UM10204.pdf

EDIT: "5V tolerant" is not a part of I2C specification. If going other way around and pulling-up to 3.3V with 5V devices used, then VIH which is VDD*0.7V will be out of spec for 5V devices.
BTW initially I2C was 5V only interface, only afterwards support for other voltages was added to specification.

ejeffrey:

--- Quote from: 0xdeadbeef on May 31, 2019, 04:51:18 pm ---I2C is designed to be pulled up externally which allows using 3.3V and 5V devices on a common bus. Of course this only works if 3.3V devices use 5V tolerant pins. Using internal pullups contradicts this idea as different pullup voltages working against each other would obviously create issues.

--- End quote ---

I2C uses open-drain to avoid contention on bidirectional pins.  It doesn't actually specify the termination voltage which can be almost anything, and doesn't require devices to be tolerant of any specific voltage levels.  Interoperation between 3.3V and 5V logic is one possibility but is not part of the specification and not required.  Lower voltage devices like 1.8 V logic are extremely unlikely to be 5V tolerant.

wraper:

--- Quote from: ejeffrey on May 31, 2019, 06:23:20 pm ---It doesn't actually specify the termination voltage which can be almost anything, and doesn't require devices to be tolerant of any specific voltage levels.

--- End quote ---
About this I2C specification has to say:

--- Quote ---VIL LOW-level input voltage −0.5 - 0.3VDD[1] V
VIH HIGH-level input voltage 0.7VDD[1] - VDD + 0.5 V
--- End quote ---

--- Quote ---[1] Devices that use non-standard supply voltages which do not conform to the intended I2C-bus system levels must relate their input levels
to the VDD voltage to which the pull-up resistors Rp are connected.
--- End quote ---
So you can vary pull-up voltage in certain range as long as it does not fall out of input logic level voltage spec. But as you go above VDD for particular IC, it's up to particular IC spec, not I2C specification as such.

Navigation

[0] Message Index

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod