Forum: Mikrocontroller und Digitale Elektronik Datenlogger - MMC oder EEprom ?


von Guenter B. (gbl)


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

von Benedikt K. (benedikt)


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.

von hans (Gast)


Lesenswert?

Wahlweise geht auch ein DATAFLASH von ATMEL

http://www.atmel.com/products/DataFlash/

Applications auch bei Atmel, z.B. im "Butterfly"

gruß hans

von Micha (Gast)


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

von Harald A. (embedded)


Lesenswert?

Oder wie wäre es mit einem richtigen 'state-of-the-art' USB-Stick:

http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=54&title=VDRIVE2

Einfach mit DOS-ähnlichen Kommandos über die RS232 ansprechbar... Ich 
habe das Ding mal selbst getestet. Geht sehr gut!

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


Lesenswert?

DataFlash ist schnell, günstig und unkompliziert. Außerdem ist es klein 
und hat eine lange Haltbarkeit. Wir setzen die Dinger auch haufenweise 
ein.

von Peter D. (peda)


Lesenswert?

Man kann auch SPI-Flash nehmen, z.b. 1MByte:

http://de.farnell.com/1565995/ics-quarze/product.us0?sku=amic-a25l80p-f

Für den Bastler im praktischen DIP-8 Gehäuse.


Peter

von Gast (Gast)


Lesenswert?

Was ist denn der Unterschied zwischen einem (Data-)Flash und einem 
Eeprom ?

von Benedikt K. (benedikt)


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.

von Gast (Gast)


Lesenswert?

Danke !

von Peter D. (peda)


Lesenswert?

Eine eindeutige Unterscheidung Flash/EEPROM gibt es nicht.

Der A25L80P muß vor dem Schreiben gelöscht werden, kann aber auch 
byteweise beschrieben werden.


Peter

von Guenter B. (gbl)


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

von Benedikt K. (benedikt)


Lesenswert?

Guenter B. wrote:

> Brauche ich FAT auf der Karte, wenn ich die Karte nur mit dem AVR
> schreiben und lesen möchte ?

Nein.

> Oder kann ich die Daten in 512Byte Blöcken nacheinander auf die Karte
> schreiben ?

Ja, dann ist eine SD Karte nichts anderes als ein großer Speicher mit 
512Byte Pages.

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.