In diesem Artikel werden wir uns mit einem Arduino am Beispiel des 25L8005-Mikroschaltkreises ansehen, wie man in Flash-Speicher schreibt und daraus liest.
Notwendig
- - Flash-Speicherchip mit SPI-Unterstützung;
- - ein Adapter für Speicher oder ein Panel mit Nullverstärkung (ZIF-Panel);
- -Arduino;
- - Computer;
- - Anschlussdrähte.
Anleitung
Schritt 1
Zuerst müssen wir es so machen, dass wir uns leicht mit der Mikroschaltung verbinden können. Dazu können Sie entweder einen speziellen Adapter verwenden, an den Sie die Mikroschaltung anlöten müssen, oder (was vorzuziehen ist) ein Zero-Gain-Panel (das sogenannte ZIF-Panel) verwenden.
Schritt 2
Lassen Sie uns nun den Schaltplan für den Anschluss des Flash-Speicherchips an den Arduino zusammenstellen. Wir werden die SPI-Schnittstelle für die Speicherprogrammierung verwenden, also verbinden wir uns mit den Standardpins:
- CS - digitaler Pin 10, - MOSI - digitaler Pin 11, - MISO - digitaler Pin 12, - SCK - digitaler Pin 13.
Schritt 3
Vor dem Schreiben von Daten in den Speicher ist es notwendig, den Sektor oder die Seite zu löschen, in die geschrieben werden soll. Wenn nicht viele Daten geschrieben werden müssen (in unserem Tutorial-Beispiel sind es nur 16 Byte), reicht es aus, 1 Sektor zu löschen. Aus der Dokumentation für die Mikroschaltung sehen wir, dass die Löschreihenfolge wie folgt ist: Schreibberechtigung einstellen (1 Byte), Löschbefehl (1 Byte) und Adresse (3 Byte) senden, Schreibverbot einstellen (1 Byte). Genau das macht die obige Skizze. Laden wir es in Arduino. Nachdem die Skizze fertig ist, ist das Flash-Laufwerk aufnahmebereit.
Schritt 4
Jetzt schreiben wir die Daten. Nehmen wir als Beispiel ein kleines Array von 16 Bytes. Wie Sie der Dokumentation entnehmen können, müssen Sie zuerst die Schreibberechtigung (1 Byte) setzen, dann den Schreibbefehl (1 Byte), die Startadresse (3 Byte) und Daten (in unserem Beispiel 16 Byte) senden, bei am Ende das Schreibverbot (1 Byte) setzen.
Laden Sie die Skizze auf Arduino hoch. Nach dem Ausführen dieser Skizze sollte unser Testarray in den Flash-Speicher geschrieben worden sein. Lassen Sie uns überprüfen, ob dies so ist.
Schritt 5
Lassen Sie uns eine Skizze schreiben, um 16 Bytes aus dem Flash-Speicher zu lesen. Laden wir es in Arduino und öffnen Sie den Monitor für die serielle Schnittstelle. Im Monitor wird wie erwartet unser Array, das mit dem Arduino aus dem Speicher gelesen wurde, 1 Mal pro Sekunde angezeigt.