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
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.
Wahlweise geht auch ein DATAFLASH von ATMEL http://www.atmel.com/products/DataFlash/ Applications auch bei Atmel, z.B. im "Butterfly" gruß hans
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...
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!
DataFlash ist schnell, günstig und unkompliziert. Außerdem ist es klein und hat eine lange Haltbarkeit. Wir setzen die Dinger auch haufenweise ein.
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
Was ist denn der Unterschied zwischen einem (Data-)Flash und einem Eeprom ?
(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.
Eine eindeutige Unterscheidung Flash/EEPROM gibt es nicht. Der A25L80P muß vor dem Schreiben gelöscht werden, kann aber auch byteweise beschrieben werden. Peter
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.