In Bearbeitung

Bitte warten ...

Einstellungen

Einstellungen

Gehe zu Anmeldung

1. WO2015007717 - VERFAHREN ZUR ERHÖHUNG DER VERFÜGBARKEIT EINES MIKROPROZESSORSYSTEMS

Anmerkung: Text basiert auf automatischer optischer Zeichenerkennung (OCR). Verwenden Sie bitte aus rechtlichen Gründen die PDF-Version.

[ DE ]

Beschreibung

Verfahren zur Erhöhung der Verfügbarkeit eines Mikroprozessorsystems

Die vorliegende Erfindung betrifft ein Verfahren zur Erhöhung der Verfügbarkeit eines Mikroprozessorsystems gemäß Oberbegriff von Anspruch 1.

Die WO 2011/117155 beschreibt ein Kontrollrechnersystem bzw. ein Verfahren zur Steuerung desselben, welches redundante und synchronisierte Mikroprozessoren umfasst, wobei im Falle einer Desynchronisation der Prozessoren eine Abarbeitung einer Applikationssoftware gestoppt und eine Fehlerprüfung der Prozessoren durchgeführt wird.

Im Anschluss an die Feststellung eines Fehlers und ausgeführter Fehlerdiagnose erfolgt zur Wiederherstellung der Systemfunktionalität ein Rücksetzen der funktionsfähigen Mikroprozessoren und Neustart der Applikationssoftware. Die Zeitspanne zur

Wiederherstellung, z.B. in der Größenordnung von Sekunden, ist sehr umfangreich im Vergleich zur Dauer der eigentlichen Fehlerdiagnose, welche eine Größenordnung von etwa 10 ms aufweisen kann.

Daher ist es Aufgabe der Erfindung, eine Möglichkeit bereitzustellen, mit welcher eine Erhöhung der Verfügbarkeit eines Mikroprozessorsystems erzielt wird.

Diese Aufgabe wird durch das Verfahren gemäß Anspruch 1 gelöst.

Die Erfindung beschreibt ein Verfahren zur Erhöhung der Verfügbarkeit eines Mikroprozessorsystems, wobei im Falle eines Fehlers eine Unterbrechung wenigstens eines durch das Mikro- Prozessorsystem ausgeführten Programms vorgenommen wird, und dass zur Wiederherstellung der Verfügbarkeit des Mikroprozessorsystems die Ausführung des Programms ausgehend von einem Programm-Haltepunkt fortgesetzt wird, der sich im Ablauf des Programms vor dem aufgetretenen Fehler befindet, wobei Kontextinformationen herangezogen werden, welche vor dem Auftreten des Fehlers und während der Ausführung des Programms erfasst und in einem dafür vorgesehenen Speicherbereich abgespeichert wurden .

In vorteilhafter Weise wird mit dem erfindungsgemäßen Verfahren eine Verkürzung der Dauer der Wiederherstellung eines Mikroprozessorsystems erreicht. Die Verfügbarkeit des Mikroprozessorsystems wird dadurch erheblich verbessert, was insbesondere für sicherheitskritische Anwendungen, wie z.B. für Kraftfahrzeugbremssysteme, vorteilhaft ist.

Gemäß einer bevorzugten Ausführungsform der Erfindung er-folgt das Abspeichern der Kontextinformationen mittels Speicherdirektzugriff. Eine Erfassung und Speicherung eines Teils der Kontextinformationen, welche lediglich auf Hardware-Ebene erfasst werden können, wird besonders bevorzugt durch wenigstens ein Hardware-Erfassungsmodul vorgenommen.

Bei der Erfassung und Speicherung der Kontextinformationen werden vorteilhafterweise somit im Wesentlichen keine zusätzlichen Rechenressourcen des Mikroprozessorsystems benötigt.

In Folge des Fehlers wird zur Fortsetzung der Ausführung des Programms von dem Programm-Haltepunkt bevorzugt zumindest ein Interrupt und/oder Hardware-Neustart ausgelöst.

Gemäß einer vorteilhaften Ausführungsform wird mittels zumindest eines Zählers eine Anzahl wiederholter Versuche zur Wieder- herstellung erfasst und mit einem definierten Schwellwert verglichen. Bei Überschreiten des Schwellwerts erfolgt bevorzugt eine Fehlerbehandlung ohne Verwendung von Programm-Haltepunkten .

5

Der Schwellwert legt demzufolge fest, wie oft der Versuch einer Wiederherstellung, insbesondere ausgehend vom selben Programm-Haltepunkt, vorgenommen werden soll. Damit liegt ein Abbruchkriterium zur Vermeidung anhaltender Wiederherstelle) lungsversuche vor, was notwendig ist, um im Falle von permanenten Fehlern die Verfügbarkeit des Systems beispielsweise durch einen Neustart wiederzuerlangen.

Ein Fehler liegt gemäß einer Weiterbildung der Erfindung zu-15 mindest dann vor, wenn eine Abweichung von Ausgangssignalen redundanter und insbesondere im Lockstep-Betrieb operierende Mikroprozessoren durch eine die Ausgangssignale vergleichende Vergleichseinrichtung ermittelt wird.

20 Weitere bevorzugte Ausführungsformen ergeben sich aus der

nachfolgenden Beschreibung eines Ausführungsbeispiels anhand von Figur 1.

Es zeigt:

25

Fig. 1 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens zur Erhöhung der Verfügbarkeit eines Mikroprozessorsystems .

30 Wie in der Fig. 1 gezeigt, beruht das erfindungsgemäße Verfahren zur Wiederherstellung der Verfügbarkeit eines Mikroprozessorsystems in Folge eines aufgetretenen Fehlers auf der Verwendung vorab definierter Programm-Haltepunkte 2 eines durch das System ausgeführten Programms 1. Unter einem Mikroprozessor- System im Sinne dieser Beschreibung werden auch MikroController, Mikrocontrollersysteme sowie Mikroprozessoren verstanden, welche zumindest einen Prozessor aufweisen und über Peripheriefunktionen Signale erfassen sowie ausgeben können.

Programm-Haltepunkt 2 stellt dabei eine Ansprungstelle in den Programmablauf von Programm 1 dar, der neben einem Programm-Zähler auch Kontextinformationen 3 des laufenden Betriebs von Programm 1 an diesem Punkt und zum jeweiligen Zeitpunkt umfasst. Die Kontextinformationen 3 können beispielsweise

Informationen des Registersatzes des Mikroprozessors, des Stacks und/oder gegebenenfalls einer Untermenge wichtiger Systemvariablen des RAMs des Mikroprozessorsystems umfassen. Für den jeweiligen Programm-Haltepunkt 2 werden diese Informationen, während der fehlerfreien Ausführung von Programm 1, periodisch in einen dafür vorgesehenen Speicherbereich des RAMs geschrieben. Dieses Abspeichern der Kontextinformationen 3 erfolgt beispielsweise mittels Speicherdirektzugriff (DMA) und benötigt somit im Wesentlichen keine zusätzlichen Rechenressourcen des Mikroprozessorsystems.

Wird ein Fehler erkannt, erfolgt das Auslösen eines Neustarts 5 der Hardware insbesondere durch eine Fehlerdiagnose-Hardware. In der darauf folgenden Initialisierung der Software kann die Ursache von Neustart 5 abgefragt und der zuletzt gesicherte

Programm-Haltepunkt 2 angesprungen werden. Anstelle einer vollen Initialisierung greift die Software dabei zunächst auf die während des laufenden Betriebs gesicherten, voraussichtlich fehlerfreien Kontextinformationen 3 von Programm-Haltepunkt 2 zu und setzt die Ausführung von Programm 1 von Programm-Haltepunkt 2 fort. Alternativ oder in Ergänzung zu Neustart 5 kann nach Erkennung eines Fehlers Interrupt 5 getriggert werden. In dessen Folge wird der als nächstes im Programmablauf vor dem aufgetretenen Fehler 4 liegende Programm-Haltepunkt 2 angesprungen.

Durch die Interrupt Service Routine von Interrupt 5 wird anschließend, wie bereits für den Neustart beschrieben, auf die Kontextinformationen 3 von Programm Haltepunkt 2 zugegriffen und die Programmausführung von Programm-Haltepunkt 2 fortgesetzt.

Umfasst das zugrunde liegende Mikroprozessorsystem redundante und insbesondere im Lockstep-Betrieb operierende Mikroprozessoren kann der Neustart bzw. Interrupt 5 beispielsweise durch eine die Ausgangssignale der Mikroprozessoren vergleichende Vergleichseinrichtung ausgelöst werden, wenn eine Abweichung dieser Ausgangssignale voneinander festgestellt wird.

Mittels Zähler Z wird die Anzahl ausgelöster Neustarts und/oder Interrups 5 bzw. der stattgefundenen Versuche zur Wiederher-Stellung mittels Programm-Haltepunkt 2 erfasst und mit

Schwellwert S verglichen. Schwellwert S legt somit fest, wie oft der Versuch der Wiederherstellung wiederholt werden soll, wenn Programm-Haltepunkt 2, in Folge eines weiterhin bestehenden Fehlers 4, mehrfach angesprungen wird. Liegt keine Über-schreitung von Schwellwert S vor, in Fig. 1 mit j bezeichnet, wird Programm-Haltepunkt 2 angesprungen. Bei Überschreiten von Schwellwert S, in Fig. 1 durch n gekennzeichnet, erfolgt eine Fehlerbehandlung ohne Verwendung von Programm-Haltepunkt 2. Eine solche Fehlerbehandlung kann beispielsweise der in der WO 2011/117155 beschriebenen entsprechen. Im Falle von permanenten Fehlern liegt somit ein Abbruchkriterium zur Vermeidung anhaltender Wiederherstellungsversuche vor. Alternativ oder in Ergänzung kann ein im Programmablauf noch weiter zurückliegender Programm-Haltepunkt (nicht dargestellt) angesprungen werden, was im Falle bereits fehlerhafter Kontextinformationen von

Programm-Haltepunkt 2 vorteilhaft wäre, welche unter Umständen zu Fehler 4 führen.

Falls die Kontextinformationen 3 von Programm-Haltepunkt 2 Informationen, wie z.B. Bus-Zustände oder Core-Zustände, umfassen, welche nicht dem Zugriff durch Software unterliegen, sondern lediglich auf Hardware-Ebene erfasst werden, ist ein Hardware-Erfassungsmodul vorgesehen, welches diese Kontextinformation erfasst und speichert oder zum Speichern bereitstellt.