Forum: Mikrocontroller und Digitale Elektronik Fat16 mit ATmega8


von corvus (Gast)


Lesenswert?

Hallo!

Ist es möglich Fat16 lese/schreib zugriff mit
einem ATmega8 der nur 1024B SRAM besitzt zu
realisieren?

alles was ich bisher gefunden habe benötigt
mindestens 1500Byte oder kann nur lesen.

http://www.holger-klabunde.de/avr/avrboard.htm
zum Beispiel.

Gruß
Corvus

von Olaf (Gast)


Lesenswert?

Wuerde ich fuer machbar halten, aber natuerlich extrem ineffizient
weil du nur immer einen 512Byte Block im Ram haben kannst.
Ich koennte mir aber vorstelle denn das du dann nicht mehr viel
Flashrom fuer andere Aufgaben zur Verfuegung hast.

Olaf

von andi (Gast)


Lesenswert?

wie wärs mit externem ram? dürfte dann keine probleme mehr bereiten!

mfg andi

von corvus (Gast)


Lesenswert?

Den einen 512Byte Block werde ich auf jeden Fall brauchen,
weil ich nur Blockweise Lesen und schreiben kann.
Die Geschwindigkeit ist relativ egal, da es im Großen und
Ganzen ein Datenlogger wird, der über längere Zeit Daten
aufzeichnen sollte. Ich will den ATmega8 oder ATmega16
eigentlich blos wegen seiner geringen Größe verwenden.

Corvus

von Hagen (Gast)


Lesenswert?

Du musst nicht unbedingt "Blockweise" lesen/schreiben bzw. ein
blockweises Lesen/Schreiben benötigt nicht zwangsläufig einen Block von
zb. 512 Bytes SRAM. Angenommen du weist das im Block Nummer XYZ an
Byteaddresse 123 deine gesuchten Daten liegen dann kannst du die MMC/SD
Karte sehr wohl so ansprechen das die ersten 123 Bytes dieses Blockes
garnicht gespeichert werden müssen. D.h. die Lese Routine einer MMC/SD
Karte kann fast ohne Speicher auskommen. Schwieriger wirds dann aber
beim Schreiben und die FAT Unterstützung ist auch wesentlich eleganter
wenn man genügend Speicher hat. Grundsätzlich kann man aber eine MMC/SD
Karte zb. bei sequientiellen Datenaufkommen und ohne FAT sehr wohl ohne
Speicher betreiben.

Gruß hagen

von Matthias (Gast)


Lesenswert?

Hi

das geht eigentlich recht problemlos. Hab ich schonmal für einen
Datenlogger RS232->CF gemacht. Konnte allerdings nur auf eine bereits
bestehende Datei im root der CF schreiben. Sourcecode könnte ich bei
Interesse liefern.

Matthias

von corvus (Gast)


Lesenswert?

Also grundsätzlich habe ich sequentielles Datenaufkommen,
allerdings würde ich gerne jeden Tag eine neue Datei auf
der Karte beginnen. (was die Sache einfacher macht ist,
denke ich allerdings die Tatsache das die Daten eigentlich
nicht Fragmentiert sind.)
Prinzipiell ist das Problem ähnlich gelagert wie beim
MidiRekorder unter den Projekten. Allerdings ist das
auch eine sehr rudimentäre implementation, die speziell
präparierte Karten Braucht (das ist eigentlich das was
ich vermeiden will)

Gruß
Corvus

von Thorsten (Gast)


Lesenswert?

Wegen der Größe kannst ja auch nen ATmega128 in MLF-Gehäuse nehmen. Das
Gehäuse ist grad mal 9x9mm groß und du hast 4kB RAM zur Verfügung. Und
extrem teuer ist der Baustein auch nicht.

Gruß
Thorsten

von corvus (Gast)


Lesenswert?

Also einfacher wird es sicher mit einem ATmega128,
nicht nur wegen der 4kB Ram sondern auch deswegen,
weil es bereits genug Code für ihn gibt, dem man
verwenden kann.

Andererseits hab ich mir das jetzt noch mal überlegt
und bin darauf gekommen das ich eigentlich keinen
512 Block im Speicher Brauche, da meine Daten sowieso
seriell kommen, und ich sie einfach so in den Speicher
schreiben kann, bis der Block voll ist, mir dann einen
neuen leeren suche und dort weiter mache. Es kann hald
dann nur dauern das ich eine Ewigkeit brauche, bis ich
einen Block geschrieben habe. Das dürfte aber kein Problem
machen oder?

Gruß
Corvus

von Hagen (Gast)


Lesenswert?

Nöö, falls dich der hohe Stromverbrauch der MMC/SD Karte nicht stört.
Sie geht erst in den Powersavemode wenn ein Kommando vollständig
abgearbeitet wurde, sprich ein 512 Bytes Datenblock im Write Kommando
fertig geschrieben wurde (genauergesagt sogar frühstens 8 SPI
Taktzyklen später).
Und laut Standard sollte man mit maximal 500mA Stromverbrauch der
Karten rechnen (was natürlich in der Realität stark überzogen ist).

Gruß Hagen

von Tom (Gast)


Lesenswert?

Hi Leute

Auch ich plane die Daten meines Logger in eine MMC-Karte auszulagern.
Bis jetzt boten mir die 60KB Flash-Speicher auf meinem MSP430F149
ausreichen Platz für Code (8KB, dank Compilerbeschränkung) und Daten
(Rest).

@Matthias: Könntest du uns den Code für die Speicherung der Daten in
deinem Logger posten oder mir per Mail zusenden? Das kling sehr
interessant und in weiser Voraussicht möchte ich dies gerne RAM-sparend
implementieren.

FG & besten Dank

Tom

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hi

siehe Anhang. Da ist allerdings die ATA-Ansteuerung gleich mit drin
also nichts was man wirklich 1:1 so übernehmen kann.

Matthias

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.