Forum: Mikrocontroller und Digitale Elektronik SMART-Funktion in Gerätefirmware


von Heiner (Gast)


Lesenswert?

Ich muss für eine Gerätefirmware eine Logging-Funktion realisieren, mit 
der man im Problemfall Rückschlüsse auf den Betrieb ziehen kann. Konkret 
ist das eigentlich nur eine Temperatur und eine Spannung. Viel Platz ist 
nicht (ein paar Bytes), daher gehen nur einige ganz wenige Werte. Im 
Prinzip soll sich das am SMART einer Festplatte orientieren. Dort wird 
ja einfach nur der Höchstwert z.B. der Temperatur geloggt.
Wie würdet ihr das machen? Ich kann mir nämlich vorstellen, dass es mal 
nur einen kurzen Spike nach oben gibt (vor allem bei der Spannung) und 
das gar nichts über den "normalen" Betrieb aussagt. Also zusätzlich 
Durchschnittswerte loggen?

von Martin L. (maveric00)


Lesenswert?

Hallo,

hängt halt wirklich von dem verfügbaren Speicherplatz und der 
gewünschten Aussagekraft ab. Eine durchaus übliche Methodik ist die 
Klassengrenzenüberschreitungszählung (ich liebe die Möglichkeit der 
deutschen Sprache, nahezu unendlich lange Wörter bilden zu können ;-). 
In einer kleinen Variante könnte diese für Dich nützlich sein. Dabei 
wird gezählt, wie oft bestimmte Messgrenzen überschritten werden und 
damit quasi ein Lastprofil aufgezeichnet. Ansonsten findest Du in der 
Wikipedia unter "Zählverfahren" verschiedene Möglichkeiten Belastungen 
aufzuzeichnen.

Schöne Grüße,
Martin

von Norbert M. (Gast)


Lesenswert?

Heiner schrieb:
> Ich muss für eine Gerätefirmware eine Logging-Funktion realisieren, mit
> der man im Problemfall Rückschlüsse auf den Betrieb ziehen kann. Konkret
> ist das eigentlich nur eine Temperatur und eine Spannung.

Timestamp wäre vielleicht auch noch zu überlegen.

> Viel Platz ist nicht (ein paar Bytes), daher gehen nur einige ganz wenige
> Werte. Im Prinzip soll sich das am SMART einer Festplatte orientieren.

Dann sind das ja schon EINIGE Bytes ;)

> Wie würdet ihr das machen? Ich kann mir nämlich vorstellen, dass es mal
> nur einen kurzen Spike nach oben gibt (vor allem bei der Spannung) und
> das gar nichts über den "normalen" Betrieb aussagt. Also zusätzlich
> Durchschnittswerte loggen?

Ich würd's so machen: Durchschnitsswert und Spitzenwert loggen. Wenn 
mehr Platz ist: Den Spitzenwert, den Median und den Timestamp. Wenn noch 
ein Byte pro Datensatz übrig ist: Median, Spitzenwert, Timestamp und 
Durchschnitt der Werte ex dem Ausreisser. Damit kann man schon ziemlich 
viel erschlagen, imo.

LG, N0R

von Heiner (Gast)


Lesenswert?

Also, vom Prinzip her gefällt mir die Sache mit den Klassen schon ganz 
gut. Wird gezählt, wie oft ein Wert überschritten wird oder wird einfach 
die Zeit innerhalb des Bereichs einer Klasse aufsummiert? Letzteres 
würde in der Summe über alle Klassen auch gleich einen 
Betriebsstundenzähler bilden. Und man kann einfach bestimmen, welchen 
Anteil z.B. ein bestimmter Temperaturbereich an der Betriebszeit hatte. 
Also beispielsweise 90% der Zeit war das Gerät heißer als 70 °C...

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.