Dificultades de I2C sobre cable

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. ¿Puede alguien aclararme si y qué tipo de dificultades voy a enfrentar al ejecutar I2C por cable? Leí que I2C puede ser bastante sensible al ruido, especialmente a velocidades más altas y distancias más largas.

¿Qué tan problemático será esto realmente en la práctica en mi caso? ¿Alguien tiene alguna experiencia en condiciones similares? Estoy bastante contento, así que quédese con las tasas de transferencia lentas.

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

Alternativamente, ¿alguien puede indicarme un AN que me ayude con I2C por cable?

Respuestas (1)

Definitivamente necesita 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 flancos de caída rápida, porque los FET que bajan la línea tienen baja impedancia, 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 RC de eso combinado con la capacitancia del cable determina el tiempo de subida. Un valor de resistencia más pequeño es mejor, pero esto también tiene un límite: un dispositivo I2C no tiene que consumir más de 3 mA, por lo que a un voltaje de bus de 5 V, la resistencia no debería ser inferior a 1,7 kΩ.

ingrese la descripción de la imagen aquí

El gráfico muestra la máxima resistencia pull-up para una capacitancia de cable dada. A 1 m, esa capacitancia no será alta, si usa un cable de señal, probablemente menos de 50 pF, e incluso para 100 pF podría llegar a 12 kΩ. Sin embargo, me mantendría cerca del límite inferior, no solo tendrá bordes más rápidos, sino que una impedancia más baja también hace que el cable sea menos sensible al ruido. Las resistencias de 2,2 kΩ probablemente servirán.

Lectura adicional
Especificación
I2C Terminación I2C frente a capacitancia