| FORUM

FEDEVEL
Platform forum

Interface I2c 5v to 3v

Modjo , 12-17-2018, 02:48 AM
Hi, i have made a little schematic to adapt a 5v I2c to a 3.3v logic interface and i would like your opinion/advice on it (before manufacturing !) To do this i used the nxp P82B96 https://www.nxp.com/docs/en/data-sheet/P82B96.pdf. The goal is to interface i2c5v sensor to a MCU (STM32) with 3.3v logic interface
See on the picture joint the schematic.

First question his about the two capacitor C75/76. I'm not sure there is very necessary but in page 13 of the doc they use it ! Do you think it's good idea to add it (sda/scl_3.3v is directly connected to MCU gpio)

Another question i use some mosfet (Q16, Q20 ...) to enable or disable pull-up on i2c bus (for 5v and 3v). The reason is that the card is powered by a battery and i would like to save power when the MCU is in sleep mode. Could you just said me if you see any mistake on this section ? (To enable pull-up i connect the I2C_xV_EN to GND)

Thanks a lot in advance for your help !
robertferanec , 12-18-2018, 03:10 AM
Maybe this could be useful? PCA9617A https://www.nxp.com/docs/en/data-sheet/PCA9617A.pdf

Also, if you really would like to use mosfets to save power, you may consider to use only one on 5V and one o 3V3 - it may not be necessary to use individual mosfet on everything.

PS: There are also different ways to translate, very common one is use mosfets:
Modjo , 12-18-2018, 04:10 AM
Hi Robert and thanks for your answer. In the first version of my circuit i use only one mosfet to enable 5V and one for the 3V. But it could be a problem on I2c pullup bus (interference between scl/sda when a line is down) ? What do you think about the 2 capacitor on scl/sda line ?
Paul van Avesaath , 12-19-2018, 12:44 AM
I would remove V75, C76.
in any case I am wondering why you are not using a dedicated leveltranslator for I2C ? like robert mentioned the PC
I have implemented the max3372 many times.. no problems with it..


Modjo , 12-19-2018, 01:46 AM
Thanks for your answer, i didn't choice the P8296 (it's anither designer), i will have a look on the PCA96 to replace it. Then i will remove the 2 capacitor on I2C line. Otherwise on PCA9617A, it will be better to mcu (3.3v logic) on A or B side (i suppose A side ?)
Modjo , 12-19-2018, 03:37 AM
Under the new schematic
Paul van Avesaath , 12-19-2018, 04:17 AM
Is there a reason for having the option to enable or disable the pull up resistors / power to the IC? isn't the enable pin enough on the PCA..

Typical application of the PCA does not suggest this in any way.. IMHO its a bit overkill..

Tthere must be a reason for it?
But I can only think it could be for a low power solution? but with the enable pin it would go into low power mode.. well sort off...
Modjo , 12-19-2018, 04:42 AM
Yes it's for for low power mode to cut consumption on pullup lines. I apologize but i didn't catch what you say for :

isn't the enable pin enough on the PCA..

Typical application of the PCA does not suggest this in any way.. IMHO its a bit overkill..
robertferanec , 12-19-2018, 05:59 AM
In datasheet of the PCA9617A is an internal schematic. It looks like EN will disable the buffers - maybe high impedance (?) so no currents through pull ups (?). It may need to be tested ... also it depends on what else will be connected to the I2C.

PS: still I do not think you need mosfet for each pull up ... or am I missing something?
Paul van Avesaath , 12-19-2018, 06:27 AM
like robert said.. I think when the enable is disabled.. the current used by the device is in the micro Amps ... but i am not claiming to be the all knowing here.. I have never done it myself, but I have never made a low power system... so maybe its common to do it like that.. I am still curious about the mosfet for the pull up though.. you could change the values of the pull ups to at least 2.2K or maybe more.. (i find 1K a bit harsh) then the current is so low... but anyway.. i guess that is the point that even that is too much..

a quick search for low power I2C translator gave me this one..


Ultra-Low Power Consumption
 7µA VCC Supply Current
 3µA VL Supply Current

thats pretty low power to me...
Modjo , 12-19-2018, 07:47 AM
@Paul van Avesaath thanks for your link ! I think it's perfect for my application. If i understand i don't need pull up on SDA/SDL (integrated on the chip). Just a question i connect 5v to VL side or VCC ?
Paul van Avesaath , 12-19-2018, 07:58 AM
usually the VL side is the lowest voltage... depending on your use of I2C the note below the picture is applicable.. in anycase I would still place them, just to be sure.. you can always not populate them on the board.. also read the part about the TS pin you will still need to be able to disable the VCC or VL pin manually to get that to work properly.. funny thing is that it also explains that in low power operations you still kill power to the device.. so you design makes sense now!
Modjo , 12-19-2018, 09:15 AM
Thanks, what do you think about this (i have kept the external pullup for the prototype in case of ... disconnected by default)
Paul van Avesaath , 12-20-2018, 01:23 AM
i am a bit confused.. but understand it anyway.. I would remove the SB part? just make a variant were you set the two resistors to "not placed" then when you go to prototype there will not be resistors on there.. if you need them you can just add them
Modjo , 12-20-2018, 01:28 AM
Yes ... yesterday i was a little tired. I will remove the sb part and place the resistor in a variant ... Thanks a lot for your help !
Paul van Avesaath , 12-20-2018, 01:33 AM
No problem!
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?