Forums Neueste Beiträge
 

Flash-ROM am AVR-Bus?

04/03/2011 - 09:45 von Thorsten Ostermann | Report spam
Kann man ein paralleles Flash-ROM als externen Speicher am
Daten/Adressbus eines MegaAVR betreiben? Man müsste natürlich in der
Software berücksichtigen, dass man einen Block erst löschen muss, bevor
man ihn beschreiben kann. Aber klappt das vom Timing her, insbesondere
beim Schreiben? Sprich, kann man ganz normal ein Byte schreiben und dann
einfach Warten, bis der Chip fertig ist, bevor man das nàchste Byte
schreibt?

Ich habe hier nàmlich ein àlteres Design, in dem ein Batterie
gepuffertes großes SRAM verwendet ist. Dieses Design muss ich nochmal
ein bisschen auffrischen. Da das SRAM nicht wie ursprünglich vorgesehen,
stàndig beschrieben und gelesen wird, sondern sich die Daten nur selten
und wenn dann blockweise àndern, würde sich Flash ja anbieten. Zumal das
billiger und kompakter ist, das ein SRAM und eine Pufferbatterie...

Gruß
Thorsten
PGP welcome!
Thorsten online: http://www.ostermann-net.de/electronic
Rund um Schrittmotor, Fràs-Bohr-Plotter & Mikrocontroller
 

Lesen sie die antworten

#1 Heiko Nocon
04/03/2011 - 11:06 | Warnen spam
Thorsten Ostermann wrote:

Kann man ein paralleles Flash-ROM als externen Speicher am
Daten/Adressbus eines MegaAVR betreiben?



Ja, sofern man die Timinganforderungen des konkreten Typs einhàlt,
spricht nichts dagegen.

Sprich, kann man ganz normal ein Byte schreiben und dann
einfach Warten, bis der Chip fertig ist, bevor man das nàchste Byte
schreibt?



Ich kenne es von einem 1MBit-Winbond-Teil (W29EE011). Da brauchst du
zwischen den einzelnen Bytes nicht zu warten, ja du darfst nichtmal
allzu lange warten, sonst beginnt er schon ungewollt mit dem
eigentlichen Flashen.
Geschrieben wird in einen internen SRAM-Puffer mit der Page-Größe.
Warten mußt du erst, wenn du den vollgeschrieben hast, denn dadurch
stößt du den eigentliche Flash-Zyklus erst an. Und auf dessen Ende mußt
du natürlich dann auch noch warten.

Da das SRAM nicht wie ursprünglich vorgesehen,
stàndig beschrieben und gelesen wird, sondern sich die Daten nur selten
und wenn dann blockweise àndern, würde sich Flash ja anbieten. Zumal das
billiger und kompakter ist, das ein SRAM und eine Pufferbatterie...



Noch viel billiger wàre möglicherweise der Ersatz des AVR gegen ein
Modell mit größerem Flash, dann könnte das ganze externe Geraffel
eventuell komplett eingespart werden. Der Flash der ATMegas làßt sich ja
zur Laufzeit beschreiben.
Ob das in Frage kommt, ist natürlich abhàngig von der benötigten
Speicherkapazitàt. Auch gewisse Softwarerestriktionen gilt es zu
beachten, wenn der Mega wàhrend des Flashens noch irgendwas anderes tun
muß.

Ähnliche fragen