This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I2C/SMBus level translating

Hello,

I have a MCU supplied by Vdd = 2.5 V to 3.3 V (depending on SOC of battery) which acts as SMBus slave device. MCU pins are not compliant nor tolerant with voltages higher than Vdd.

On the other side of the bus, there is a SMBus master which provides pull up resistors. Ideally the SMBus master should be able to pull the bus anywhere within SMBus allowed voltages (3 to 5 V +-10%, i.e. 2.7 to 5.5 V). SMBus master and SMBus slave are connected through SCL, SDA and GND wires (no wire for sensing VDD of SMBus master).

Obviously, there must be some converter between SMBus slave and SMBus master (imagine that SMBus master pulls the bus to 5 V - as SMBus slave is not 5V tolerant its internal clamp diodes would cause current flow to its supply rail). The converter must be placed at SMBus slave side allowing master to connect bus pullups to arbitrary voltage (within 2.7 V and 5.5 V).

Is there any level shifter for my situation? Also power consumption is important. I target for uA range.