
Programmieren von QSPI Flash mit der Promira Serial Platform
Einführung
Das Programmieren von Quad-SPI-Speichergeräten ist ein häufiger Anwendungsfall für die Promira ™ Serial Platform mit SPI Active - Level 1- und 2-Anwendungen. Es gibt verschiedene Möglichkeiten, dies mit der Promira Serial Platform zu tun, einschließlich der Verwendung von Control Center ™ Serial Software, Flash Center ™ Software oder der Promira Software API. Die Verwendung der Promira-Plattform mit der Flash Center-Software erleichtert das Programmieren von EEPROM- und Flash-Geräten. Mit einem Klick auf das Flash Center kann der Benutzer ein gesamtes Gerät löschen, programmieren und überprüfen. Dieser Artikel befasst sich mit der Programmierung von Quad SPI Flash mit Flash Center und einer Promira-Plattform. Obwohl im Folgenden der 1,8 V SOIC 8 des Micron SPI Flash N25Q032A beschrieben wird, der auf der Flash SOIC-8-Sockelplatine 10/34 installiert ist, können ähnliche Schritte für andere Geräte verwendet werden. In diesem Artikel wird gezeigt, wie Quad SPI Flash programmiert und anschließend die Daten zurückgelesen werden
Übersicht
In diesem Artikel löscht, programmiert und liest die Promira-Plattform den N25Q032A. Hier ist die Promira-Plattform der SPI-Master und der Micron SPI Flash N25Q032A, der auf der Flash SOIC-8-Sockelplatine montiert ist - 10/34 ist der SPI-Slave.
Es ist zunächst hilfreich, die verschiedenen Betriebsoptionen von Flash Center zu verstehen. Insbesondere gibt es drei Programmiermodi: Programm + Überprüfen, Programmieren und Programmieren (kein Löschen). Darüber hinaus gibt es Vorgänge zum Lesen von Geräten, Überprüfen und Löschen.
Programmieren + Überprüfen - Schreibt Daten auf ein oder mehrere angeschlossene Speichergeräte und liest sie dann zurück, um sie auf Richtigkeit zu überprüfen. Wenn es sich bei dem Gerät um einen SPI-Flash handelt, wird zuerst ein Löschzyklus durchgeführt. Das Löschen deckt nur die Sektoren ab, die geschrieben werden. Beachten Sie, dass es möglich ist, mehr Daten zu löschen, als geschrieben werden, wenn ein Schreibvorgang in der Mitte eines Sektors endet. In diesem Fall wird eine Warnung protokolliert. Wenn die zu schreibenden Daten groß genug sind, um das Löschen des gesamten Geräts zu erfordern, und das Speichergerät über die Anweisung "Alle löschen" verfügt, verwendet die Software die Anweisung "Alle löschen".
Programmieren - Schreibt Daten auf das Gerät, führt jedoch den Überprüfungsschritt nicht aus. Wenn es sich bei dem Gerät um einen SPI-Flash handelt, wird zuerst ein Löschzyklus mit den gleichen Einschränkungen wie bei Programm + Überprüfen durchgeführt.
Programmieren (kein Löschen) - Ein spezieller Modus für SPI-Flash-Geräte. Es schreibt Daten auf das Gerät, führt jedoch keinen Löschzyklus durch. Dies ist nützlich, wenn mehrere Speicherbilder auf das Gerät programmiert werden sollen. Verwenden Sie FF als Pad-Wert, wenn Sie jedes Speicherbild laden, um zu vermeiden, dass zuvor geschriebene Daten beschädigt werden. Da das Gerät möglicherweise vor diesem Vorgang programmiert wurde, führt es den Überprüfungsschritt nicht aus.
Gerät lesen - Liest den Inhalt des ausgewählten Geräts und ersetzt ihn durch den aktuellen Inhalt im Datenpuffer.
Überprüfen - Überprüft den Inhalt der ausgewählten Geräte anhand des Inhalts des Datenpuffers.
Löschen - Ermöglicht dem Benutzer das Löschen des gesamten Speichergeräts oder das Löschen eines Teils davon. Zum teilweisen Löschen können Benutzer die Startadressen und die Länge im Dialogfeld "Löschparameter" entweder als Dezimalwert oder als Hexadezimalwert angeben.
N25Q32A Details
Der SPI Flash N25Q032A verfügt über 32 Mbit (4 MByte) oder 64 Sektoren. Jeder Sektor hat 16 Teilsektoren oder 65.536 (64 KB, 0 x 10000) Bytes. Jeder Teilsektor hat 4 KByte. Daher hat der Speicher 1024 Teilsektoren oder 4.194.304 (0x400000) Bytes. Der gesamte Speicher kann gleichzeitig gelöscht werden, jeweils ein Sektor oder ein Teilsektor. Nachfolgend sind einige der N25Q032A-Befehle aufgeführt. Abbildung 1 zeigt einen Teil der N25Q032A-Befehlsliste. Abbildung 2 zeigt die Speicherzuordnung des N25Q032A. Weitere Informationen finden Sie im N25Q032A-Datenblatt.


