En el protocolo I2C, el dispositivo funciona en colector abierto o en modo de drenaje abierto. Los dispositivos (tanto el microcontrolador como la EEPROM) pueden llevar los pines a cero lógico (cero fuerte, suponiendo que literalmente toman las líneas y lo cortan a tierra).
La lógica solo se logra mediante los pull ups que se proporcionan externamente. Tire de la resistencia está en kilo ohms. (Veremos los valores en un momento). Habrá una capacitancia parásita en el bus debido a la conexión de varios dispositivos I2C, capacitancia de PCB, etc.
Cuando la señal está alta, la corriente tiene que fluir desde VCC a través de la resistencia de recuperación hacia arriba y hacia los pines IC. Por lo tanto, la constante de tiempo RC se activa .. Hace que el aumento de la señal sea descuidado. Ejemplo, si la capacitancia es de 100pF y la de subida es de 10kohms. El tiempo de subida será cinco veces R * C. Aquí, será 5us.
El tiempo de caída no será un problema porque será casi instantáneo. Desde los pines del IC a tierra. No hay resistencias en el camino para retrasar.
Pregunta 2
Habla de capacitancia de bus: la única referencia que puedo encontrar en el
hoja de datos de la EEPROM es pin capacidad (10 picofaradios) - es esto
una y la misma?
Sí. Además de la capacitancia de la MCU y también de la capacitancia parásita de la PCB y la capacitancia de la traza de la PCB ... Mantendría un margen de 20pF extra para aquellos que no sean parásitos del dispositivo.
Pregunta 4
Valores mínimos y máximos de recuperación
Supongamos que el pull up es fuerte (resistencia de bajo valor).
Cuando la MCU emite un nivel bajo, hay una conexión entre el valor de resistencia de recuperación de VCC --- > --- --- > MCU --- > nMOSFET del pin de MCU (que está activado) --- > suelo.
En este caso MCU se hunde más actual. Esto también significa que la MCU comienza a generar voltaje en el pin de salida (salida baja). Este voltaje se debe a una pérdida óhmica a través del nMOSFET del pin MCU. Tendrá una resistencia finita. Por lo tanto, el voltaje de salida de la MCU no será verdadero a cero, sino a unos 100 mV (un ejemplo) que debería estar todavía dentro de su especificación OL de V .
Para caso de pull up débil (valor de resistencia muy alto, digamos 100kohms)
Suponga que la corriente de entrada del reloj EEPROM es 10uA. También puede ser más alto.
Cuando la MCU controla el pin del reloj, MCU libera el pin del reloj ... EEPROM ve alto debido a VCC ... Pero, ¿cuál será exactamente el voltaje en la entrada del reloj de la EEPROM?
Veamos si VCC es 3.3 V .. Luego, debido a la corriente de entrada del pin del reloj de 100uA, habrá una caída de 10 uA * 100k a través de la resistencia, que es de 1000mV o 1V .. Por lo tanto, el voltaje en el pin del reloj será solo de 2.3 V .. Por lo tanto, uno tiene que cuidar el alto voltaje de entrada al elegir una resistencia débil de levantamiento.
Más importante aún, si la resistencia es demasiado alta, las posibilidades de fallar en el protocolo requerido aumentarán el tiempo.