Estoy usando un microcontrolador MSP430FR2633 y ADS122C04IPWR DAC sobre I2C a 100kHz.
¿Puedo enrutar las líneas I2C a través de vías en una PCB de 2 capas?
Estoy usando un microcontrolador MSP430FR2633 y ADS122C04IPWR DAC sobre I2C a 100kHz.
¿Puedo enrutar las líneas I2C a través de vías en una PCB de 2 capas?
Respuestas:
A velocidades I2C, vias no le causará absolutamente ningún problema.
Al menos, no hay problemas en términos de resistencia de vía, capacitancia o inductancia. Sin embargo, si tiene una placa de 2 capas, entonces usar ambas capas es mejor hacerlo sistemáticamente, de lo contrario puede tener problemas.
Lo que mucha gente hace es dedicar una capa de una tabla a tierra. Esto generalmente funciona bien, HASTA que comiencen a cortar el terreno con 'solo una pista' en la otra capa. Cuando esta pista se une con 'solo otra', y otra, el suelo termina pareciendo una cortina de encaje. No hace su trabajo, y es difícil determinar dónde y cómo volver a unirlo, especialmente si no tienes experiencia. Peor aún, algunos enrutarán todas las pistas, luego harán un 'vertido de cobre', con la esperanza de que esto sea un buen plano de tierra.
Si está utilizando 2 capas para señales, entonces es mucho mejor comenzar con un plan. Use un arreglo de rastreo 'Manhattan', este-oeste en una capa, norte-sur en la otra. Comience con un 'terreno cuadriculado', coloque pistas paralelas cada 10 mm más o menos, y a través de ellas en cada intersección. Esto funciona casi tan bien como un plano de tierra, y a velocidades I2C es absolutamente tan bueno. Ahora tiene una manera sistemática de ejecutar una pista desde cualquier lugar, a cualquier lugar, y puede saltar al otro lado del tablero exactamente donde lo necesita, sin alterar la continuidad del terreno existente.
Una alternativa es usar un plano de tierra, pero para evitar cortarlo permaneciendo en su capa de señal para todas las señales. Cruce las pistas pasando pistas debajo de los componentes. Puede comprar resistencias de 'cero ohmios' para este propósito, aunque una resistencia de 1 o incluso 10 ohmios será tan buena como un cable a niveles de resistencia I2C.
No debería ser un problema. Estamos utilizando vias en I²C que se ejecutan hasta 800 kHz sin ningún problema.
Lo peor que he visto fue una mala vía, que creó una resistencia en serie en la línea I²C. Eso afectó tanto la velocidad de rotación de la placa que la comunicación I²C falló. Pero eso estaba en una placa prototipo y hasta ahora nunca ha sucedido en una placa de producción.
100kHz es bastante fácil de mover. Nuestro equipo tiene EEPROM I2C montadas en una parte del sistema reemplazable por el cliente, de modo que el controlador leerá automáticamente los cambios en la calibración cuando se reemplace esa parte. Los cables para esto pueden tener metros de largo, y hasta ahora está funcionando bien. Es cierto que tenemos cables de baja capacitancia, pero aún así, una PCB a través de no es gran cosa.
Sin embargo, tenga en cuenta que si bien 100 kHz es la frecuencia estándar I2C original, no es el final de la historia. El "Modo rápido" de I2C permite hasta 400 kHz, el "Modo rápido más" permite hasta 1MHz y el "Modo de alta velocidad" permite hasta 3.4MHz. En cuanto a la hoja de datos, su DAC admite "Fast Mode Plus" hasta 1MHz. Mientras permanezca a 100kHz, básicamente puede hacer lo que quiera porque no es lo suficientemente rápido como para importar, pero si desea ir más rápido en el futuro, entonces debe investigar las reglas de diseño para señales digitales más rápidas.
Dicho esto, el DAC en sí solo puede administrar 2K muestras por segundo. Para un DAC de 24 bits más la sobrecarga I2C asociada, las transferencias de datos solo tomarán alrededor del 70-80% del ancho de banda en un enlace de 100 kHz. Si tiene varios DAC en el mismo enlace I2C, es posible que desee utilizar un enlace más rápido para atenderlos a todos, pero si solo tiene un solo DAC, entonces no tiene una razón para ir más rápido que 100 kHz.