(Soy principalmente de un fondo de software y recién comencé a trabajar en una plataforma integrada. Disculpe si esta es una pregunta ingenua ...)
Estoy planeando escribir un controlador para una EEPROM que está conectada a la MCU a través de un bus I2C. Así que estoy leyendo un tutorial sobre el bus I2C.
El tutorial dice:
Las líneas SCL y SDA son controladores " de drenaje abierto ". Lo que esto significa es que el chip puede reducir su salida, pero no puede hacerlo alto. Para que la línea sea alta debe proporcionar resistencias de pull-up A la oferta de 5v. Debe haber una resistencia desde la línea SCL hasta la Línea 5v y otra desde la línea SDA hasta la línea 5v. Solo necesitas Un conjunto de resistencias pull-up para todo el bus I2C, no para cada uno. dispositivo, como se ilustra a continuación:
La parte roja en la imagen anterior es agregada por mí. Supongo que así es como es la imagen completa.
Mis preguntas son:
- ¿Mi adición de la MCU roja es correcta?
- La parte en negrita el chip es la MCU roja, ¿verdad?
- ¿Por qué es cierto que el chip no puede aumentar su nivel ? ¿Está unable o forbidden para?
- ¿Qué significa drenaje abierto en inglés simple?
Busqué un poco pero parece que no puedo encontrar una explicación clara ... tal vez una analogía ayude.