Estoy buscando un circuito de cambio de nivel bidireccional para conectar un controlador de 3.3V a un componente de 1.8V que no sea tolerante a 3.3V. Por lo general, estoy usando el conocido circuito de cambio de nivel, por ejemplo, enlace . Este circuito generará un alto nivel lógico en cualquiera de los extremos, a menos que un extremo se arrastre hacia abajo, lo que hace que el otro extremo también descienda. Esto funciona bien para sistemas de bus como I2C o One-Wire donde los cables del bus generalmente se conectan a Vcc usando resistencias.
Sin embargo, ahora tengo que interactuar con un sistema de bus (MIPI RFFE) que usa resistencias desplegables para configurar las líneas de bus al nivel de GND a menos que un dispositivo de bus lo lleve a Vcc. El circuito de cambio de nivel bidireccional no funciona en estos casos (al menos no bidireccional, pude hackear algo para dispositivos que solo requieren escritura). De lo contrario, el autobús es muy similar a I2C.
¿Alguien puede indicarme un circuito que implementa un cambio de nivel bidireccional que emite una señal BAJA a menos que un extremo se active de forma ALTA?
Adición 1: con respecto a los comentarios que usan MOSFETS de canal P y resistencias desplegables.
¿No causaría eso la pérdida de la capacidad de cambio de nivel del circuito? Por lo que yo entendí, el cambio de nivel basado en pull-up los resistores Pull-Up causan un alto potencial en cada extremo y el transistor está "cerrado". Ahora, cuando un extremo tira de la línea a un nivel bajo, el transistor se abrirá en cualquier caso, conectando ambos extremos y, por lo tanto, también bajará el otro lado. Supongo que la razón por la que esto funciona es que el potencial BAJO es el mismo para ambos lados del circuito.
Supongo que cuando uso un MOSFET de canal P con resistencias desplegables, cualquier potencial ALTO que se aplique a un extremo también aparecerá en el otro extremo, que va en contra del requisito de cambio de nivel. ¿O me estoy perdiendo algo aquí?