¿Por qué no usamos resistencias desplegables para implementar el protocolo I2C? ¿Y por qué el valor de la resistencia varía en I2C dependiendo de su velocidad?

He leído que tenemos que levantar las líneas SDA y SCK porque las líneas son drenaje abierto/colector abierto. Pero no entiendo por qué no podemos usar el menú desplegable.

En segundo lugar, ¿por qué el valor de la resistencia cambia para diferentes velocidades de operación (creo que está relacionado con un pull-up débil/fuerte, pero no sé qué significa un pull-up débil/fuerte)?

2. Estoy bastante seguro de que es igualación de impedancia. Mayor frecuencia significa mayor impedancia. Lo que requiere una mayor resistencia para que coincida adecuadamente
@Makoto No, principalmente tiene que ver con la capacitancia del bus y los tiempos de subida más rápidos necesarios para una frecuencia más alta.
Oh, está bien, eso tiene sentido. claramente no es mi área :P

Respuestas (2)

I2C es un colector abierto. Lo que eso significa es que usa un transistor npn para sacar la línea de abierta (apagada) a tierra (encendida). Se utiliza un pull up para permitir la variación del voltaje al que trabaja el bus. La resistencia de sus pull ups cambia a diferentes velocidades y tamaño del bus y distancia del cable porque confía en la capacitancia del bus y el valor de la resistencia para cambiar el estado del bus. Es una red RC y el tiempo cambia a medida que cambia la frecuencia. Si su resistencia es demasiado débil, no puede cambiar la señal lo suficientemente rápido a las velocidades i2c más altas. Si es demasiado fuerte, sucede lo mismo y no puede colocar todos los dispositivos en el bus que desea.

La razón por la que no se usan pull downs es porque una señal con referencia a tierra es más fácil que una señal con referencia a VCC, si desea poder usar voltajes arbitrarios en el bus independientemente de VCC. Un transistor PNP de controlador de lado alto necesita un voltaje base cercano al voltaje del colector, lo que lo hace más difícil en comparación con el controlador NPN de lado bajo.

  1. Porque cuando el transistor en la etapa de salida está conectado a GND con su Emisor/Base. Para lograr diferentes niveles de voltaje en la salida entre el estado conductor y no conductor del transistor, debe conectar una resistencia a la tensión de alimentación para completar el circuito, es decir, un pull-up. Con una resistencia a tierra, es decir, un pull-down, no obtendrá ninguna diferencia de voltaje en la salida entre los dos estados, porque no fluye corriente a través de la resistencia debido a la falta de diferencia de voltaje entre GND y GND.
  2. Para velocidades más altas, necesita una resistencia más pequeña para que pueda fluir más corriente y cargar la capacitancia de las líneas de bus más rápido. Si la resistencia del pull-up es demasiado alta, el tiempo de subida de su señal será demasiado alto