Estaba buscando en la guía de selección de productos NXP para microcontroladores ARM . Hay varios módulos I2C en la mayoría de las MCU ARM.
Dado que I2C es un protocolo multi-esclavo multi-maestro, ¿hay alguna ventaja clara en este enfoque?
Estaba buscando en la guía de selección de productos NXP para microcontroladores ARM . Hay varios módulos I2C en la mayoría de las MCU ARM.
Dado que I2C es un protocolo multi-esclavo multi-maestro, ¿hay alguna ventaja clara en este enfoque?
Dos beneficios claros de los buses I2C independientes son el aislamiento y el rendimiento.
Un corto en un bus I2C detiene la comunicación con todos los dispositivos en ese bus. El riesgo de cortocircuito es generalmente mayor con los buses I2C que van a los conectores y fuera de la placa. Por lo tanto, múltiples controladores I2C le permiten tener uno para dispositivos integrados y otro para dispositivos externos. Si tiene varios destinos externos, un bus I2C separado para cada destino reduce las consecuencias de un cortocircuito en cualquiera de esos buses.
Igualmente, los buses largos que se ejecutan fuera del tablero serán más difíciles de mantener dentro del límite de capacitancia en una buena disposición de múltiples caídas, ya que una disposición en estrella tiende a ocurrir. Esto conduce a peores tiempos de bus alcanzables debido a las reflexiones de los apéndices de las redes. Los buses separados se pueden ejecutar a diferentes velocidades y se pueden organizar en un diseño multi-drop más lineal.
Si sus dispositivos I2C necesitan un alto rendimiento o solo una baja latencia, se necesitarán menos dispositivos por bus para lograr esto.
Podría resolver algunos de estos problemas con los CI de aislamiento de bus I2C. Pero los maestros múltiples son baratos de colocar en un solo microcontrolador y mantienen el conteo de chips hacia abajo.