Cálculo ideal de resistencia pull-up I2C

2

Como parte de una prueba me dieron la siguiente pregunta:

Miintentodiounarespuestaincorrecta.Larespuesta"correcta" es 1000 ohmios, pero tengo problemas para entender por qué. Mi interpretación; El valor mínimo es: $$ R_p = (V_ {dd} -V_ {OL}) / I_ {max} = 9.67 ohm $$ $$ R_p = (3.3-0.4) /0.3 = 9.67 ohm $$ Esto le dará el tiempo de subida más rápido pero la corriente máxima, la pregunta pide minimizar la corriente, por lo que debería apuntar al tiempo de subida más lento permitido. $$ T = 1 / f = 1 / 100k = 10us $$ el tiempo mínimo de espera es el tiempo mínimo durante un período en el que la señal debe mantenerse alta para activar correctamente el nivel lógico. Por lo tanto, \ $ t_2 \ $ del gráfico es: $$ t_2 = T - t_ {mantener} = 10us - 300ns = 9.7us $$ utilizando el valor dado en el gráfico para el umbral lógico alto: $$ V_ {IH} = 0.8V_ {dd} = 0.8 * 3.3 = 2.64V $$ Sustituyendo estos valores en la ecuación dada para encontrar R $$ v (t) = V_ {dd} (1-e ^ {- t / RC}) $$ $$ 2.64 = 3.3 (1-e ^ {- 9.7u / R (200p)}) $$ $$ R = 30.13k $$ el valor de E24 más cercano es 30k (redondeado hacia abajo como 30.13k es el máximo) Esto es muy diferente de su respuesta de 1k, mi pregunta es ¿dónde me he equivocado? Siento que malinterpreté el tiempo de espera o que necesito usar el valor \ $ V_ {IL} \ $ en algún lugar?

    

1 respuesta

3

El tiempo de espera es la cantidad de tiempo durante el cual la señal debe permanecer estable después de el borde del reloj. Cuando la señal es baja y comienza a elevarse en el borde de un reloj, no debe cruzar VIL durante 300 ns. Tienes $$ 0.8 = e ^ {- 300ns / (200pF R)} $$

Sin embargo, eso todavía no te da la respuesta correcta. He echado un vistazo a la especificación I2C aquí . Curiosamente, 300ns solo aparece como el requisito de tiempo de subida cuando estás en modo rápido, que es el modo para 400 kbps. El tiempo que tarda la señal en llegar al VIH es: $$ 0.2 = e ^ {- 300 ns / (200pF R)} $$ Resolviendo para R $$ R = \ frac {-1} {\ ln 0.2} \ veces 300ns / 200pF \ approx 932 \ Omega $$

    
respondido por el user110971

Lea otras preguntas en las etiquetas