3.7.5.6 Simple FET Circuit for Open-Drain Signals
Sometimes, it is impossible to move the pull-up resistor to the IO rail domain since there is already
a pull-up resistor on the peripheral rail. Maybe this pull-up resistor is inside the peripheral device
and cannot be switched off. The simple FET circuit in Figure 46 can offer a solution for blocking
backfeeding. This circuit also works for bidirectional open-drain signals such as I2C and can be
used as a low-cost level shifter.
Figure 46: Simple FET circuit for open-drain signals
3.7.5.7 Blocking Diode
Another solution for low-speed signals is to use a diode and a pull-up resistor for blocking
backfeeding. The pull-up resistor must be on the same voltage domain as the IO rail of the input
side. Most SoC GPIO pins have configurable internal pull-up resistors. This can eliminate the need
for an external resistor. The advantage of the internal resistor is that it is using the correct IO rail.
The biggest drawback of this solution is that the low level of the signal is increased. Therefore,
using a Schottky diode is recommended due to the smaller forward voltage drop. Make sure the
specified maximum low level of the input pin is not violated.
Figure 47: Diode circuit for backfeeding prevention with an on-chip pull-up resistor