transfiriendo bytes de datos continuamente utilizando SPI

-1

Soy bastante nuevo en el módulo SPI. Necesito escribir bytes de datos en 3 ubicaciones diferentes de la memoria del sensor de temperatura solo una vez después del encendido. Mi duda es si puedo escribir todos los datos afirmando el pin CS (selección de esclavo) solo una vez. O, ¿necesito escribir los primeros datos afirmando el pin CS, luego volver a colocar el pin CS, escribir el segundo dato afirmando CS, luego deassert CS, escribir el tercer dato afirmando el pin CS y luego desactivar el pin CS. Además, si este es el caso, ¿necesito dar demora entre la primera, segunda y tercera escritura de datos. Por favor responda

    
pregunta xyz101

1 respuesta

2

Debe buscar en la hoja de datos la respuesta oficial, pero como regla general, los dispositivos SPI tratan la negación de CS # como una indicación de "comunicaciones realizadas". Esto significa que, como regla general, si establece CS # alto, le está diciendo al dispositivo "No he hablado con usted". Hay excepciones a esto, pero para eso es la hoja de datos.

Además, en términos generales, cuando escribe datos en un dispositivo SPI, necesita una forma de indicar al dispositivo SPI DÓNDE desea que vayan estos datos. (por ejemplo, ¿se dirigirá a la dirección 0x123 o la dirección 0x456? ¿Está escribiendo en un registro de estado, un registro de datos o un registro de control?)

Tome, por ejemplo, la AT250x0A SPI EEPROM . Cuando accedes a él, no solo le "escribes datos". Debe enviar una "instrucción" que le diga lo que desea que haga (leer datos del chip, escribir datos en el chip, borrar el chip, devolver un código de identificación, etc.). Si desea que lea o escriba desde su matriz de memoria, está enviando al menos dos bytes: la instrucción y la dirección a la que desea acceder.

Cuando termines de hablar con el dispositivo, niegas la línea CS #. TODOS los dispositivos tienen un tiempo limitado que debe esperar antes de volver a activar CS #. Este es el parámetro "CS # high time" o "Tcs" para la hoja de datos AT250x0A. Su dispositivo en particular tendrá una especificación similar que debe seguir si desea comunicaciones confiables.

Quizás deberías revisar algunos SPI tutorial páginas para ayudar a desmitificar el protocolo . No es ciencia espacial, pero si te equivocas, puedes tardar un rato en desenredarte.

    
respondido por el akohlsmith

Lea otras preguntas en las etiquetas