configuración de un bus SPI con diferentes dispositivos esclavos

0

Necesito hacer un bus SPI a bordo con un maestro y unos pocos dispositivos esclavos (tarjeta microSD, giroscopio, sensor de campo magnético). Ya que es la primera vez que uso más de un dispositivo esclavo, quería saber de qué debo tener cuidado.

Desde mi entendimiento de la interfaz SPI, está bien que los esclavos tengan diferente polaridad / fase de reloj, diferente formato de marco de datos (LSB / MSB primero, ancho de bits). También estaría bien que uno use el pulso de señal SS entre paquetes, mientras que otros no usan eso. Aquí asumí que el dispositivo maestro (una MCU) cambia su configuración antes de iniciar la comunicación con cada uno de los esclavos. Además la conmutación entre los esclavos no tiene que ser rápida.

Hasta donde yo determine el nivel lógico, el número de líneas (full-duplex / half-duplex), entonces no tengo que preocuparme por otros parámetros en la configuración del bus. ¿Podría uno confirmar si esto es correcto?

    
pregunta Nownuri

2 respuestas

2

Básicamente tienes razón, pero te faltan algunos puntos importantes:

  1. debe asegurarse de que cada dispositivo sepa inequívocamente que es el que se está abordando.

  2. Debe comprender exactamente cómo reacciona cada dispositivo a la actividad del bus.

Para (1) normalmente tiene selecciones de chips individuales para cada dispositivo. De esa manera no hay confusión. Si los dispositivos se basan en otro método de selección, puede tener consecuencias no deseadas y debe descartarlas.

Para (2) algunos dispositivos pueden hacer cosas solo en función de la actividad del bus. Por ejemplo, algunos ADC borran su señal de interrupción de datos listos cuando ven un borde de reloj en el bus SPI. Independientemente del estado de selección.

    
respondido por el Edgar Brown
1

SI.

Debería estar absolutamente bien usar diferentes configuraciones en el bus SPI con diferentes parámetros de polaridad de reloj y la necesidad de afirmar la línea SS para diferentes dispositivos esclavos.

La sobrecarga de firmware aumentará para adaptarse a la reconfiguración del módulo SPI de MCU.

Si se ajusta a sus requisitos de tiempo para cambiar entre dos dispositivos esclavos diferentes, está bien. Además, supervise la integridad de su señal en las líneas SPI cuando tenga varios dispositivos esclavos.

    
respondido por el Vishal P

Lea otras preguntas en las etiquetas