Seriellen Flash Speicher löschen

Gast #4793988
Lesenswert?
• ▲
▼
>Was muss ich tun, um diesen Flash wieder zu löschen?
>Irgendwie klappt es mit meinem Timing noch nicht so ganz...

Das steht doch im Datenblatt.
Und wenn du schon Code hast, warum zeigst du ihn dann nicht?
Gast #4794679
Lesenswert?
• ▲
▼
Eine Frage noch:

In einigen Befehlen muss die CS Leitung runtergezogen werden und wohl 
nach dem Befehl wieder auf high.

Was muss ich denn mit der CS Leitung tun, wenn die eigentliche 
Übertragung vollzogen wird?

Nach dem Befehl wieder auf Low und dann DummyBytes schicken, damit ich 
eine Antwort erhalte, oder auf high lassen und einfach so Dummy Bytes 
rausschicken?
Gast #4794700
Lesenswert?
• ▲
▼
Flash schrieb:
> Nach dem Befehl wieder auf Low und dann DummyBytes schicken, damit ich
> eine Antwort erhalte, oder auf high lassen und einfach so Dummy Bytes
> rausschicken?

Alleine die Logik sollte schon hervorbringen dass der Chip
wissen muss ob er Daten senden darf oder nicht. Dies geschieht
unter anderem mit dem CS der auch den MISO Output Enable des
Chips steuert. Er bringt im inaktiven Zustand den Ausgang in den
Tristate damit andere SPI Teilnehmer auch Daten hergeben können.

Das heisst, ohne aktiven CS bekommt man nicht die Daten die man
erwartet.
Gast #4794816
Lesenswert?
• ▲
▼
ok,

Etwas konkreter:
Wie aber mache ich einen Subsector erase?

Ich lege
CS low
WREN_Command
CS high

dann
CS low
0x20 (Subsector erase Command)
0x00 0x00 0x00 (Von Adresse 0 möchte ich beginnend löschen)


Nun ist die große Frage, ein Subsector umfasst 256 Bytes. Muss ich nun 
256 Bytes ein FF Dummy auf MOSI rausschicken, um die Clockaktiv zu 
halten, oder einfach nur abwarten, bis die Bytes in dem Subsector 
gelöscht sind?

Muss ich als Dummy Werte ein FF schreiben, oder setzt  das Flash bei dem 
Löschen sowieso die 0xFF Werte, selbst wenn ich 0x00 als Dummy schicke?

Was passiert, wenn ich als Startadresse nicht "0" wähle, sondern "1", 
wendet das Flash den Befehl automatisch für alle Bytes 0 bis 255 an?
#4794849
Lesenswert?
• ▲
▼
Die Flash, die ich kenne, haben einen Loesch befehl.
Steht im Datenblatt.
Wenn da keiner steht, wird's wohl keinen brauchen.
Und wenn er im Datenblatt steht, muss man's ja nur so machen wie's 
steht.

allenfalls muss man mehr als 2 Minuten drueber nachdenken.
Ich hab auch einen abend gebraucht, bis ich's implementiert hatte.

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