Drei Watchdog-Timer-Modi, die Sie kennen sollten, um die Betriebszeit von IIoT-Geräten zu gewährleisten und die Systemleistung sowie die Energieeffizienz zu verbessern
In der Ära des industriellen IoT (IIoT) finden intelligente Geräte an Orten Platz, an die wir ursprünglich gar nicht gedacht haben. Sie könnten in einer Fabrikproduktion oder in einem abgelegenen Bereich installiert werden, angeblich um zu messen und/oder zu steuern. Wenn das intelligente Gerät ausfällt, könnte der gesamte Betrieb zum Stillstand kommen.
Um dies zu beheben, werden traditionell Techniker in diese Bereiche entsandt, in der Regel nur, um die Geräte neu zu starten. Das vergeudet nicht nur die Zeit der Techniker, die hin- und herreisen müssen, sondern führt auch zu langen Ausfallzeiten der Geräte und potenziellen Umsatzeinbußen. Für diese Art von einfachem Reset oder Neustart würde ein Watchdog-Timer dieses Problem schnell lösen.
Ein Watchdog-Timer ist eines der gängigsten Geräte, die in eingebettete Systeme eingebaut werden, und sie werden schon so lange verwendet, wie es eingebettete Systeme gibt. Im Wesentlichen handelt es sich bei dem Watchdog-Timer um Hardware, die entweder eigenständig oder in ein anderes Gerät wie eine MCU integriert ist und die automatisch Softwareanomalien erkennen und den Prozessor zurücksetzen kann, wenn Anomalien auftreten. Ein Watchdog-Timer wird manchmal auch als "Computer-Operating-Properly-Timer" (COP) oder einfach als Watchdog bezeichnet.
Um den Betrieb des Geräts zu gewährleisten, würde ein Fehler und das damit verbundene Zurücksetzen theoretisch von einem Menschen durchgeführt werden. In der Realität ist dies jedoch nicht möglich, da das System 365 Tage lang rund um die Uhr überwacht werden muss, die Aktion sehr schnell erfolgen muss und das System möglicherweise an einem entfernten Standort untergebracht ist.
Watchdog-Timer mit und ohne Fenster
Im Allgemeinen gibt es zwei Arten von Watchdog-Timer: Mit Fenster und ohne Fenster. Beide verhalten sich ähnlich, indem sie einen Reset auslösen, wenn sie aufgerufen werden. Der Unterschied zwischen ihnen besteht darin, dass der Watchdog mit Fenster auch einen Reset auslöst, wenn der Timer zu früh losgeht.
Der Watchdog-Timer basiert auf einem Zähler, der von einem Anfangswert auf Null herunterzählt. Die eingebettete Software, die er überwacht, wählt den Anfangswert des Zählers aus und startet ihn in regelmäßigen Abständen neu, um zu verhindern, dass er die Zeit überschreitet (Null erreicht). Erreicht der Zähler jemals den Wert Null, bevor die Software ihn neu startet, wird davon ausgegangen, dass die Software eine Fehlfunktion aufweist, und das Reset-Signal des Prozessors wird aktiviert.
In der Abbildung ist zu sehen, wie der Watchdog-Timer herunterzählt und dann zurückgesetzt wird (was wahrscheinlich einen Neustart des Systems zur Folge hat), wenn er Null erreicht, was auf einen Fehler hinweist.
Eine Anomalie kann auftreten, wenn ein vorübergehender Hardwarefehler vorliegt oder wenn die Software einen Fehler enthält oder anderweitig schief läuft. Wird ein Fehler festgestellt, wird der Prozessor (und die darauf laufende eingebettete Software) in der Regel neu gestartet, so als ob ein Mensch die Stromzufuhr unterbrochen hätte. Es können jedoch auch andere Abhilfemaßnahmen ergriffen werden, wenn das Entwicklungsteam des Systems dies für erforderlich hält. Eine solche Maßnahme könnte darin bestehen, den Computer in einen sicheren Zustand zu versetzen und/oder das System neu zu starten.
Heutzutage ist es üblich, dass der Watchdog-Timer direkt in den Host-Mikroprozessor integriert ist, was den Entwurfsprozess erheblich erleichtert. Alternativ kann er auch in einem nahe gelegenen IC untergebracht sein, das direkt mit dem Prozessor verbunden ist. Es gibt Fälle, in denen er sich tatsächlich auf einer separaten Platine befindet, aber dieses Szenario ist selten.
Drei Betriebsmodi
Bei typischer Verwendung kann der Watchdog-Timer in einem von drei Modi arbeiten:
- Modus 1: Wenn eine Fehlfunktion des Computers auftritt, wird er zurückgesetzt und wieder in Betrieb genommen
- Modus 2: Beim Auftreten einer Computerstörung wird der Watchdog-Timer-Stift hochgezogen
- Modus 3: Beim Auftreten einer Computerstörung wird der Watchdog-Timer-Stift hochgezogen und ein nichtmaskierbarer Interrupt (NMI) ausgegeben
Ein Aspekt des Watchdog-Timers, der berücksichtigt werden muss, ist, wann der Mikrocontroller in einen Energiesparmodus oder Ruhezustand übergeht. Der Watchdog-Timer selbst geht in einen Energiesparmodus über, da er nicht benötigt wird, wenn der Prozessor nicht in Gebrauch ist. Um dies zu erreichen, wird der Timer in der Regel angehalten und beim Eintritt des Prozessors in den Tiefschlaf und beim Verlassen des Tiefschlafs wieder mit seinem ursprünglichen Zählerstand gestartet.
Darüber hinaus wird der Ruhezustand in der Regel so definiert, dass die CPU und die Taktquelle sowie alle Peripheriegeräte, die auf diesen Takt verweisen, deaktiviert sind. Dies ist der Modus mit dem geringsten Stromverbrauch. Im inaktiven Modus, der ebenfalls wenig Strom verbraucht, aber nicht so wenig wie der Ruhezustand, ist die CPU deaktiviert, aber die Systemuhr läuft weiter. Peripheriegeräte können mit diesem Timer arbeiten und können optional deaktiviert werden.
Ein COM, drei Watchdog-Timer-Modi
Das WL968 von DFI ist ein COM Express 3.0 Modul, das seine Watchdog Timer richtig nutzt. Es wurde um einen Intel Core-Mikroprozessor der 8. Generation herum entwickelt und ist für IoT-Edge-Anwendungen geeignet.
Ein Beispiel für ein Board, das alle drei Watchdog-Timer-Modi verarbeiten kann, ist das DFI WL968. Das COM Express 3.0-Modul ist mit Intels Core-Mikroprozessor der 8. Generation i3, i5 oder i7 ausgestattet. Zu den weiteren Merkmalen des WL968 gehören bis zu 64 Gbyte DDR4-Speicher, verschiedene I/O-Schnittstellen, darunter AGA/DDI und LVDS, sowie DP++, das eine 4K x 2K-Auflösung unterstützt. Weitere Erweiterungen erfolgen über sechs PCIe-Ports, eine GbE-Schnittstelle und 12 USB-Ports (vier USB 3.0 und acht USB 2.0).
Da DFI im eingebetteten Bereich tätig ist, weiß das Unternehmen, wie wichtig ein langlebiger Support für seine Produkte ist. Daher bietet das WL968 einen 15-jährigen CPU-Lebenszyklus-Support (basierend auf Intels IOTG-Roadmap). Es sind zwei Versionen des Moduls erhältlich, eine für den Betrieb bei Standardtemperaturen (0° bis +60°C) und eine für den erweiterten Temperaturbereich (-40° bis +85°C).
Die richtige Verwendung des Watchdog-Timers kann zu einer verbesserten Systemleistung und Energieeffizienz führen, ebenso wie eine unsachgemäße Verwendung zu einem "fehlerhaften" System führen kann. Lassen Sie sich von den Experten von DFI helfen, dieses Netz zu entwirren.
Produkte, die COM Express 3.0 WDT unterstützen
Muss die Antenne innerhalb des Gehäuses platziert werden?