Electronic – Bi-Directional Level Shifter Circuit with pull-down resistors


I'm looking for a bi-directional level shifter circuit to interface a 3.3V controller to a 1.8V component which is not 3.3V tolerant. Usually I'm using the well-known level shifter circuit, e.g., https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide. This circuit will output a high logic-level on either end unless one end is pulled low which causes the other end to go low as well. This works well for bus-systems such as I2C or One-Wire where the bus wires are usually pulled to Vcc using resistors.

However, I now have to interface with a bus-system (MIPI RFFE) that uses pull-down resistors to set the bus lines to GND level unless a bus device pulls it to Vcc. The bi-directional level-shifter circuit does not work in these cases (at least not bi-directional, I was able to hack something for devices that only require writing). Otherwise the bus is very similar to I2C.

Can anyone point me to a circuit that implements a bi-directional level shifter that outputs a LOW-signal unless one end is actively driven HIGH?

Addition 1: Regarding the comments using P-Channel MOSFETS and Pull-Down Resistors.

Wouldn't that cause the loss of the level-shifting capability of the circuit. As far as I understood the pull-up based level shifter the Pull-Up resistors cause a High potential on either end and the transistor to be "closed". Now, when one end pulls the line low, the transistor will open in any case connecting both ends and hence, pulling the other side low as well. I guess the reason that this works is that LOW potential is the same for both sides of the circuit.

My guess is that when I use a P-Channel MOSFET with pull-down resistors, whatever HIGH-potential is applied to one end will also appear on the other end which goes against the level-shifting requirement. Or am I missing something here?

Best Answer

This part from TI might be functional in your application: