¿Podría alguien explicar cómo el drenaje abierto io actúa como bidireccional. Si es realmente bidireccional o puede actuar sólo como entrada o salida a la vez.
Respuestas
¿Demasiados anuncios?La línea se lee a través de una entrada de alta impedancia. La línea está controlada por el mosfet interno de canal n y la resistencia de pull-up. Al apagar el mosfet, libera la línea por lo que es una entrada pasiva. Al encender el fet, intenta forzar la línea a baja, pero sigue leyendo la entrada para comprobar si la línea es lógica baja o no.
simular este circuito - Esquema creado con CircuitLab
Depende del dispositivo en cuestión. Si estás hablando de un microcontrolador o un chip que utiliza algo de comunicaciones I2C, el propio chip puede tanto monitorizar la línea para ver cuál es el nivel lógico actual así como conducir esa línea LO para señalar otros dispositivos.
Sin embargo, hay amortiguadores de drenaje abierto en los que el amortiguador puede conducir la línea LO pero no puede monitorear la línea para leer su nivel lógico actual.
Tomemos el ejemplo de un microcontrolador. Puedes establecer el pin como una salida y conducirlo a LO para señalar otros dispositivos en el bus o puedes establecer el pin como una entrada y leer el nivel actual en el bus. Ambas acciones son posibles en un solo pin, en lugar de requerir pines separados para la entrada y la salida.