¿En qué momento la interferencia en I2C se convierte en un problema?

4

Si tengo un par de trazas I2C (SDA y SCL) en un tablero de 1 onza, cada una de 8 mil de ancho y separadas por una brecha de 8 mil, ¿cuánto tiempo deben transcurrir antes de que la interferencia se convierta en un problema?

Editar:

Pido disculpas por no haberlo aclarado antes, pero estaba preguntando desde un punto de vista teórico, y con todo lo demás considerado igual.

Estaba verificando los tiempos de subida en un bus I2C, y los picos de interferencia fueron más grandes de lo que hubiera esperado (300-400mV). Después de leer algunas de las respuestas, medí el tiempo de caída: se trata de 15 nS y, según mis cálculos, debo tener aproximadamente 80 pF de capacidad en el bus.

    
pregunta PDug

4 respuestas

5

La interferencia no suele ser un problema, cuando el bus I 2 C está contenido dentro de una sola PCB y las resistencias pull-up tienen el tamaño adecuado. A medida que crece el tamaño del bus, la capacitancia del bus se convertirá en un problema antes de que la interferencia se convierta en un problema.

Si piensa que la capacitancia entre SDA y SCl es alta, ejecute una traza conectada a tierra entre ellos.

( Fuente )

    
respondido por el Nick Alexeev
2

Supongo que las huellas tendrían que ser paralelas para muchos pies antes de que veas una interferencia significativa. Siempre puede consultar esta aplicación gratuita e informarnos a nosotros. : o) enlace

Un par de otras cosas, la peor ventaja será la caída de SCL o SDA, ya que son impulsadas por un pulldown activo de n-ch. Pero si el fabricante de chips sigue la especificación de NXP, el desplegable es un encendido de múltiples etapas del desplegable de n-ch que resulta en un borde controlado de velocidad de giro. Y no es probable que sea una transición de 5 ns desde alta hasta baja (y, por lo tanto, sin efectos de línea de transmisión). Me preocuparía más si el ruido de la fuente de alimentación eleva el voltaje de la toma de corriente o si falla el suministro de Vdd.

    
respondido por el gman
2

Aunque no puedo decir cuándo sucederán los problemas, en un sentido práctico, puedo decirle lo que se recomienda.

Phillips, el creador de i2c, recomienda un pinout SDA VDD VSS SCL en el cable por esa misma razón.

  

El motivo de la disposición inusual de las líneas de alimentación entre los cables I2C es detener la diafonía. Es decir, los bordes de SDA y SCL se juntan. La colocación de VDD y GND entre SDA y SCL significa que la capacitancia en cada línea de señal es igual (para cable de 4 hilos)

     

Esta es la recomendación de Philips. El patrón es el establecido en la sección 17.3 de la Especificación de bus I2C. (También hay recomendaciones para par trenzado)

     

Si la longitud de las líneas de bus supera los 10 cm (cable plano o en pcbs)
  Esta disposición tendrá una carga de capactive similar en SDA y SCL.
  Donde no usas los pines 5 y amp; 6, puede ser mejor usar solo 4 cables. Para carreras más largas, use la función de giro y cinta plana, o divida 5 y 6 de 1-4
  Evite el cable agrupado donde los conductores no sean pares trenzados individualmente o apantallados individualmente.

Énfasis mío. De las Especificaciones actuales (Sección 17.3) :

  

Estos patrones de cableado también resultan en cargas capacitivas idénticas para las líneas SDA y SCL. Las líneas de VSS y VDD se pueden omitir si se usa una PCB con una capa de VSS y / o VDD.

     

Si las líneas de bus son pares trenzados, cada línea de bus se debe torcer con un retorno de VSS. Alternativamente, la línea SCL se puede torcer con un retorno de VSS y la línea SDA con un retorno de VDD. En este último caso, se deben usar condensadores para desacoplar la línea VDD a la línea VSS en ambos extremos de los pares trenzados.

     

Si las líneas de bus están blindadas (blindaje conectado a VSS), la interferencia se minimizará. Sin embargo, el cable blindado debe tener un acoplamiento capacitivo bajo entre las líneas SDA y SCL para minimizar la interferencia.

Tener un plano de tierra (o plano vcc) debajo de las trazas es suficiente, de acuerdo con NXP / Phillips.

Ahora, para ser honesto, actualmente uso un cable de 10 PULGADAS (25 cm), con SDA / SCL trenzado, y por separado, VCC y Gnd. Funciona bien a la velocidad de 125 kHz que estoy usando, sin errores ni errores, y estoy haciendo casi lo contrario de lo que dice que debo hacer. Si bien la sección 17.3 no menciona que solo se trata de velocidades de 400 kHz o 1000 kHz, parece ser muy cauteloso.

    
respondido por el Passerby
0

FWIW, empiezo a ver interferencias bastante severas (~ picos de amplitud de ~ 1V) con ~ 2 metros de cable (estilo M8x4 industrial, conductores de 24awg, giro de luz). VDD = 5V, f_sck = 100kHz. El sistema todavía funciona sin ningún error visible, pero parece una mierda en un ámbito. La resistencia en serie (Rs en la especificación i2c) reduce las interferencias.

    
respondido por el aaa

Lea otras preguntas en las etiquetas