Si existen varios esclavos SPI con diferentes modos SPI, ¿es suficiente tener líneas CS separadas para cada uno?

1

SPI permite que varios esclavos se conecten de dos maneras. Una es la configuración de selección múltiple de esclavos y la otra es la configuración de cadena en margarita. Dado que los diferentes esclavos pueden ser dispositivos completamente diferentes, creo que la configuración en cadena de margarita no suele ser posible.

¿Siempre es posible utilizar una configuración de selección de esclavo múltiple cuando deseamos conectar varios maestros a un solo SPI maestro? Hasta ahora me he topado con un escenario en el que los niveles lógicos (al menos la salida) de un esclavo pueden no ser compatibles o un esclavo puede no tener una salida obsoleta cuando no se afirma CS (lo que me parece extraño). ¿Hay otros problemas también?

    
pregunta quantum231

1 respuesta

3

Si los esclavos se comportan bien, entonces no debería haber problemas con la mezcla de esclavos con diferentes modos SPI en el mismo sistema, siempre que no los mezcle bajo la misma selección de chips, y asegúrese de hacerlo correctamente. configure el maestro para usar el modo que corresponde a los dispositivos que se están abordando.

Como usted supuso, los dispositivos SPI de conexión en cadena no se realizan con mucha frecuencia. En general, esto requiere dispositivos que estén diseñados específicamente para soportar la conexión en cadena, lo que no siempre es así. Hay un par de problemas con el encadenamiento en margarita: primero, el registro de datos debe ser transparente; es decir, todo lo que se modifique con el tiempo tiene que salir del otro extremo sin cambios, de lo contrario es imposible el encadenamiento. El otro problema es que esencialmente estás obligado a abordar todos los dispositivos en la cadena, lo que puede ser ineficiente o incluso causar problemas si realmente solo quieres interactuar con un enlace en la cadena. Sin embargo, para dispositivos que admiten el encadenamiento en margarita, puede ser una excelente manera de ahorrar en líneas de selección de chip.

Obviamente, tendrá que usar buffers de conversión de nivel y posiblemente interruptores de bus o estado para interactuar con dispositivos que tienen diferentes requisitos de voltaje o pines MISO que se comportan mal, según sea necesario.

Ciertamente, también es posible tener múltiples maestros, pero tendrá que hacer algún tipo de arbitraje fuera de banda para eliminar la disputa y también puede ser necesario usar multiplexores o conmutadores de bus para controlar qué maestro tiene control sobre el Señales necesarias.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas