Electronic – How to control bi-directional logic line bypassing the open-collector stage

bidirectionalopen-collector

The uBlox Leon G100 GSM modem has a bi-directional RESET_N line (active-low) that controls the reset of the modem but also indicates whether the modem is up or down (modem out MCU in).

Because the RESET_N line can be driven by modem only up to 1.88V we need some level shifting, like one presented in the datasheet:

enter image description here

Is that possible to control the RESET_N line (MCU out modem in) with the same MCU line with no impact on modem out MCU in direction? Of course, this wiring is not enough (connecting collector to ground will have no effect on the base-side).

Is the wiring below any option? It will make modem to draw current from MCU when the MCU input is in high impedance which should not be a problem.

enter image description here

The reason is saving 1 GPIO. I think replacing the 22k pull-up with an internal MCU's pull-up would be an option too.

Best Answer

The reset line on the module has a strange design to be a true bi-directional reset line. And indeed it is not really a bi-directional reset line. The diode in series with the pin on the module makes the RESET_N pin on the module be only a RESET input signal to the module. In the other direction the module cannot pull down the signal at all and will depend on an EXTERNAL pulldown impedance. So what happens is that the module is able to pull the RESET_N signal pin to a high level of 1.88V minus a shottkey diode drop when the module is powered up and active. The module integration guide specifically says that when you want to be able to detect the status of the module that the value of the pull down resistor needs to be at least 680K ohms.

enter image description here