AT45DB321C - ATMEL SPI Flash mit AVR

Gast #595336
Lesenswert?

Im Anhang ein kleiner Teil meines Projektes
mit dem ich einen kleinen GPS Logger bauen will.

Der Code soll nur prinzipiell zeigen, wie man mit dem
Atmel SPI Flash (AT45DB321C) kommuniziert.
++++ Da sind noch einige Schönheitsfehler und nicht getestete Stellen 
drin ++++

Der Grund warum ich so was unfertiges poste ist
dass ich nicht weiß, wann ich dazu komme den Code für die Allgemeinheit 
aufzubereiten und so kann es dem einen oder anderen helfen das
Datenblattwälzen zu verkürzen.

 lg Daniel
Angehängte Dateien:
Gast #606858
Lesenswert?

Hallo Daniel,
so was in der Richtung suche ich gerade, nicht unbedingt für GPS, mehr 
als allgemeiner Datenlogger. Wenn ich mir Deinen Code anschaue, habe ich 
ein paar Fragen:
- Du hast noch einen Datenpuffer im MC, warum nutzt Du die zwei SRAM 
Puffer im Flash nicht direkt. Einen voll schreiben und während der 
Flashzeit den zweiten nutzen.
- Dein Puffer nutzt nur 254Byte, der Flash hat 512(528) Bytes/Page

Grüße
Lothar
Gast #607008
Lesenswert?

"Du hast noch einen Datenpuffer im MC, warum nutzt Du die zwei SRAM
Puffer im Flash nicht direkt. Einen voll schreiben und während der
Flashzeit den zweiten nutzen."
Hast vollkommen Recht, das war mir damals auf die schnelle gar nicht 
bewusst.

"Dein Puffer nutzt nur 254Byte, der Flash hat 512(528) Bytes/Page"
Das war einer der Fehler :)
Meine aktuelle Pfriemel-Version nutzt zwei Pufferarrays und spricht 
somit die ganze Breite an, allerdings wäre das ja auch durch die SRAM 
doppelt gemoppelt ;)

Wenn ich wieder Lust und Zeit hab setz ich mich mal ran.
Gast #609618
Lesenswert?

Hallo,
wo ihr gerade bei dem Thema seid...bin absoluter Anfänger und habe jetzt 
Abschlussarbeitsmäßig das Problem, meinen Mega16 mit deutlich mehr 
Speicher für die Daten eines Sensors auszustatten.
Ist der AT45DB321C über SPI da ne gute Idee und auch softwaremäßig für 
blutige Anfänger in begrenzter Zeit zu bewältigen?
Die gps.zip scheint ja ein guter Ansatz für mein Problem zu sein!
Wie muß ich das ganze verdrahten?
Wo bekomme ich den AT45DB321C überhaupt?
Hat jemand ne bessere, ganz simple Idee für mehr Datenspeicher?

Bin schonmal im vorraus für jeden Rat dankbar...
Gruß Marcus
Gast #658354
Lesenswert?

moin moin,

versuche auch gerade ein spi-flash anzusprechen, leider klappt es noch 
nicht. warum setzt du
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPIE)|(1<<CPHA);
in der receive wieder neu?
reicht es nicht das einmal in der spiint zumachen?

gruß

hugo
Gast #747723
Lesenswert?

Ehrlich gesagt nein,
es war Urlaub und da hab ich den oben genannten Code minimal verändert 
benutzt. Ging einwandfrei.
Aber weitergemacht, bzw. richtig gemacht - da fehlt mir komplett die 
Zeit.

Ich habs hier nur gepostet, damit die Leute einen Ansatz haben, wenn
sie den Flash nutzen wollen.
EIne richtige Anbindung ersetzt das leider nicht ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren