¿Por qué el flash SPI tiene el PIN HOLD #, en lugar de detener el reloj?

0

Un flash SPI como el Micron M25P16 (que se muestra a continuación) tiene un pin HOLD #, y todos los datos de entrada se ignoran si HOLD # se afirma en un borde de reloj ascendente.

¿Pero no se puede detener el reloj en su lugar?

    
pregunta EquipDev

1 respuesta

4

La señal HOLD# para usar en un bus SPI con varios esclavos. Detener CLK detendrá todo el bus, mientras que afirmar HOLD# solo detendrá las transacciones a ese esclavo SPI específico. HOLD# es específico del esclavo como CS# es.

Imagine que tiene un flash en el bus SPI, pero también un sensor SPI que necesita leer en un momento específico. Ahora, mientras está en una transacción con el flash SPI, llega el momento de leer el sensor. Puede terminar la transacción con el flash SPI, pero luego compromete la sincronización de la lectura del sensor. Si detiene el reloj, tampoco podrá leer el sensor. Pero si afirma HOLD# en el flash, ahora puede iniciar una segunda transacción SPI al sensor. Una vez que haya terminado con el sensor, vuelva a colocar HOLD# y continuará con su transacción flash SPI.

    
respondido por el corecode

Lea otras preguntas en las etiquetas