Forum: Mikrocontroller und Digitale Elektronik Speicherung von Daten


von Sebezahn (Gast)


Lesenswert?

Hi,

folgendes Problem habe ich: Ich baue mir zur Zeit einen Logger, der die
Fahrzeugdaten über OBD-2 ausließt. Das ist auch nicht wirklich ein
Problem, auf dem PC kann ich die Daten in Echtzeit sehen.

Doch das will ich eigentlich gar nicht. Vielmehr möchte ich die Daten
in einem Zwischenspeicher ablegen und von Zeit zu Zeit auslesen. Da
nicht wirklich viele Daten anfallen, reichen 32 MB völlig aus.

Wie würdet ihr das machen? Ich kann den Speicher fest einbauen und über
seriell auslesen, dementsprechend ist es mir völlig egal, ob ich
SmartMedia, CF oder MMC verwende, oder sogar einen gelöteten Baustein.
Mein Problem ist nur, dass ich keine Ahnung habe, wie ich die Speicher
ansprechen soll.

Kennt jemand ein gutes Tutorial dazu? Ich kenne zwar auch die Beispiele
wie yammp etc..., aber ich suche ein "echtes" Tutorial, dass sich
diesem Problem annimmt.

Vielen Dank
Sebezahn

von Peter D. (peda)


Lesenswert?

"Da nicht wirklich viele Daten anfallen, reichen 32 MB völlig aus."

Für einen Mikrokontroller sind 32MB aber schon extrem heftig.

Auch mit seriell (COM) auslesen ist da nichts mehr. Da muß es schon
mindestens ein Wechselmedium oder USB2 sein. D.h. Du must dafür ein
Filesystem implementieren (z.B. FAT32) und das ist nicht ganz ohne.

Mikrokontroller bewegen sich eher so in Regionen von 32Byte...8kB SRAM,
64Byte...1kB EEPROM und 1kB...128kB Flash. Nur um mal zu zeigen wie
hoch Deine Forderungen angelegt sind.


Peter

von Matthias (Gast)


Lesenswert?

Hi

Das was man an Filesystem implementieren muß wenn man nur fest
Datensätze schreibt passt in etwa 4k Programmspeicher eines 8051. Been
there. Done that. Einfach eine große Datei auf die CF schreiben (vorher
am PC) und beim Schreiben der Sektoren der Clusterkette folgen. Ein
richtiges Tutorial kenn ich aber auch nicht dazu. Ich habe dazu die
Beschreibung von FAT16 + die CF-Spec 1.4 verwendet. Das reichte
eigentlich. Nur in ASM will man das eigentlich nicht mehr unbedingt
machen.

Matthias

von Sebezahn (Gast)


Lesenswert?

Hi,

>> Auch mit seriell (COM) auslesen ist da nichts mehr.
Och doch, dass darf ruhig etwas dauern. Die 32 MB sind mehr zur
Sicherheit gedacht, 8 tun es auch. 8KB hingegen sind definitiv zu
wenig.

>> Du must dafür ein Filesystem implementieren (z.B. FAT32)
>> und das ist nicht ganz ohne.
Wirklich? Kann ich nicht direkt auf die Karte schreiben? Wie gesagt,
ich kann die ruhig fest einbauen, ich brauche die nicht am PC auslesen
können. Irgendwo habe ich gelesen, CFs könnte man auch direkt
ansprechen...

>> Ich habe dazu die Beschreibung von FAT16
>> + die CF-Spec 1.4 verwendet. Das reichte
>> eigentlich. Nur in ASM will man das eigentlich
>> nicht mehr unbedingt machen.
Ja, ich auch nicht g Dann werde ich mich da mal durchkämpfen und
schauen, ob ich das in C hinbekomme.

Vielen Dank für Eure Antworten, wem noch etwas einfällt, bitte immer
gerne schreiben.

Gruß
Sebezahn

von Matthias (Gast)


Lesenswert?

Hi

wenn du es wirklich fest installiert haben willst reicht es die
Sektoren zu beschreiben. Aber das Übertragen von 8MB dauert über RS232
immer noch rund 12 Minuten. Der kleine Mehraufwand für FAT16/FAT32
würde ich mir antun.

Matthias

von Frankl (Gast)


Lesenswert?

Wenn es ASCII Daten sind (gewandelte Messwerte z.B.) Dann kannst Du sie
auch mittels µP und Terminal aus dem Externen Speicher (der vom µP
verwaltet wird) herausholen (ohne FAT u.s.w).

von Max (Gast)


Lesenswert?

MMC.Da kannst 128MB SPEICHERN UND NOCH DAZU spi-aNSTEUERUNG. Datenblatt
gibts bei der Fa. Google GmbH

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.