Datenlogger - MMC oder EEprom ?

OP #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.
OP #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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.