Forum: Mikrocontroller und Digitale Elektronik Größeren NAND Flash ( 4+ GB ) mit Mikrocontroller ansprechen


von Verwirrter Anfänger (Gast)


Lesenswert?

Ich würde gerne mal ein bischen mit USB Sticks rumspielen und wollte mir 
dazu erstmal einen ganz simplen Stick bauen.

Mir ist klar, dass ich damit nicht billiger, schneller, besser, schöner, 
kleiner oder toller als normale Sticks werde, aber ich würde gerne ein 
paar Sachen ausprobieren. Zum Beispiel könnte man den Stick sowohl per 
USB, als auch per SPI zugänglich machen.

Ich werde zwar am Anfang wahrscheinlich einfach eine SD-Karte als 
Speicher verwenden, aber ich würde später gerne auch mal alles aus einem 
Guß auf die Platine packen.

Allerdings frage ich mich jetzt, wie ich diese großen Flashs am besten 
mit den Mikrocontroller verbinde. Ich wollte ursprünglich einen 
STM32F417 nehmen, aber der hat nativ nur Unterstützung für 512 MB NAND. 
Ausserdem muss ich ja auch alle Pages irgendwo speichern, wenn ich einen 
Block Erase mache. Das könnte ja durchaus 2 MB Platz brauchen.

Würdet Ihr eher:
 - Einen Mikrocontroller nehmen, der nativ so große Flashs unterstützt 
(welcher?)
- Ein FPGA oder CPLD zwischen den Mikrocontroller und Flash packen
- Das ganze Interface einfach bitbangen (ist das schnell genug?)
- Einen spezialisierten Chip zwischen Mikrocontroller und Flash setzen 
(welcher?)

Oder habt ihr vielleicht noch andere Vorschläge?

von Frank K. (fchk)


Lesenswert?

Du müsstest eigentlich mit einem ganz normalen External Memory Interface 
auskommen. !CE, !WE und !RE sind die gleichen Signale wie bei einem SRAM 
auch, und ALE und CLE packst Du auf Adressleitungen. Dein NAND-Flash 
legegt also nur 4 Adressen, wobei ALE=1 & CLE=1 nicht zulässig ist.

Damit kannst Du alle asynchronen Buszyklen, wie sie im ONFI-Standard 
(Open NAND Flash Interface Specification) beschrieben sind, ausführen. 
Die Zugriffe sind zwar etwas komplizierter, weil Du die Adressregister 
und das Befehlsregister selber beschreiben musst, aber es sollte gehen.

Hier gibts die offiziellen Spezifikationen:
http://www.onfi.org/specifications

fchk

von holger (Gast)


Lesenswert?

>Ich würde gerne mal ein bischen mit USB Sticks rumspielen und wollte mir
>dazu erstmal einen ganz simplen Stick bauen.

Schwurbelkram.

>Ich werde zwar am Anfang wahrscheinlich einfach eine SD-Karte als
>Speicher verwenden,

Dann mach das. Wenn du damit fertig bist melde dich noch mal.

von Peter D. (peda)


Lesenswert?

Verwirrter Anfänger schrieb:
> STM32F417 nehmen, aber der hat nativ nur Unterstützung für 512 MB NAND.

Das ist die Größe, die Du am Stück adressieren kannst. Aber Du wirst eh 
nur blockweise zugreifen wollen und dazu kann man alle anderen IO-Pins 
als zusätzliche Adreßleitungen verwenden.
Und wenn das nicht reicht, macht mans eben mit IO-Expandern (74HC595).
1024 Adreßpins sind damit kein Problem, das sollte reichen.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.