¿Cuándo no puedo interrumpir el CS a tierra utilizando solo un dispositivo SPI? [duplicar]

2

La última vez, estaba escribiendo un programa fácil para que algunos procesadores antiguos interactúen con MCP3004 (ADC de Microchip con interfaz SPI). El procesador no tenía implementación de SPI de hardware, así que tuve que escribirlo por mi cuenta.

Para mi sorpresa, el programa no funcionó hasta que cambié el código para alternar CS abajo-arriba-abajo con un poco de retraso cada vez que me comunico con ADC. Siempre antes, estaba seguro de que ChipSelect puede (e incluso debería) (para reducir la cantidad de pines usados) estar físicamente en cortocircuito a tierra cuando uso solo un dispositivo.

¿Hay alguna explicación de por qué esa vez no funcionó: cuando no puedo hacer un CS corto al suelo cuando estoy usando solo un dispositivo SPI?

    
pregunta kamillabaarnowak

1 respuesta

7

La línea CS ascendente / descendente no solo se utiliza para habilitar la salida del esclavo, sino también para restablecer su máquina de estado interna. Por ejemplo, algunas memorias flash tienen una secuencia siguiente para leer: command_opcode address_byte1 address_byte2 y bytes ficticios. Envía tantos bytes ficticios como desees, la dirección dentro del esclavo se incrementa automáticamente. ¿Cómo podría enviar otro comando (por ejemplo, escribir) si no hubiera manera de finalizar la transacción? La línea CS hace exactamente eso.

    
respondido por el filo

Lea otras preguntas en las etiquetas