[Atmega8] NAND flash chip ansteuern

OP #7934797
Lesenswert?
• ▲
▼

Guten Tag,

Ich möchte (zum Lernen und aus Spaß) einen NAND flash Chip mit Hilfe eines Microcontrollers ansteuern.

Ich stelle mir das so vor, dass ich den NAND flash Chip mit dem Microcontroller verschalte, und den Microcontroller per USB mit meinem Computer verbinde.

Ich würde den Microcontroller gerne selber in einen selbstgebastelten Schaltkreis einbauen, am besten sollte der Microcontroller in einer DIP Verpackung sein.

Da ich mich nicht mit dem USB Standard näher auskenne und mein Primäres Ziel dabei liegt einen NAND Speicherchip "manuell" anzusteuern, und nicht dabei USB zu lernen, wäre ich damit zufrieden, dass der USB Layer transparent bleibt. Ich würde aber gerne selber die NAND Befehle u.s.w. abschicken und die Daten vom NAND Chip unverpackt bekommen. Ich stelle mir das so vor, dass der Microcontroller eine Art GPIO Pins hat, dessen Zustand ich frei steuern kann (stimmt das?).

Nach etwas Recherche bin ich zu dem Schluss gekommen, dass ich einen Atmega8 Microcontroller in DIP Verpackung benutzen kann.

Nun würde ich euch gerne Fragen, ob dieser Microcontroller mir mein Vorhaben erlauben wird, bevor ich anfange.

Freundliche Grüße

#7934832
Lesenswert?
• ▲
▼

Loïc schrieb:

Ich möchte (zum Lernen und aus Spaß) einen NAND flash Chip mit Hilfe eines Microcontrollers ansteuern.

Ich stelle mir das so vor, dass ich den NAND flash Chip mit dem Microcontroller verschalte, und den Microcontroller per USB mit meinem Computer verbinde.

Erstens: USB ist kompliziert. Nimm ein USB nach seriell Kabel, damit wirds einfacher.

Zweitens: Ein normaler paralleler NAND-Chip im TSSOP Gehäuse gemäß ONFI-Standard hat 48 Pins. Davon sind viele Pins für die Stromversorgung zuständig, es bleiben aber genügend Pins für die Ansteuerung. Ein Atmega 8 ist da schon etwas klein. Ideal wäre ein Mega 2560. Hier gibt es etliche Breakout-Boards zu kaufen, wo die IO-Pins auf Stiftleisten geführt werden.

Drittens: NAND-Flashes gibts mit 1.8V Betriebsspannung und 3.3V Betriebsspannung. NAND-Flashes mit 5V gibts nicht oder sind zumindest sehr ungewöhnlich. Also musst Du Deinen AVR mit 3.3V betreiben. Das schließt schon mal einen der zahlreichen Arduino Mega Boards aus, die alle mit 5V laufen. Beachte das.

Du könntest ein Arduino Due Board nehmen. Das hat keien AVR-Prozessor, sondern ARM und läuft mit 3.3V. Daran kannst Du Dein NAND-Flash direkt anschließen. Der Arduino Due hat auch zwei USB-Ports: einer geht direkt an den Prozessor, der andere ist zum Hochladen von Programmen über die Arduino-IDE. Damit ist Dein USB-Problem auch erledigt.

https://store.arduino.cc/products/arduino-due

fchk

#7934837
Lesenswert?
• ▲
▼

Loïc schrieb:

Ich stelle mir das so vor, dass ich den NAND flash Chip mit dem Microcontroller verschalte

Es gibt nicht "den einen" NAND-Flash, sondern viele verschiedene. Suche Dir also erstmal einen aus, und zähle wieviel Steuerpins er benötigt. Erst dann kannst Du einen passenden µC aussuchen. Digikey hat welche von 16MBit bis 8TBit. Achte darauf, daß sie 100% fehlerfrei sind und auch von der VCC her zum µC passen. Größere Flash benötigen nämlich oft ein Fehlermanagement.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.