Pull up múltiple para pines I2C

2

Algunos dispositivos como la placa MCU o el módulo del sensor tienen las patillas SCL, SDA internamente levantadas. Si descubre que la resistencia de levantamiento no se ha seleccionado correctamente, ¿cómo puede solucionarlo sin romper la MCU o el sensor?

  1. ¿Está bien agregar una resistencia de extracción externa? Suponiendo que la tensión de activación externa sea la misma que la tensión de activación interna.

  2. ¿Qué sucede si los dos niveles de voltaje son diferentes? Supongamos que el pin SCL se eleva a 1.83V internamente, pero lo subes nuevamente a 1.90V externamente. ¿Podría estar rota la MCU o el sensor? Cuando se libera el SCL, la corriente fluiría desde la resistencia externa, la resistencia interna y luego al regulador de voltaje de su dispositivo. ¿Podría afectar al riel de alimentación en su dispositivo?

pregunta SD11

1 respuesta

3

En general, es aceptable agregar una resistencia externa en todos los casos. Incluyendo cuando hay un desajuste de voltaje pequeño . Si calcula la corriente de su ejemplo anterior, el pull-up de MCU (suponiendo. 22k interno) disiparía \ $ (1.90-1.83) ^ 2 / 22k = 220nW \ $.

Con I2C, la única preocupación real es que tiene un rango de resistencia de pull-up para manejar los siguientes dos requisitos:

  1. Usted proporciona suficiente corriente para rápidamente tirar de la línea a un nivel alto (dar es una buena ventaja).
  2. Tienes suficiente resistencia para prevenir la dispositivos transistores internos de sobrecalentamiento o no tener suficiente Conducción para tirar de la línea baja.

Ten en cuenta que la resistencia total de la línea a Vcc será la combinación paralela de todos los pull-ups, internos y externos.

Finalmente, para responder a su pregunta acerca de cómo afectar el riel de alimentación, suponiendo que tiene una buena regulación de la potencia, la diferencia de voltaje debe disiparse a través de la resistencia. Si tiene una fuente de alta impedancia, podría ver un pequeño efecto en el bus de suministro. Realmente esto es dependiente de la aplicación.

    
respondido por el MadHatter

Lea otras preguntas en las etiquetas