Datenlogger - MMC oder EEprom ?

#1004620
Lesenswert?

Hallo,

ich bin dabei mir einen Datenlogger zur Heizungsüberwachung zu bauen.
Grundlage ist ein Mega8 programmiert in C.
DCF 77, AD, und den Code für die serielle Schnittstelle habe soweit 
fertig.
Nun stehe vor dem Problem: Wo speichere die Daten  (6 Byte + Uhrzeit pro 
Minute) ?
Ich habe schon nach Code für MMC/SD - Karten gesucht, allerdings ist 
dieser Code meistens aufgrund des Speicherverbrauchs nur für grössere 
AVR geeignet.
Gibt es einen einfachen Code der auch auf dem Mega8 läuft ?
Mir würde es schon reichen, wenn ich in eine schon vorher angelegte 
Datei
schreiben könnte.
Alternativ würde ich ein EEprom (ca 128kbyte) nehmen, wobei ich mit den 
seriellen EEproms und deren Ansteuerung keine Erfahrung habe.

Gruß

Günter
#1004622
Lesenswert?

Guenter B. wrote:

> Gibt es einen einfachen Code der auch auf dem Mega8 läuft ?

Ja:
http://elm-chan.org/fsw/ff/00index_e.html

> Mir würde es schon reichen, wenn ich in eine schon vorher angelegte
> Datei
> schreiben könnte.

Der Code kann FAT16/32 komplett lesen und beschreiben, mit allem was 
dazu gehört. Den Code kann man Stufenweise auf das nötigste kastrieren, 
dann passt der problemlos in einen mega8.
Gast #1004632
Lesenswert?

Na ja, das Problem bei SD/MMC mit FAT ist eigentlich der Speicherbedarf. 
Man hält IMHO immer einen kompletten Block (512 Byte) im  RAM. Kommt 
halt darauf an, ob Du noch so viel frei hast. Ist aber schön günstig, 
gut beschaffbar und  direkt am PC auswertbar.
Wie viele Datensätze willst Du denn speichern? Es gibt bei Atmel 
DataFlash bis 128 MBit oder 16 MByte. Ist schön klein und wird einfach 
über SPI angesprochen. Bei einem Verbrauch von rund 10 Byte pro 
Datenpunkt käme man also auf rund 1.6   Millionen Datenpunkte oder 1165 
Tagen wenn ich mich nicht verrechnet habe :-)Da Du sowieso eine serielle 
Schnittstelle hast, kann man die Daten dort auslesen...
#1004763
Lesenswert?

(Data-)Flash kann nur Sektorweise gelöscht und beschrieben werden (meist 
128, 256 oder 512Bytes), während EEPROMs auch Byteweise gelöscht werden 
können. Allerdings findet zunehmend eine Vermischung der beiden Typen 
statt, denn einige Flahs besitzen intern einen RAM Puffer in den ein 
Sektor gelesen wird, ein Byte verändert wird, und dann der ganze Sektor 
zurückgeschrieben wird. Bei einigen Speichern muss man das selbst 
machen, andere erledigen das automatisch.
#1005354
Lesenswert?

Ich denke ich werde mich für die SD-Karte entscheiden, da ich noch eine 
alte Karte gefunden habe.

Allerdings habe ich noch ein Verständnisproblem:
Brauche ich FAT auf der Karte, wenn ich die Karte nur mit dem AVR 
schreiben und lesen möchte ?
Oder kann ich die Daten in 512Byte Blöcken nacheinander auf die Karte 
schreiben ?
Die gespeicherten Daten würde ich seriell vom AVR zum PC transportieren.

Günter

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