configuración de enrutamiento I2C

4

Tengo varios dispositivos esclavos que se comunican con un microcontrolador maestro en un bus I2C. Mi PCB tiene solo 1 "x 1" y los dispositivos solo se comunican a 400 kHz. ¿Cuál es la mejor manera de conectar todos los periféricos I2C al microcontrolador? ¿En una configuración en estrella o en una configuración en cadena?

    
pregunta Joel B

3 respuestas

11

El retraso de propagación no es un problema con un bus I2C de 400 kHz en una PCB de 1 "por 1". Coloca los trazos de la manera que resulte más clara.

Una regla de oro en el diseño de EMC es que debe considerar los efectos de la línea de transmisión si sus trazos son 1/10 de la longitud de onda de su frecuencia significativa más alta.

Su frecuencia significativa más alta en I2C, que usa resistencias pullup, es el tiempo de caída. Esto es generalmente del orden de 100 ns cuando está controlado por un microcontrolador con I / O bastante rápido. La frecuencia primaria del tiempo de caída de 100 ns es de 5 MHz (lo cual, notará, es mucho mayor que 400kHz).

A 5MHz la longitud de onda es del orden de 100 metros. La regla general dice que no se preocupe hasta que se acerque a 10 metros.

    
respondido por el Kevin Vermeer
5

En su caso (1x1 pulgada, 400 kHz) no importa. Las resistencias pullup pueden estar en cualquier lugar de cada red, y su problema principal puede ser la simplicidad de enrutamiento.

Lo único que hay que tener en cuenta es el acoplamiento capacitivo si tiene otras redes con alto dV / dt. Simplemente manténgase alejado de ellos, o para casos extremos, coloque un trazado deliberado entre las líneas de la CII y las líneas muy ruidosas (probablemente entre las líneas ruidosas y cualquier otra cosa en su circuito si es tan malo necesitarlo).

    
respondido por el Olin Lathrop
4

A ese tamaño de PCB y velocidad de bits, simplemente conéctelos de cualquier forma que facilite el enrutamiento de PCB. Star vs Daisy Chain realmente no importarán

Incluso si su PCB era de 10 "x 10", la topología aún no importaría mucho.

    
respondido por el user3624

Lea otras preguntas en las etiquetas