In questo articolo, vedremo come scrivere e leggere dalla memoria flash usando un Arduino usando il microcircuito 25L8005 come esempio.
Necessario
- - chip di memoria flash con supporto SPI;
- - un adattatore per la memoria o un pannello a guadagno zero (pannello ZIF);
- -Arduino;
- - informatico;
- - fili di collegamento.
Istruzioni
Passo 1
Innanzitutto, dobbiamo farlo in modo da poterci connettere facilmente al microcircuito. Per fare ciò, puoi utilizzare un adattatore speciale a cui devi saldare il microcircuito o (che è preferibile) utilizzare un pannello a guadagno zero (il cosiddetto pannello ZIF).
Passo 2
Ora mettiamo insieme lo schema elettrico per collegare il chip di memoria flash ad Arduino. Useremo l'interfaccia SPI per la programmazione della memoria, quindi ci collegheremo ai pin standard:
- CS - pin digitale 10, - MOSI - pin digitale 11, - MISO - pin digitale 12, - SCK - pin digitale 13.
Passaggio 3
Prima di scrivere i dati in memoria, è necessario cancellare il settore o la pagina su cui andremo a scrivere. Se non ci sono molti dati da scrivere (nell'esempio del nostro tutorial saranno solo 16 byte), allora è sufficiente cancellare 1 settore. Dalla documentazione per il microcircuito, vediamo che la sequenza di cancellazione è la seguente: impostare il permesso di scrittura (1 byte), inviare il comando di cancellazione (1 byte) e l'indirizzo (3 byte), impostare il divieto di scrittura (1 byte). Questo è esattamente ciò che fa lo schizzo sopra. Carichiamolo in Arduino. Una volta completato lo schizzo, l'unità flash è pronta per la registrazione.
Passaggio 4
Ora scriviamo i dati. Prendiamo come esempio un piccolo array di 16 byte. Come puoi vedere dalla documentazione, devi prima impostare il permesso di scrittura (1 byte), quindi inviare il comando di scrittura (1 byte), l'indirizzo di partenza (3 byte) e i dati (nel nostro esempio, 16 byte), a la fine imposta il divieto di scrittura (1 byte).
Carica lo schizzo su Arduino. Dopo aver eseguito questo schizzo, il nostro array di test avrebbe dovuto essere scritto nella memoria flash. Controlliamo se è così.
Passaggio 5
Scriviamo uno sketch per leggere 16 byte dalla memoria flash. Carichiamolo in Arduino e apriamo il monitor della porta seriale. Nel monitor, come previsto, il nostro array, letto dalla memoria tramite Arduino, verrà visualizzato 1 volta al secondo.