Dificultades de I2C por cable

7

Quiero vincular un PIC16F1825 y un sensor de temperatura TCN75 a través de I2C. El sensor de temperatura está a aproximadamente 1 m de la MCU. ¿Alguien me puede aclarar si y qué tipo de dificultades voy a enfrentar al ejecutar I2C a través del cable? Leí que I2C puede ser bastante sensible al ruido, especialmente a velocidades más altas y distancias más largas.

¿Qué tan importante será este problema en la práctica en mi caso? ¿Alguien tiene alguna experiencia en condiciones similares? Estoy muy contento, así que mantente con las tasas de transferencia lentas.

  • El enlace funcionará a 5V.
  • ¿Qué puedo hacer para hacer que este enlace sea tan simple en diseño y operación como sea posible?
  • Con los cables de señal estándar que no son TP, no sabré su capacitancia. ¿Cómo calculo las resistencias pull-up?
  • ¿Necesitaré resistencias de pull-up o es suficiente la corriente de PIC16?

Alternativamente, ¿alguien puede indicarme un AN que me ayude con I2C a través del cable?

    
pregunta ARF

1 respuesta

11

Definitivamente necesitas resistencias pull-up externas. Los pull-ups internos de un microcontrolador son demasiado débiles. Tenga en cuenta que con un bus de alta capacitancia generalmente no es un problema tener bordes descendentes rápidos, ya que los FET que tiran de la línea baja tienen una impedancia baja, y luego la capacitancia del cable se puede descargar rápidamente.

Pero para el flanco ascendente solo tenemos la resistencia relativamente alta de los pull-ups, y el tiempo de RC combinado con la capacitancia del cable determina el tiempo de aumento. Un valor de resistencia más pequeño es mejor, pero también hay un límite: un dispositivo I2C no tiene que consumir más de 3 mA, por lo que a 5 V de tensión de bus, la resistencia no debe ser inferior a 1,7 kΩ.

Elgráficomuestralaresistenciamáximadepull-upparaunacapacitanciadecabledeterminada.A1m,lacapacitancianoseráalta,siutilizauncabledeseñalprobablementeinferiora50pF,einclusoa100pFpodríasubirhasta12kΩ.Sinembargo,memantendríacercadellímiteinferior,nosolotendrábordesmásrápidos,sinoqueunaimpedanciamásbajatambiénharáqueelcableseamenossensiblealruido.2.2k2.2resistenciasprobablementeloharán.

Lecturasadicionales
Especificación I2C
Terminación I2C versus capacitancia

    
respondido por el stevenvh

Lea otras preguntas en las etiquetas