Forum: Mikrocontroller und Digitale Elektronik Externer Flash-Baustein - Grundlegende Fragen


von Marcel (Gast)


Lesenswert?

Moin zusammen,

ich experementiere gerade mit dem AVR-Webserver von Ulrich Radig und 
möchte nun nicht mehr die SD-Karte zur Speicherung der Webseite nutzen, 
sondern die Webseite "fest" auf der Platine in einem Speicherbaustein 
unterbringen.

Hierfür dachte ich an ein externes SPI-Flash bespws. von Atmel.

Da ich mich noch niche mit externen Speicherbausteinen beschäftigt habe, 
nun ein paar Fragen, die ihr mir vielleicht beantworten könnte.

PS: µC ist der ATMEGA644

1. Ich habe bereits hier im Forum gelesen, dass es möglich sei, dass ein 
externer Flash-Baustein einfach als Erweiterung des internen 
implementiert werden kann und somit kein großer Aufwand mehr notwendig 
sei.

Geht das auch bei den ATMEGAS?
Ich denke das wäre die einfachste Variante.

2. Wenn das nicht geht, dann muss ich ja irgendwie eine Konnektivität 
zwischen Flash und Controller aufbauen, wobei der Flash ja auch 
beschrieben werden muss (In meinem Fall wären das Arrays, wo HTML-Text 
drinsteht)
Kann ich den dann bspw. über eine SPI-Schnittstelle beschreiben? Sprich 
könnte ich dann Flash-Inhalte per AVRStudio übertragen? (Wenn ich einen 
Atmel-Flash nehme)

3.Oder gibts vielleicht noch eine andere Option zur Speicherung großer 
Datenmengen?

4. Habt ihr vielleicht schon gute Erfahrungen mit einem Flash-Baustein?

Vielen Dank im Vorraus. :-)

Grüße Marcel

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und warum bringst Du nicht einfach die SD-Karte "fest" in Form einer 
Micro-SD-Karte auf Deiner Schaltung unter?

von Reinhard Kern (Gast)


Lesenswert?

Marcel schrieb:
> 1. Ich habe bereits hier im Forum gelesen, dass es möglich sei, dass ein
> externer Flash-Baustein einfach als Erweiterung des internen
> implementiert werden kann und somit kein großer Aufwand mehr notwendig
> sei.

wie man's nimmt: du brauchst dann halt 18-20 Adress-, 8 Daten und 4 
Steuerleitungen, die herausgeführt sind. Manche Prozessoren haben das 
(dazu braucht man entsprechend viele Pins, z.B. ein TQFP100), manche 
haben es nicht bzw. garnicht genug Pins, und bei manchen muss man wählen 
zwischen Bus und I/O-Leitungen, d.h. bei externem Speicher hat man dann 
32 I/Os weniger.

Gruss Reinhard

von (prx) A. K. (prx)


Lesenswert?

Externes NOR-Flash mit dem kompletten Satz von Adress/Datenleitungen für 
den Inhalt von Webseiten, also für Daten, zu verwenden ist zwar möglich, 
aber grober Unfug. Ein einfaches serielles Dataflash via SPI tut es 
vermutlich auch, z.B. AT45DB321 mit 4MB.

von (prx) A. K. (prx)


Lesenswert?

Marcel schrieb:

> 1. Ich habe bereits hier im Forum gelesen, dass es möglich sei, dass ein
> externer Flash-Baustein einfach als Erweiterung des internen
> implementiert werden kann

Nein, das geht beim AVR nicht wirklich. Das interne Flash ist primär 
Codespeicher und alles was du extern dranhängst ist ausschliesslich 
Datenspeicher.

> 4. Habt ihr vielleicht schon gute Erfahrungen mit einem Flash-Baustein?

Diese Atmel Dataflashes funktionieren gut. 5V-kompatibel sind sie nicht, 
aber das ist deine SD auch nicht und das Hardware-Interface ist gleich.

Welche Kapazität benötigst du denn?

von Marcel (Gast)


Lesenswert?

Wow, vielen Dank für die zahlreichen Kommentare :-)

Rufus t. Firefly schrieb:
> Und warum bringst Du nicht einfach die SD-Karte "fest" in Form einer
> Micro-SD-Karte auf Deiner Schaltung unter?

Ich benutze noch zusätzlich eine SD-Karte, in der Messwerte gespeichert 
werden. Wenn ich nun die SD-Karte rausnehme, soll trotzdem noch die 
Webseite angezeigt werden.

A. K. schrieb:
> Diese Atmel Dataflashes funktionieren gut. 5V-kompatibel sind sie nicht,
> aber das ist deine SD auch nicht und das Hardware-Interface ist gleich.
>
> Welche Kapazität benötigst du denn?

Ich denke, dass einige MB hier völlig ausreichen. Wollte erst versuchen 
mittels "CSS-Programmierung" möglichst kleine Seiten zu erzeugen, da ich 
auch noch Balkendiagramme, etc. drinn habe, doch wenn ich dann einen 
externen Flash habe, würde ich auf Java gehen. :)

Doch eine Frage ist für mich immernoch unerklärt. Wie fülle ich den 
externen SPI-Flash mit der HTML Seite?

Kann ich das einfach übers AVR-Studio machen, oder muss ich eigens dafür 
einen µC so programmieren, dass der dann wiederum den externen Flash 
über SPI füllt?

Vielen Dank
Marcel

von (prx) A. K. (prx)


Lesenswert?

Marcel schrieb:

> Doch eine Frage ist für mich immernoch unerklärt. Wie fülle ich den
> externen SPI-Flash mit der HTML Seite?

Wie wär's mit einer "copy SD-Card to dataflash" Funktion für den 
Controller? Ist nicht schwer, wo die SD-Card Funktionen schon da sind.

von Marcel (Gast)


Lesenswert?

A. K. schrieb:
> Wie wär's mit einer "copy SD-Card to dataflash" Funktion für den
> Controller?

Hey, das ist ne gute Idee :-)

Danke für den Tipp, das werd ich mir mal schreiben.

Schöne Grüße Marcel

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die DataFlashs sind an allen Eingängen zumindest 5V-tolerant, betreiben 
muß man sie mit maximal 3.6V. Der Ausgang liefert an 3.3V 
Betriebsspannung saubere 3.2V, was dem ATMega als High reicht.

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.