Al implementar la comunicación SPI entre un maestro y varios esclavos, hay básicamente dos topologías para elegir: reenviar los mismos datos a cada esclavo o sincronizar los datos a través de todos los esclavos en modo de cadena.
No tengo idea de qué rincón oscuro de Internet obtuviste esto. La forma estándar, más común y obvia de manejar múltiples esclavos SPI es que cada uno tenga su propia línea de selección de esclavos. Eso es precisamente para lo que son.
Conecta las líneas MOSI, SCK y MISO todas juntas, luego cada esclavo obtiene su propia línea de selección de esclavos. El maestro afirma que una de las selecciones de esclavos a la vez, y solo ese esclavo puede conducir la línea MISO.
La misma información para todos los esclavos
En el caso especial de enviar los mismos datos a todos los esclavos, puede vincular todos los conjuntos de esclavos o hacerlos valer todos al mismo tiempo.
Sin embargo, necesitas manejar MISO de manera diferente. Incluso si se supone que todos los esclavos son idénticos, suceden cosas y podría haber un conflicto. Si nunca se preocupa por los datos devueltos de cualquiera de los esclavos, entonces puede dejar las líneas MISO individuales desconectadas. Ponga un menú desplegable en la entrada MISO del maestro para que no esté flotando.
Otra opción es poner despliegues en todas las líneas MISO, luego ejecutarlas todas en una puerta OR amplia, luego la salida de eso en la entrada MISO del maestro. Eso permite una comunicación bidireccional normal con esclavos individuales si solo se afirma una selección de esclavos, y la salida de 1 a N solo si se realizan múltiples selecciones de esclavos. En ese caso, simplemente ignora los datos recibidos en el maestro.