optimización de selección de chip SPI

6

Estoy diseñando un sistema SPI con un maestro y dos esclavos. En un sistema SPI normal, el maestro necesita 2 salidas para controlar las líneas de selección de chips de los esclavos. Quiero usar solo una salida para controlar ambas selecciones de chips gracias a una puerta clásica NOT.

simular este circuito : esquema creado usando CircuitLab

No he intentado esto todavía porque veo un problema:

  • Cuando el comando maestro viene de ALTO a BAJO, ambos chips se seleccionarán por un corto tiempo debido al retraso de la puerta NO.

¿Puede este problema causar un problema general?

Editar:

Para este escenario fácil, una puerta "no" hace el trabajo, ¿qué se usa comúnmente cuando hay muchos más esclavos? MUX?

    
pregunta M.Ferru

3 respuestas

7

Si realmente solo tienes dos dispositivos, esto puede funcionar si tienes cuidado. Algunos puntos a considerar:

  1. Asegúrese de cambiar la línea de selección de esclavo solo entre secuencias completas y con un tiempo muerto antes y después de intentar transferir datos.

  2. Muchos chips usan la vanguardia de SS para restablecer su lógica al inicio de una nueva secuencia. Incluso si está utilizando el mismo chip varias secuencias seguidas, tendrá que anular su SS entre secuencias. Esto significa que el otro chip verá su SS afirmado para bips cortos. Eso debería estar bien, pero una vez más, asegúrese de que esto solo ocurra cuando los datos y las líneas del reloj estén inactivos.

  3. Es posible que el firmware de bajo nivel deba realizar un pulso de SS adicional para garantizar que el dispositivo de destino vea el borde principal de SS, no solo el SS declarado al inicio de una secuencia.

respondido por el Olin Lathrop
2

Debería hacer el truco en la mayoría de los casos. Pero creo que es una mala idea cambiar entre esclavos mientras la interfaz está activa, por lo que debería tratar este problema en el software del maestro: supongamos que el esclavo 1 está seleccionado. Primero debes dejar de comunicarte con él, luego cambiar a esclavo 2 y luego comenzar a comunicarte.

    
respondido por el Stelian Saracut
2

Además de los puntos ya mencionados, verifique que siempre se cumplan todos los tiempos de selección de chip en ambos dispositivos. Es fácil recordar revisar los tiempos de selección de chip para el chip que está seleccionando, pero olvide los tiempos para el chip que está deseleccionando. Muchos chips SPI necesitan un tiempo mínimo entre el último borde del reloj y la selección de chips desactivada.

    
respondido por el Graham

Lea otras preguntas en las etiquetas