Write Enable Command
Der Schreibfreigabebefehl N25Q032A (0x06) setzt das Schreibfreigabe-Latch-Bit. Das Schreibfreigabe-Latch-Bit muss vor jedem Schreibbefehl (Programmieren, Löschen und Schreiben) gesetzt werden.

Befehl zum schnellen Programmieren mit vier Eingängen
Der Schnellprogrammierbefehl N25Q032A mit vier Eingängen (0x32) wird zum Programmieren von Quad-SPI-Daten verwendet.

Schnellauslesebefehl mit vier Ausgängen
Der Schnelllesebefehl N25Q032A mit vier Ausgängen (0x6B) wird zum Lesen von Quad-SPI-Daten verwendet.

Schritte für die Speicherprogrammierung & Auslesung
1.) Verbinden Sie den USB-Anschluss der Promira-Plattform mit dem USB-Anschluss des PCs.
2.) Befolgen Sie die Anweisungen in Abschnitt 4.2 - Konnektivität des Promira-Plattform-Benutzerhandbuchs, um die Ethernet-über-USB-Schnittstelle zu konfigurieren.
3.) Laden Sie die neueste Version von Flash Center herunter und entpacken Sie sie. (?)
4.) Verbinden Sie den I2C / SPI-Stecker der Promira-Plattform über das 34-34-Kabel mit der Flash SOIC-8-Sockelplatine - 10/34 (siehe Abbildungen 8 und 9). Installieren Sie auf der Flash SOIC-8-Sockelplatine - 10/34 den Jumper am VDD SEL-Anschluss: VLvl. (?)
5.) Starten Sie Flash Center. (?)
6.) Verbinden Sie die Promira-Plattform mit Flash Center. (?)
a.) Klicken Sie auf Adapter> Adapter hinzufügen.
b.) Wählen Sie die Promira-Plattform aus.
c.) Klicken Sie auf Hinzufügen, um eine Verbindung zur Promira-Plattform herzustellen.
7.) Konfigurieren Sie die Zielstromversorgung (Pin 4, 6) auf Deaktiviert. E / A-Leistung (Pin 22, 24) auf Pegelverschiebung, Pegelverschiebung auf 1,8 V. Aktivieren Sie die Zielleistung. (?)
8.) Klicken Sie auf Operationen> Ziel auswählen und wählen Sie "Micron N25Q032A 32-Mbit 1.8V". (?)
9.) Konfigurieren Sie die Bitrate auf 8 MHz. (?)
10.) Konfigurieren Sie den SPI-E / A-Modus auf Quad. (?)
11.) Lesen Sie das Speichergerät (?).
a.) Klicken Sie auf Operationen> Ziel lesen.

12.) Programmieren Sie den N25Q032 und lesen Sie (?).
a.) Klicken Sie auf Vorgänge> Programmieren + Überprüfen.
b.) Klicken Sie auf Operationen> Ziel lesen.
