PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Speicehrbedarf berechnen



elkokiller
29.08.2009, 12:05
Hallo,

wie finde ich heraus wie groß ich den Speicherbedarf eines AVR berechnen muss wenn ich 720 Messungen durchführe und dabei jeweils eine Temperatur von -30,0 bis +40,0 messe und jeweils Datum und Uhrzeit festhalten möchte?

Tobias

PicNick
29.08.2009, 13:41
Nun, du rechnest, wieviel Platz EINE Eintragung braucht und nimmst das mal 720

z.B ohne Optimierungen gerechnet:
Ein Zeitstempel (Datum + Uhrzeit) kommst du mit 4 Byte aus
Ein Float für die Temperatur wären nochmal 4 Byte.
Also 8 (ohne Tricks)

insgesamt dann 5760 Bytes + diverse Programmvariablen (z.B. Stack)

Also doch fast 6 k , d.h. ein externer Speicher würde es einfacher machen.

Wie gesagt, ohne optimierungen, nur so als Grössenordnung

recycle
29.08.2009, 14:01
wie finde ich heraus wie groß ich den Speicherbedarf eines AVR berechnen muss wenn ich 720 Messungen durchführe und dabei jeweils eine Temperatur von -30,0 bis +40,0 messe und jeweils Datum und Uhrzeit festhalten möchte?

Ich glaube aus den Angaben kannst du nur berechnen, wieviel Speicher du für alleine die Speicherung der Messwerte benötigst.
Die AD-Eingange der AVR messen normalerweise mit 10 bit, und der kleinste Datentyp um 10 Bit zu speichern ist (in Bascom jedenfallss) ein Word oder Integer. Beide brauchen 2 Byte.

Das wären dann 720 mal (2 Byte + Datum Uhrzeit)
Wenn man Messgenauigkeit opfert oder die Messwerte nicht die volle Breite des 10Bit Eingangs umfassen, könnte man die Masswerte zum speichern eventuell auch noch auf den Datentyp Byte herunterbrechen, das wären dann nur noch 720 * (1 Byte + Datum Uhrzeit)

Bei Datum und Uhrzeit könnte man sicher auch noch einsparen, wenn man z.B. nicht 720 mal das komplette Datum speichert sondern einmal das Datum und dann bei den Messwerten nur vermerkt wieviel Tage seitdem vergangen sind.
Bei der Uhrzeit könnte man je nach Messintervall und nötiger Genauigkeit eventuell auch nur speichern, wieviele Sekunden noder Minuten seit der letzten Messung vergangen sind.

Das wäre dann aber nur die Grösse des Speichers die du benötigst um die Werte zu speichern.
Zur Wahl des geigneten AVR dürfte hier entscheidend sein, ob es reicht, dass die Messwerte im laufenden Betrieb erhalten bleiben und ausgelesen werden können, oder ob du sie dauerhaft im EEProm speichern willst.

Der AVR braucht ja auch noch Speicher für den Programcode selber und da kommt es drauf an, wie du die ganze Sache programmierst.

D.h. letztendlich kommt es drauf an wie du das realisierst und wie genau es werden muss.