Cómo Escribir Y Leer Memoria Flash Usando Arduino

Tabla de contenido:

Cómo Escribir Y Leer Memoria Flash Usando Arduino
Cómo Escribir Y Leer Memoria Flash Usando Arduino

Video: Cómo Escribir Y Leer Memoria Flash Usando Arduino

Video: Cómo Escribir Y Leer Memoria Flash Usando Arduino
Video: Arduino desde cero en Español - Capítulo 37 - Lector tarjeta MicroSD bus SPI (y data-logger DHT11) 2024, Mayo
Anonim

En este artículo, veremos cómo escribir y leer desde la memoria flash usando un Arduino usando el microcircuito 25L8005 como ejemplo.

Cómo escribir y leer memoria flash usando Arduino
Cómo escribir y leer memoria flash usando Arduino

Necesario

  • - chip de memoria flash con soporte SPI;
  • - un adaptador para memoria o un panel con ganancia cero (panel ZIF);
  • - Arduino;
  • - computadora;
  • - cables de conexión.

Instrucciones

Paso 1

Primero, debemos hacerlo de manera que podamos conectarnos fácilmente al microcircuito. Para hacer esto, puede usar un adaptador especial al que debe soldar el microcircuito, o (lo que es preferible) usar un panel de ganancia cero (el llamado panel ZIF).

Chip de memoria flash en un panel ZIF
Chip de memoria flash en un panel ZIF

Paso 2

Ahora vamos a armar el diagrama eléctrico para conectar el chip de memoria flash al Arduino. Usaremos la interfaz SPI para la programación de la memoria, por lo que conectaremos a los pines estándar:

- CS - pin digital 10, - MOSI - pin digital 11, - MISO - pin digital 12, - SCK - pin digital 13.

Diagrama de conexión de la memoria Flash a Arduino
Diagrama de conexión de la memoria Flash a Arduino

Paso 3

Antes de escribir datos en la memoria, es necesario borrar el sector o página en la que vamos a escribir. Si no hay muchos datos para escribir (en nuestro ejemplo de tutorial serán solo 16 bytes), entonces es suficiente borrar 1 sector. De la documentación para el microcircuito, vemos que la secuencia de borrado es la siguiente: configure el permiso de escritura (1 byte), envíe el comando de borrado (1 byte) y la dirección (3 bytes), configure la prohibición de escritura (1 byte). Esto es exactamente lo que hace el boceto anterior. Cargámoslo en Arduino. Una vez completado el boceto, la unidad flash está lista para grabar.

Bosquejo de borrado de sector flash
Bosquejo de borrado de sector flash

Paso 4

Ahora escribamos los datos. Tomemos como ejemplo una pequeña matriz de 16 bytes. Como puede ver en la documentación, primero debe establecer el permiso de escritura (1 byte), luego enviar el comando de escritura (1 byte), la dirección de inicio (3 bytes) y los datos (en nuestro ejemplo, 16 bytes), en el final establece la prohibición de escritura (1 byte).

Sube el boceto a Arduino. Después de ejecutar este boceto, nuestra matriz de prueba debería haberse escrito en la memoria flash. Comprobemos si es así.

Un esquema de escritura de una matriz de bytes en la memoria flash
Un esquema de escritura de una matriz de bytes en la memoria flash

Paso 5

Escribamos un boceto para leer 16 bytes de la memoria flash. Cargámoslo en Arduino y abramos el monitor del puerto serie. En el monitor, como se esperaba, nuestra matriz, leída desde la memoria usando el Arduino, se mostrará 1 vez por segundo.

Recomendado: