Sicherer Betrieb elektronischer Steuereinheiten dank Watchdog-Schaltungen Achtung, Wachhund!

Mit zunehmender Elektronifizierung des Automobils dringen die elektronischen Steuergeräte auch in sicherheitsrelevante Systeme des Fahrzeugs vor. Dort sind Fehlfunktionen keinesfalls hinnehmbar, können doch Leben auf dem Spiel stehen. Entsprechende Überwachungsschaltungen sollen Autos sicherer machen.

Sicherer Betrieb elektronischer Steuereinheiten dank Watchdog-Schaltungen

Mit zunehmender Elektronifizierung des Automobils dringen die elektronischen Steuergeräte auch in sicherheitsrelevante Systeme des Fahrzeugs vor. Dort sind Fehlfunktionen keinesfalls hinnehmbar, können doch Leben auf dem Spiel stehen. Entsprechende Überwachungsschaltungen sollen Autos sicherer machen.

In den vergangenen Jahren hat sich die Anzahl elektronischer Steuergeräte im Fahrzeug erheblich erhöht. Diese Steuerungseinheiten (ECUs – Electronic Control Units) wurden in der Vergangenheit bereits für nicht sicherheitsrelevante Anwendungen verwendet, z.B. in elektronischen Schließsystemen und Komfortanwendungen. Jetzt werden ECUs immer mehr auch in Sicherheitsanwendungen eingesetzt wie in Bremsen oder elektronischen Lenksystemen. Wenn eine solche ECU ausfällt, können die Folgen tödlich sein. Diese Systeme dürfen nicht in einen kritischen Zustand gelangen, der durch Spannungseinbrüche oder Transienten auf der Versorgungsspannung oder schlicht durch Softwarefehler entstehen könnte.

Um einen sicheren Betrieb unter allen Bedingungen zu garantieren, erfordern solche Systeme einen unabhängigen Überwachungsschaltkreis, der den korrekten Betrieb der Mikrocontroller auf den ECUs überwacht, auch „Watchdog-IC“ genannt. Atmel hat verschiedene Watchdog-Schaltkreise für diesen Zweck entwickelt. Dazu zählen die Fens-ter-Watchdog-Timer U5020M und U5021M sowie der Baustein ATA6020N, der durch einfache Programmierung an die Bedürfnisse der Applikation angepasst werden kann.

Funktionsprinzip eines Watchdog-Timers

Der Einsatz und die Anwendung eines Watchdog-Timers sind im Prinzip einfach. Im Normalbetrieb eines Mikrocontrollers wird der Watchdog-Timer vom Mikrocontroller in einem bestimmten Zeitfenster getriggert, damit dieser den Mikrocontroller nicht zurücksetzt. Ein fehlendes oder falsches Triggersignal bewirkt, dass der Watchdog-Timer den Mikrocontroller wieder zurücksetzt. Bild 1 zeigt eine solche Applikationsschaltung.

Neben der Überwachung des Triggersignals überwachen Watchdog-Timer auch die Versorgungsspannung des Mikrocontrollers. Unterschreitet die Spannung die untere Schwelle, wird der Mikrocontroller in den Reset-Zustand versetzt und so lange dort gehalten, bis die Spannung wieder einen ausreichenden Pegel erreicht hat.

Die Schaltkreise U5020M und U5021M sind Watchdog-Timer mit sehr ähnlicher Arbeitsweise. Beide überwachen eine Versorgungsspannung von 5 V. Die Taktfrequenz des internen RC-Oszillators kann durch externe Beschaltung eingestellt werden. Wird die Versorgungsspannung eingeschaltet, so hält der integrierte POR-Schaltkreis (Power-On-Reset) den Reset-Ausgang für die Zeit t0 auf aktiv „Low“. Erst nach dieser Zeit, wenn die Versorgungsspannung einen stabilen Wert erreicht hat, wird das Reset-Signal an den Mikrocontroller wieder abgeschaltet

Der Mikrocontroller signalisiert dem Watchdog-Timer einen korrekten Programmstart, indem er auf den Mode-Pin des U5020M innerhalb der Zeit t1 einen Low-Puls legt. Wenn das Low-Signal nicht innerhalb von t1 auftritt, erzeugt der Watchdog einen Reset-Impuls t6, und t1 beginnt erneut (Bild 2).

In modernen Automobilen findet man heute oft mehr als 20 verschiedene Mikrocontroller für die unterschiedlichsten Steuerungsaufgaben. Möchte man aus Sicherheitsgründen jedem dieser Systeme einen eigenen Watchdog-Timer spen-dieren, so steigt der Stromverbrauch immer weiter an. Aus diesem Grund wurde in die Watchdog-Timer von Atmel eine „Sleep“-Funktion integriert. Die Umschaltung zwischen dem aktiven und dem Sleep-Modus geschieht durch den Mode-Pin. Im aktiven Modus ist das Trigger-Fenster auf ein kurzes Zeitintervall, während des Sleep-Modus auf ein langes Zeitintervall eingestellt. Nach Ablauf dieses Zeitintervalls t2 beginnt die Freigabe-Zeit t3. Der Watchdog-Timer erwartet innerhalb dieser Freigabe-Zeit einen Trigger-Impuls. Wenn der Trigger-Impuls noch innerhalb der Sperr-Zeit t2 auftritt oder überhaupt kein Trigger-Impuls kommt, wird ein Reset-Puls erzeugt. Bild 3 zeigt die Zeitabläufe bei einem fehlenden Trigger-Impuls, Bild 4 mit einer korrekten Trigger-Sequenz.

Flexibles Watchdog-IC für sicherheitsrelevante Anwendungen

Der Baustein ATA6020N (Bild 5) ist Teil der 4-bit-Mikrocontroller-Familie MARC4 von Atmel und verfügt über einen vom Anwender programmierbaren ROM-Speicher von 2 Kbyte. Dieser Programmspeicher wird bei der Herstellung mit dem Anwenderprogramm des Kunden maskenprogrammiert. Der statische RAM-Speicherbereich ist 256 x 4 bit groß; er dient zur Speicherung von Variablen und Feldern und enthält zwei Stack-Speicherbereiche. Darüber hinaus umfasst der Baustein einen 8-bit-Multifunktions-Timer mit Modulatorfunktion, 12 bidirektionale Ein-/Ausgabe-Leitungen, eine Spannungsüberwachung, einen Langzeit-Intervall-Timer mit Watchdog-Funktion und eine eigene Takterzeugung auf dem Chip mit externem Takteingang und integrierten RC-Oszillatoren.

Bei der Entwicklung des ATA6020N wurde besondere Sorgfalt darauf verwendet, einen sicheren Betrieb unter allen Bedingungen zu garantieren. Daher umfasst der Chip eine „Power-On-Reset“-Schaltung, einen Spannungseinbruch-Detektor („Brown-Out-Reset“) und einen zusätzlichen internen Watchdog-Timer.

Der Power-On-Reset und der Brown-Out-Reset garantieren, dass der Prozessorkern des ATA6020N im zurückgesetzten Zustand gehalten wird, bis seine Mindest-Betriebsspannung erreicht ist. Wird während des Betriebs diese Mindest-Betriebsspannung kurzzeitig unterschritten, so wird ebenfalls ein Reset erzeugt. Ein Power-On-Reset wird erzeugt, wenn UDD über die eingestellte Brown-Out-Spannungsschwelle (3,0 V) steigt. Ein Brown-Out-Reset wird erzeugt, wenn UDD unter die eingestellte Spannungsschwelle fällt.

Als Brown-Out-Spannung sind zwei Werte verfügbar: Die niedrigere beträgt 3,0 V, die höhere Spannung 4,0 V. Eingestellt wird die Schwelle mit dem BOT-Bit im SC-Register des ATA6020N. Wenn BOT auf „1“ gesetzt wird, ist die niedrigere Schwellspannung aktiv (3,0 V), wenn BOT auf „0“ gesetzt wird, ist die höhere Schwelle aktiv (Bild 6).

Watchdog für normale und höhere Sicherheitsanforderungen

Eine einfache Watchdog-Schaltung funktioniert so, dass das Watchdog-IC ein Trigger-Signal vom Haupt-Controller empfangen muss, bevor der Watchdog-Timer das Reset-Signal für den Haupt-Controller erzeugt. Diese Systeme sind einfach aufgebaut, aber für viele Anwendungen sicher genug.

Bei Systemen, die eine höhere Sicherheitsstufe erfordern, kann das Watchdog-IC nur getriggert werden, wenn das Trigger-Signal innerhalb eines schmalen Timing-Fensters empfangen wird. Zusätzlich dazu muss der Watchdog die Spannungsversorgung des Haupt-Controllers überwachen, um diesen zurückzusetzen, bevor der Betrieb instabil wird.

Beide beschriebene Systeme können mit dem ATA6020N realisiert werden. Bild 7 zeigt eine solche einfache Anwendung, bei der der ATA6020N das Trigger-Signal über einen Eingangspin vom Haupt-Controller bekommt. Um die Leistungsaufnahme zu verringern, lässt sich der ATA6020N in den Sleep-Modus schalten, bei dem nur der interne Timer (zur Erzeugung des Reset-Timeout) und die Spannungsüberwachung aktiv bleiben. Der „Reset-Timeout“ kann direkt über die Anwendungssoftware auf die speziellen Anforderungen des Systems eingestellt werden. Diese Zeit erzeugen der Langzeitintervall-Timer (Timer 1), der 8-bit-Timer mit 4-bit-Vorteiler (Timer 2) oder beide zusammen in einer kombinierten Betriebsart (Bild 8). Somit lassen sich Zeiten von wenigen Mikrosekunden bis zu mehreren Sekunden nahezu beliebig einstellen.

Die integrierte Spannungsüberwachung besteht aus einem Komparator mit einer internen Spannungsreferenz. Der Komparator bietet zwei Betriebsarten: Bei der ersten Betriebsart wird die Versorgungsspannung des ATA6020N überwacht, wobei der Komparator sich auf einen von zwei Schwellwerten einstellen lässt (Bild 9). Der höhere Schwellwert beträgt 5,0 V, der kleinere 4,0 V. Für einen Betrieb in diesem Modus sind keine externen Bauelemente erforderlich.

Die zweite Betriebsart der Spannungsüberwachung stützt sich auf ei-ne interne stabilisierte Spannung von 1,25 V für den Komparator und vergleicht den Anschluss VMI/BP41 bezüglich dieser Spannung (Bild 10). Diese Betriebsart gibt dem Schaltungsentwickler die Flexibilität, beliebige Spannungspegel erkennen zu können. Durch eine geeignete Software hat der Systementwickler die Möglichkeit, individuell auf Spannungsabfälle reagieren zu können.

Um die Überwachung des HauptControllers zu verbessern, kann man auch anstelle eines einfachen Trigger-Signals ein spezielles, serielles Muster definieren. Hierdurch erreicht das System einen höheren Sicherheitsgrad. Einige Watchdog-Schaltungen benötigen nur einen Impuls zum Zurücksetzen des Watchdog-Timers. Diese Systeme können normalerweise nicht erkennen, ob der Haupt-Controller sich in einer Endlosschleife befindet, in der er nur noch diesen einen Impuls sendet.