PIC32 SPI Flash Burst Escribe el comportamiento de selección de chip

1

Tengo un pic32 y estoy hablando con un spi o parte para almacenar algunos datos. Ahora, para la ráfaga, mi flash soporta 256 bytes a la vez y quiero usar mi DMA para transferir esto. Sin embargo, la parte requiere que CS permanezca bajo para los 256 bytes. Estaba leyendo ambas hojas de datos y tratando de entender el comportamiento de CS pero no entiendo muy bien.

Eché un vistazo a lo que sucede cuando leo un registro de estado de la memoria flash que requiere que use DMA para escribir 4 bytes. En el analizador veo que CS permanece bajo durante toda la transferencia, que es lo que quiero. ¿Pero cómo lo sabe? Solo hay un registro para escribir para el búfer spi (no se utiliza el modo fifos / mejorado). Entonces, ¿cómo diablos sabe el hardware que no he terminado después del primer byte?

Mi único pensamiento es que hay un búfer en el que se escribe, y otro búfer que desplaza los bits. Entonces, si lleno el búfer de escritura antes de que el búfer de cambio esté vacío, tal vez eso mantenga bajo el nivel de CS. No puedo probarlo y me gustaría entender cómo funciona antes de usarlo ciegamente.

    
pregunta confused

1 respuesta

1

El comportamiento que observa se debe a que se estableció el bit SPIxCON.MSSEN (se borra por defecto, por lo que aparentemente fue usted quien lo configuró a ciegas antes de comprender cómo funciona, lo siento, no pude resistirme). En este modo, el SS permanece activo siempre que haya datos para transmitir, y permanecerá bajo si se escribe en el búfer durante la transmisión. Esto, así como otras cosas útiles y fascinantes, se pueden aprender al estudiar la Sección 23 del Manual de referencia de la familia PIC32, un enlace que se proporciona de manera conveniente en cualquier página de microproductos PIC32 en el sitio web de Microchip.

Aunque no tienes que hacer esto. Simplemente deje este bit en su estado predeterminado y conduzca SS manualmente.

    
respondido por el Oleg Mazurov

Lea otras preguntas en las etiquetas