SMART-Funktion in Gerätefirmware

Gast #3612300
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?
#3612438
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
Gast #3612492
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
Gast #3613027
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren