Múltiples autobuses SPI, I2C, etc.

0

Mirando las características de xmega avr mcu aquí: enlace Me pregunto por qué hay tanto apoyo de spi o i2c. Hay 5 autobuses spi. ¿Cuál es el uso práctico? I2c e incluso spi pueden usar el mismo bus para muchas contrapartes e incluso cuando hay soporte de hardware, por lo que realmente puede comunicarse en más buses a la vez, no puedo imaginar la necesidad de 5 spi buses.

Entonces la pregunta es: ¿Tiene algún ejemplo del mundo real de tal uso? Puedo imaginar que la memoria externa tiene su propio bus como ventaja. ¿Algo más?

    
pregunta Divisadero

3 respuestas

3

Diseño

Para la PCB, lo más importante si tiene muchos chips en el bus, es la coincidencia de impedancia. Si separa los autobuses, es más fácil porque no necesita pensar (o menos) en la topología de enrutamiento.

Frecuencia de lectura en el chip

Usando un chip por bus, puede aumentar la frecuencia del valor de lectura en el chip . Porque cuando se está ejecutando un bus, puedes usar otro.

Si usas el DMA, es aún más importante. Porque mientras se usa un canal, el DMA puede enviar valor a otro.

Configuración de bus

Si tiene un chip diferente con diferentes configuraciones de bus como:

  • frecuencia de reloj
  • fase de señal
  • polaridad de la señal

No es necesario volver a configurar el bus entre dos accesos.

resumen

La elección depende de tu proyecto, pero si tienes suficiente pin libre para separar a tu jefe, haz esto.

    
respondido por el mole
2

Simplicidad de programación

No tiene que preocuparse por arbitrar dentro de su programa, o elegir cómo priorizar el acceso al bus; solo colóquelos en diferentes buses y controlelos desde diferentes manejadores de interrupciones.

Simplicidad eléctrica

Debe preocuparse menos por la carga del bus, y el enrutamiento puede ser más sencillo en lugar de tener que colocar todos los dispositivos en un bus largo, especialmente si están en lados opuestos de la PCB.

ID duplicados

Puede abordar fácilmente dos del mismo periférico con la misma ID colocándolos en diferentes buses.

    
respondido por el pjc50
1

Pequeño complemento para la respuesta de pjc50:

Diseño de PCB

Si tiene 5 periféricos idénticos, obviamente no están conectados a los mismos pines en el paquete, por lo que incluso si usa solo uno de ellos, puede elegir efectivamente los pines que quiere usar, esto ayuda en el diseño de PCB.

Por otra parte, las diferentes MCU pueden tener menos periféricos, pero una red de multiplexación más complicada que le permite elegir qué pines deben asignarse a un periférico en particular.

    
respondido por el filo

Lea otras preguntas en las etiquetas