-
Die Erfindung betrifft ein Verfahren zum Betrieb eines Mehrkernprozessors gemäß dem Oberbegriff des Patentanspruchs 1.
-
Moderne und zukünftige Fahrzeuge werden mit einer Vielzahl an elektronisch gesteuerten Funktionen ausgestattet, welche hinsichtlich ihrer Sicherheit und Verfügbarkeit erhöhte Anforderungen an das Steuersystem des Fahrzeugs stellen.
-
Derzeit werden hochsichere und hochverfügbare Steuersysteme auf der Basis von Duplex-Control-Computern (DCC) eingesetzt, mit denen eine fehlersichere Ausführung von Software-Funktionen gewährleistet werden kann. Dazu wird eine identische Software auf zwei unabhängigen Mikroprozessoren zur Ausführung gebracht. Auch die Peripheriefunktionen der Mikroprozessoren, also nichtflüchtige und flüchtige Speichereinheiten, Netzwerkverbindungseinheiten, Ressourcenmanager, usw., erfolgen auf zwei getrennten Bearbeitungswegen, auf welche auch als »Lanes« einer gedoppelten »Dual Lane«-Verarbeitungsweise Bezug genommen wird. Zu bestimmten Zeitpunkten werden die Ergebnisse der beiden Mikroprozessoren gegenseitig ausgetauscht und in beiden Mikroprozessoren miteinander verglichen.
-
Falls in einer dieser so genannten Lanes oder in deren Kommunikationsverbindung ein Fehler auftritt, wird mit diesem Vergleich in zumindest einer der Lanes ein abweichendes Ergebnis erkannt. In Folge dessen wird der Duplex-Control-Computer als fehlerhaft betrachtet und schaltet sich ab. Damit ist garantiert, dass kein falsches Steuersignal von einem Duplex-Control-Computer ausgesendet wird und somit ein »Fail Silent«-Verhalten erreicht. Durch die Bereitstellung eines weiteren Duplex-Control-Computers, der bei einem Fehler des ersten Duplex-Control-Computers dessen Bearbeitung übernimmt, kann sogar ein »Fail Operational«-Verhalten erreicht werden.
-
Diese durch einen Dual-Lane-Betrieb unter Verwendung zweier unabhängig arbeitender Prozessoren gewährleistete Fehlererkennungswahrscheinlichkeit wird durch einen hohen Hardwareaufwand erzielt.
-
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zur Realisierung eines Steuersystems mit hoher Verfügbarkeit und Integrität zu schaffen, welches einen geringeren Aufwand an Hardware erfordert und gleichzeitig eine optimale Ausnutzung der Hardware-Ressourcen ermöglicht.
-
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst.
-
Beim erfindungsgemäßen Verfahren ist ein Betrieb eines Mehrkernprozessors vorgesehen, auf dem eine vorzugsweise sicherheitskritische Applikation zur Ausführung gebracht wird, welche eine Mehrzahl zyklischer Rechenoperationen umfasst. Der Begriff zyklische Rechenoperationen umfasst insbesondere eine mehrstufige Berechnung von Regelgrößen, bei denen zu diskreten Zeitpunkten dem Steuersystem digitalisierte Stellgrößen zugeführt, dort zeitsynchron berechnet und als digitales Ausgangssignal ausgegeben werden. Zur Berechnung einer jeweiligen Rechenoperation ist ein zeitlich bemessener Arbeitszyklus vorgesehen, welcher vorzugsweise wesentlich kleiner als eine kleinste Zeitkonstante eines zugrundliegenden Regelkreises ist.
-
Erfindungsgemäß ist vorgesehen, ein Verteilungschema vorzusehen, gemäß dem eine Berechnung einer Rechenoperation einem Kern des Mehrkernprozessors zugeführt wird. Nach Erhalt eines Ergebnisses einer aktuellen Rechenoperation wird innerhalb des aktuellen Arbeitszyklus und abhängig von einem Vergleichsschema mindestens ein Abstand zwischen dem aktuellen Ergebnis und mindestens einem Ergebnis einer mindestens einen Arbeitszyklus zurückliegenden Rechenoperation durchgeführt. Falls mindestens ein Abstand außerhalb eines erwarteten Werts ist, wird eine Fehlerindikation ausgegeben. Anschließend erfolgt die Berechnung einer darauffolgenden Rechenoperation auf einem gemäß dem Verteilungschema zugewiesenen anderen Kern des Mehrkernprozessors.
-
Erfindungsgemäß werden die Prozessorkerne (Cores) eines Mehrkernprozessors für eine mehrkanalige Berechnung einer sicherheitskritischen Applikation verwendet, wobei die Prozessorkerne in jedem Arbeitszyklus gewechselt werden.
-
Durch den erfindungsgemäßen Vergleich mindestens eines Abstand zwischen dem aktuellen Ergebnis und mindestens einem Ergebnis einer mindestens einen Arbeitszyklus zurückliegenden Rechenoperation anhand eines Vergleichsschemas können zufällige Fehler erkannt werden. Zwar liegt die Güte der erfindungsgemäßen Fehlererkennung etwas unter dem bei einem aus dem Stand der Technik bekannten »Dual-Lane-Betrieb« mit einer parallel-redundanten mehrkanaligen Berechnung. Die Güte der Fehlererkennung kann allerdings gegenüber dem Erfordernis eines geringeren Aufwands an Rechenleistung hintanstehen, insbesondere wenn für das Steuersystem eine wirtschaftliche Verwirklichung gefordert ist. Die Erfindung vereinigt somit Anforderungen an eine hinreichend sichere Fehlererkennung mit einer ökonomischen Auslegung der Rechenleistung.
-
In vorteilhafter Weise können auf den übrigen Prozessorkernen, welche derzeit nicht mit der Bearbeitung der sicherheitskritischen Applikation beaufschlagt sind, Rechenoperationen für andere sicherheitskritische oder nicht sicherheitskritische Applikationen durchgeführt werden, sodass trotz der mehrkanaligen Berechnung insgesamt kein merklicher Mehrbedarf an Rechenleistung aufgewendet wird. Insbesondere wird eine Verdoppelung der benötigten Rechenleistung vermieden, welche aus dem Stand der Technik bei einem Dual-Lane-Betrieb mit einer redundanten Berechnung auf jeweils einem Prozessorkern bekannt ist.
-
Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
-
Gemäß einer Ausgestaltung der Erfindung ist eine jeweils wechselweise Zuweisung der Rechenoperationen zu einem der Kerne des Mehrkernprozessors vorgesehen. Diese Ausgestaltung der Erfindung ist insbesondere bei einem Betrieb von Zwei- oder Mehrkernprozessoren mit einer zweikanaligen Berechnung der sicherheitskritischen Applikation das Mittel der Wahl, wobei die Prozessorkerne in jedem Arbeitszyklus gewechselt werden.
-
Die im folgendem erläuterten Ausgestaltungen der Erfindung basieren auf einem mehrstufigen Vergleichsschema, welches auf folgenden Überlegungen beruht: Falls in einem ersten Prozessorkern oder in einem dem ersten Prozessorkern zugeordneten Speicher in einem beispielhaften Arbeitszyklus i ein Fehler auftritt, ist das durch diesen ersten Prozessorkern errechnete Ergebnis verfälscht. In einem darauf folgenden Arbeitszyklus i + 1 berechnet nun der zweite Prozessorkern ein unverfälschtes Ergebnis. Im Arbeitszyklus i + 2 wird wiederum ein verfälschtes Ergebnis im ersten Prozessorkern berechnet. In jedem Arbeitszyklus wird auf jedem der beiden Prozessorkerne der Abstand zwischen dem aktuellen Ergebnis und mindestens einem zurückliegenden Ergebnis verglichen. Dabei wird frühestens im Arbeitszyklus i und spätestens im Arbeitszyklus i + 2 ein Fehler feststellbar sein.
-
Gemäß einer Ausgestaltung der Erfindung ist ein Vergleichsschema vorgesehen, gemäß dem aus dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus ein erster Abstand bestimmt wird. Überschreitet dieser erste Abstand einen Maximalwert oder, mit anderen Worten, ist dieser außerhalb eines für den ersten Abstand erwarteten Werts, wird erfindungsgemäß eine Fehlerindikation ausgegeben. Gemäß dieser Ausgestaltung wird bei einer zweikanaligen Berechnung der sicherheitskritischen Applikation auf einem jeweils wechselnden Prozessorkern eine Fehlberechnung eines Prozessorkerns im Arbeitszyklus i erkannt, bei der das von einem Prozessorkern errechnete Ergebnis von dem vom anderen Prozessorkern errechneten Ergebnis im Arbeitszyklus i – 1 dahingehend abweicht, dass das aktuelle Ergebnis vom anderen Ergebnis einen Abstand aufweist, welcher außerhalb eines vorgebbaren Maximalwerts bzw. Maximalabstands liegt.
-
Die durch die Erfindung vorgegebene Konsistenzüberprüfung auf Basis des Vergleichsschemas erfolgt nicht auf Bit-Identität wie etwa in dem aus dem Stand der Technik bekannten Dual-Lane-Betrieb. Der Grund hierfür liegt darin, dass für Rechenoperation in aufeinanderfolgenden Arbeitszyklen auch Eingangsdaten aus aufeinanderfolgenden Arbeitszyklen verwendet werden. Da die Eingangsdaten aus aufeinanderfolgenden Arbeitszyklen üblicherweise verschieden sind können auch die Ergebnisse bzw. Ausgangsdaten um einen zulässigen Abstand verschieden sein. Für diesen zulässigen Abstand kann ein zulässiger Maximalabstand vorgebbar sein oder, alternativ oder zusätzlich, ein zulässiger Abstand aus den Abständen der Ergebnisse aus zurückliegenden Arbeitszyklen berechnet werden. Die zuletzt genannte Berechnung eines zulässigen Abstands aus den Abständen der Ergebnisse aus zurückliegenden Arbeitszyklen wird in den folgenden Ausgestaltungen erläutert.
-
Durch die erfindungsgemäßen Maßnahmen können zufällige Fehler erkannt werden. Bei einem Ausführen derselben Software auf verschiedenen Prozessorkernen können generell systematische Fehler nicht erkannt werden. Dies gilt im Übrigen auch für den im Stand der Technik bekannten Dual-Lane-Betrieb.
-
Sollen auch systematische Fehler erkannt werden, ist es im Stand der Technik bekannt, auf zwei Prozessoren eines Dual-Lane-Computers verschiedenartige Software auszuführen, die damit sehr wahrscheinlich nicht den gleichen Fehler enthält. Dabei kann die zweite Software entweder denselben Funktionsumfang haben wie die erste, oder eine vereinfachte Berechnung durchführen. Letztere wird auch als Envelope-Funktion bezeichnet. In beiden Fällen kann auch beim Dual-Lane-Computer kein Vergleich einer Bit-Identität, sondern nur ein Vergleich der Ergebnisse durchgeführt werden. In vorteilhafter Weise sind beide genannten Verfahren mit dem vorliegenden erfindungsgemäßen Verfahren kombinierbar. Dazu würde beispielsweise die Applikation A1 im Zyklus i auf Core C1 und die Applikation A2 im Zyklus i + 1 auf Core C2 ausgeführt. Im fehlerfreien Fall würde die beschriebene Fehlererkennung unverändert funktionieren, gegebenenfalls mit einem vergrößerten zulässigen Delta. Insbesondere wenn eine der Applikationen eine Envelope-Funktion ist, wird ein größeres Delta vorzusehen sein, wie es auch im Stand der Technik üblich ist. Durch die Verschiedenartigkeit der Funktionen würden die beschriebenen Fehlererkennungsmechanismen in dieser Ausführungsform auch Fehler bzw. Unterschiede in den Applikationen A1 und A2 erkennen können.
-
Gemäß einer Ausgestaltung der Erfindung werden weitere Abstände sowie Differenzen zwischen Ergebnissen zurückliegender Rechenoperationen im Arbeitszyklus i + 1 bestimmt, wobei:
- – aus dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus ein zweiter Abstand bestimmt wird; und/oder;
- – aus dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation ein dritter Abstand bestimmt wird; und/oder;
- – aus einer Differenz aus dem Ergebnis der einen Arbeitszyklus zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus eine erste Differenz bestimmt wird; und/oder;
- – aus einer Differenz aus dem Ergebnis der zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis der einen Arbeitszyklus zurückliegenden Rechenoperation eine zweite Differenz bestimmt wird.
-
Gemäß einer Ausgestaltung der Erfindung wird eine Fehlerindikation ausgegeben, falls
- – der zweite Abstand geringer als der erste Abstand ist; und;
- – der zweite Abstand geringer als der dritte Abstand ist; und;
- – die erste Differenz ein von der zweiten Differenz unterschiedliches Vorzeichen hat.
-
Gemäß dieser Ausgestaltung wird bei einer zweikanaligen Berechnung der sicherheitskritischen Applikation auf einem jeweils wechselnden Prozessorkern eine Fehlberechnung eines Prozessorkerns im Arbeitszyklus i + 1 erkannt, bei der die von einem Prozessorkern errechneten Ergebnisse systematisch von der vom anderen Prozessorkern errechneten Ergebnisse abweichen. Dabei ist der zweite Abstand der Ergebnisse, die in den Arbeitszyklen i – 1 und i + 1 berechnet wurden, geringer als der erste Abstand der Ergebnisse aus den Arbeitszyklen i und i + 1 sowie geringer als der dritte Abstand der Ergebnisse aus den Arbeitszyklen i – 1 und i. Außerdem hat die erste Differenz der Ergebnisse aus den Arbeitszyklen i – 1 und i ein von der zweiten Differenz der Ergebnisse aus den Arbeitszyklen i und i + 1 unterschiedliches Vorzeichen.
-
Gemäß einer Ausgestaltung der Erfindung werden weitere Abstände sowie Differenzen zwischen Ergebnissen zurückliegender Rechenoperationen im Arbeitszyklus i + 2 bestimmt, wobei:
- – aus dem Ergebnis einer drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation ein vierter Abstand bestimmt wird; und/oder;
- – aus dem Ergebnis einer drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation ein fünfter Abstand bestimmt wird; und/oder;
- – aus einer Differenz aus dem Ergebnis der drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis der zwei Arbeitszyklen zurückliegenden Rechenoperation eine dritte Differenz bestimmt wird.
-
Gemäß einer Ausgestaltung der Erfindung wird eine Fehlerindikation ausgegeben, falls
- – der zweite Abstand geringer als der erste Abstand ist; und;
- – der zweite Abstand geringer als der dritte Abstand ist; und;
- – der vierte Abstand geringer als der dritte Abstand ist; und;
- – der vierte Abstand geringer als der fünfte Abstand ist; und;
- – die erste Differenz ein von der dritten Differenz unterschiedliches Vorzeichen hat; und;
- – die dritte Differenz ein von der zweiten Differenz unterschiedliches Vorzeichen hat.
-
Gemäß dieser Ausgestaltung wird bei einer zweikanaligen Berechnung der sicherheitskritischen Applikation auf einem jeweils wechselnden Prozessorkern eine Fehlberechnung eines Prozessorkerns im Arbeitszyklus i + 2 erkannt, bei der die von einem Prozessorkern errechneten Ergebnisse systematisch von der vom anderen Prozessorkern errechneten Ergebnisse abweichen. Dabei ist der zweite Abstand der Ergebnisse, die in den Arbeitszyklen i und i + 2 berechnet wurden, geringer als der erste Abstand der Ergebnisse aus den Arbeitszyklen i + 1 und i + 2 sowie geringer als der dritte Abstand der Ergebnisse aus den Arbeitszyklen i und i + 1.
-
Weiterhin ist der vierte Abstand der Ergebnisse, die in den Arbeitszyklen i – 1 und i + 1 berechnet wurden, geringer als der dritte Abstand der Ergebnisse aus den Arbeitszyklen i und i + 1 sowie geringer als der fünfte Abstand der Ergebnisse aus den Arbeitszyklen i – 1 und i. Außerdem hat die erste Differenz der Ergebnisse aus den Arbeitszyklen i und i + 1 ein von der dritten Differenz der Ergebnisse aus den Arbeitszyklen i – 1 und i unterschiedliches Vorzeichen, wobei die dritte Differenz wiederum ein von der zweiten Differenz der Ergebnisse aus den Arbeitszyklen i und i + 1 unterschiedliches Vorzeichen hat.
-
Gemäß einer Ausgestaltung der Erfindung ist ein Vergleichsschema vorgesehen, welches in jedem Arbeitszyklus eine Bestimmung mindestens eines Abstandes sowie einen Vergleich mit vorausgehenden Abständen und/oder Differenzen vorsieht. Alternativ findet eine Bestimmung von Abständen bzw. Differenzen und/oder deren Vergleich lediglich in vorbehaltenen Arbeitszyklen statt, beispielsweise in jedem vierten bzw. n-ten Arbeitszyklus. Weiterhin gemäß dem Vergleichsschema auch eine Erhöhung der Vergleichszyklen vorgesehen sein, wenn die jeweils pro Prozessorkern ermittelten Ergebnisse auseinanderdriften und/oder sich in Richtung eines Grenzwerts bewegen.
-
Im Folgenden werden weitere Ausführungsbeispiele und Vorteile der Erfindung anhand der Zeichnung näher erläutert. Dabei zeigen:
-
1: eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperationen zu diskreten Arbeitszyklen, bei der ein jeweiliger erwarteter Wertebereich für einen Abstand zwischen einem aktuellen Ergebnis und einem folgenden Ergebnis aufgetragen ist;
-
2: eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperationen zu diskreten Arbeitszyklen, bei der ein jeweiliger Abstand zwischen einem aktuellen Ergebnis und einem folgenden Ergebnis aufgetragen ist;
-
3: eine schematische Darstellung von Ergebnissen zweier Rechenoperationen über die Zeit, wobei die zugrundeliegende Rechenoperation ein integrierendes Regelglied enthält;
-
4: eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperationen zu diskreten Arbeitszyklen mit einer ersten Abtastrate, wobei die zugrundeliegende Rechenoperation ein integrierendes Regelglied enthält; und;
-
5: eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperationen zu diskreten Arbeitszyklen mit einer zweiten Abtastrate, wobei die zugrundeliegende Rechenoperation ein integrierendes Regelglied enthält.
-
In 1 und 2 ist ein Zeitdiagramm gezeigt, auf dessen Ordinate Ergebnisse C2i – 1, C1i, C2i + 1, C1i + 2, C2i + 3 zweier jeweils wechselweise von einem von zwei Prozessorkernen – mit einem jeweiligen entsprechenden Bezugszeichenpräfix C1 für einen ersten Prozessorkern und C2 für einen zweiten Prozessorkern – berechneten Rechenoperationen zu diskreten Zeitpunkten aufgetragen sind. Die auf der Abszisse aufgetragenen diskreten Zeitpunkte entsprechen Arbeitszyklen i – 1, i, i + 1, i + 2, i + 3.
-
In 1 ist ein jeweiliger erwarteter Wertebereich für einen Abstand zwischen einem aktuellen Ergebnis und einem folgenden Ergebnis aufgetragen, siehe den von einem jeweiligen punktförmigen Ergebniswert C2i – 1, C1i, C2i + 1, C1i + 2, C2i + 3 ausgehenden dreieckförmigen Bereich.
-
Erfindungsgemäß werden die Prozessorkerne, welche die beiden im Wesentlichen identischen Rechenoperationen zyklisch bearbeiten, in jedem Arbeitszyklus i – 1, i, i + 1, i + 2, i + 3 gewechselt. Damit kann ein jeweils nicht an der Bearbeitung der Rechenoperation beteiligter Prozessorkern andere Aufgaben bearbeiten, sodass keine redundante Rechenleistung verschwendet wird. Gleichzeitig wirken sich Fehler in der Bearbeitung der Rechenoperation auch die jeweils andere Rechenoperation auf dem anderen Prozessorkern aus.
-
Falls in einem Prozessorkern C1 oder in einem dem Prozessorkern C1 zugeordneten Speicher beispielsweise im Arbeitszyklus i ein Fehler auftritt, wird das durch diesen Prozessorkern C1 errechnete Ergebnis C1i verfälscht. Im nächsten Arbeitszyklus i + 1 rechnet nun der andere Prozessorkern C2 ein diesmal unverfälschtes Ergebnis C2i + 1.
-
Im nächsten Arbeitszyklus i + 2 wird wieder ein verfälschte Ergebnis C1i + 2 im Prozessorkern C1 berechnet. In beiden Prozessorkernen C1, C2 sind, gemäß einer Ausgestaltung des erfindungsgemäßen Vergleichsschemas, folgende Überwachungsmechanismen vorgesehen, die frühestens im Arbeitszyklus i und spätestens im Arbeitszyklus i + 2 feststellen können, dass ein Fehler vorliegt.
- a. Im Arbeitszyklus i: Ein erster Abstand der in den Arbeitszyklen i und i + 1 berechneten Ergebnisse C1i und C2i + 1 überschreiten einen Maximalwert gemäß 1. Mit anderen Worten befindet sich das im Arbeitszyklus i + 1 berechnete Ergebnis C2i + 1 außerhalb des dreieckförmige Bereichs eines für einen maximalen Abstand erwarteten Werts.
- b. Im Arbeitszyklus i + 1: Der zweite Abstand der in den Arbeitszyklen i – 1 und i + 1 berechneten Ergebnisse C2i – 1 und C2i + 1 ist geringer als der erste Abstand der in den Arbeitszyklen i und i + 1 berechneten Ergebnisse C1i und C2i + 1. Weiterhin ist der zweite Abstand der in den Arbeitszyklen i – 1 und i + 1 berechneten Ergebnisse C2i – 1 und C2i + 1 geringer als der dritte Abstand der in den Arbeitszyklen i – 1 und i berechneten Ergebnisse C2i – 1 und C1i. Außerdem hat die erste Differenz der Ergebnisse aus den Arbeitszyklen i – 1 und i, also (C2i – 1) – (C1i), ein von der zweiten Differenz der Ergebnisse aus den Arbeitszyklen i und i + 1, also (C1i – C2i + 1), unterschiedliches Vorzeichen.
- c. Im Arbeitszyklus i + 2: Der zweite Abstand der in den Arbeitszyklen i und i + 2 berechneten Ergebnisse C1i und C1i + 2 ist geringer als der erste Abstand der der in den Arbeitszyklen i + 1 und i + 2 berechneten Ergebnisse C2i + 1 und C1i + 2 sowie geringer als der dritte Abstand der in den Arbeitszyklen i und i + 1 berechneten Ergebnisse C1i und C2i + 1. Weiterhin ist der der in den Arbeitszyklen i – 1 und i + 1 berechnete vierte Abstand der Ergebnisse C2i – 1 und C2i + 1 geringer als der in den Arbeitszyklen i und i + 1 berechneten dritte Abstand der Ergebnisse C1i und C2i + 1 sowie geringer als der in den Arbeitszyklen i – 1 und i berechnete fünfte Abstand der Ergebnisse C1i und C2i – 1 und C1i. Außerdem hat die erste Differenz der in den Arbeitszyklen i und i + 1 errechneten Ergebnisse (C1i) – (C2i + 1) ein von der dritten Differenz der in den Arbeitszyklen i – 1 und i errechneten Ergebnisse (C2i – 1) – (C1i) unterschiedliches Vorzeichen, wobei die dritte Differenz wiederum ein von der zweiten Differenz der in den Arbeitszyklen i und i + 1 errechneten Ergebnisse (C1i) – (C2i + 1) unterschiedliches Vorzeichen hat.
-
2 zeigt den ersten Abstand A1, den zweiten Abstand A2, den dritten Abstand A3, den vierten Abstand A4 und den fünften Abstand A5.
-
Falls keine Vorschrift für einen maximalen Gradienten vorliegt, kann demnach erst im Arbeitszyklus i + 2 sicher erkannt werden, dass ein Fehler vorliegt. Dieser Test kann je nach Bedarf kontinuierlich in jedem Arbeitszyklus durchgeführt werden, oder z.B. in jedem n-ten Zyklus.
-
Zusätzlich können auch engere maximale Abstände definiert werden, die ein- oder mehrmals überschritten werden dürfen, bevor ein Fehler detektiert wird. Die Konsistenzüberprüfung kann nicht, wie in einem »echten« Dual-Lane-Betrieb, auf Bit-Identität erfolgen, da die beiden Prozessorkerne für die Berechnungen in aufeinanderfolgenden Arbeitszyklen die Eingangsdaten aus aufeinanderfolgenden Zyklen verwenden.
-
Da die Eingangsdaten in aufeinanderfolgenden Arbeitszyklen verschieden sein werden, evtl. um ein durch einen vorgegebenen maximalen Abstand begrenzt, können auch die Ausgangsdaten um ein zulässiges Delta verschieden sein. Für dieses Delta kann ein zulässiger Wert bekannt sein oder aus den Abständen der Eingangsdaten berechnet werden.
-
Der erfindungsgemäße Vorteil ist eine Halbierung der benötigten Rechenleistung, ohne eine Zykluszeit eines mit einer Applikation realisierten digitalen Reglers gegenüber der zweikanaligen Berechnung zu erhöhen. Dies hat zwar eine Reduktion der Güte der Konsistenzprüfung – Delta-Konsistenz statt Bit-Identität – und eine Verlangsamung der Fehlerreaktion um bis zu zwei Arbeitszyklen zur Folge, die Zykluszeit des Reglers im fehlerfreien Fall wird gegenüber der zweikanaligen Berechnung allerdings nicht erhöht.
-
Gemäß weiteren Ausführungsformen der Erfindung werden zusätzliche Maßnahmen getroffen, falls die Applikation zumindest teilweise einen digitalen Regler realisiert, welcher zumindest teilweise integrierende Regelglieder, also Regler mit I-Anteilen enthält oder auch anderweitig vergangene Systemzustände mit in die Berechnung einbezogen werden.
-
3 zeigt eine schematische Darstellung zweier jeweiliger von einem ersten Prozessorkern C1 und einem zweiten Prozessorkern C2 ermittelten Ergebnissen einer Rechenoperation über die Zeit dargestellt, wobei die zugrundeliegende Rechenoperation ein integrierendes Regelglied enthält. Während der vom zweiten Prozessorkern C2 ermittelte Ergebnisverlauf im Wesentlichen einem Idealwertverlauf ID der Rechenoperation folgt, driftet der vom erstem Prozessorkern C1 ermittelte Ergebnisverlauf ab.
-
Da beide oder mehrere Prozessorkerne leicht unterschiedliche Eingangswerte erhalten, können die Ausgangswerte ebenfalls leicht unterschiedlich sein. Dies ist im Rahmen der Deltakonsistenzprüfung gemäß der Erfindung zulässig. Falls aber die Regelziele der beiden Prozessorkerne leicht über und unter dem Idealwert liegen können sich die Integrator-Variablen in den beiden Prozessorkernen stetig vergrößern, da jeder Prozessorkern stetig eine leichte Abweichung in der gleichen Richtung sieht.
-
Dies kann zu einem Zittern eines angesteuerten Aggregates führen, da die beiden Regler immer stärker in entgegengesetzte Richtungen regeln. Eine kritische Situation wird erreicht, sobald die Integratorvariablen in einem der Regler einen Grenzwert, z.B. die Wertebereichsgrenze der Variablen erreichen. Jetzt kann einer der Regler nicht mehr entsprechend gegensteuern und der Regelwert driftet ab. Dies würde zwar unter den oben beschriebenen Bedingungen zu einer sicheren Abschaltung führen. Die Zuverlässigkeit des Systems wäre aber nicht mehr gegeben, da in diesem Fall das Wechseln der Prozessorkerne den Fehler erzeugt. Um dieses Problem zu vermeiden, ist eine geeignete Drift-Kompensation vorzusehen. Dazu können beispielsweise die Werte der Integratoren in den beiden Bearbeitungswegen gegenseitig ausgetauscht werden. Um eine mögliche Fehlerausbreitung zu vermeiden, empfiehlt es sich, die ausgetauschten Werte der Integratoren zu begrenzen. Aus der Dynamik der Regelstrecke und der Auslegung des Reglers können die im Normalbetrieb zulässigen Integratorwerte bestimmt werden. Eine Begrenzung der Integratorwerte ist nicht kritisch, da sie schlimmstenfalls zu einer Verlangsamung des Reglerverhaltens, nicht aber zu einer Instabilität führen kann.
-
Zu Instabilitäten kann es kommen, wenn das Eingangssignal des Reglers mit einer Frequenz, die der Arbeitszyklusfrequenz – also dem Kehrwert eines zeitlichen Werts des Arbeitszyklus – ähnlich ist, oszilliert. Dies kann dazu führen, dass einem Prozessorkern stets ein zu hoher, dem andere Prozessorkern stets ein zu niedriger Wert am Reglereingang übergeben wird und dadurch die Stellgrößen gemäß 4 oszillieren. Dieses Verhalten würde nach den obenstehenden Regeln als Fehler erkannt und ist deshalb zu vermeiden.
-
Folgende Ausgestaltungen sind hierzu geeignet:
- – Vermeiden von Unterabtastung. Regler sollten grundsätzlich so ausgelegt werden, dass die Abtastrate wesentlich höher ist als die Frequenz der Regelgrößen. Betriebsbewährt sind Faktoren von vier oder größer, vgl. 5. Bei allen Regelstrecken, deren Dynamik hinreichend bekannt ist, kann und sollte diese Maßnahme angewendet werden.
- – Wechsel des Prozessorkerns in einem »Walzertakt« oder ähnliche diskontinuierliche Wechsel: Falls die Dynamik der Regelstrecke nicht bekannt ist, kann der Rhythmus, in dem die Prozessorkerns gewechselt werden, verändert werden. Beispielsweise könnte die Berechnung einer Rechenoperation dem ersten Prozessorkern C1 immer zweimal zugeführt werden, anschließend einmal dem zweiten Prozessorkern C2. Durch die asymmetrische Periodendauer beim Wechsel der Prozessorkerne kann es keine Frequenz einer Reglergröße geben, die zu dem oben beschrieben Verhalten verbunden mit einer ungewollten Fehlererkennung führt.
- – Verwendung eines Drei- oder Mehr-kernprozessors. Beispielsweise könnte die Berechnung einer Rechenoperation einmal einem ersten Prozessorkern C1, dann einem zweiten Prozessorkern C2, dann einem dritten Prozessorkern C3 zugeführt werden. Ein Fehler in einem der Prozessorkerne könnte somit von oszillierenden Eingangsdaten unterschieden werden, da ein Fehler in einem der Prozessorkerne nur in jeden dritten Zyklus auftreten würde.
- – Integratorwert-Rückführung mit Begrenzung des gültigen Wertebereichs für rückgeführte Integratorwerte wie oben ausgeführt.
- – Abgleich von Systemzuständen mit Historie: Falls Systemzustände aus einer Anzahl von Werten aus der Vergangenheit berechnet werden, können unterschiedliche Eingangsdaten auch zu unterschiedlichen Ergebnissen bei der Berechnung dieser Systemzustände führen. Um hier eine Fehlererkennung zu vermeiden, sind entweder zeitliche Deltas bei der Berechnung dieser Fehlerzustände zu erlauben, oder die Zustände zwischen den Bearbeitungswegen auszutauschen.
-
Alternativ zu den oben dargestellten Verfahren können gemäß einer alternativen Ausgestaltung der Erfindung beide Bearbeitungswege auf denselben Speicherbereich zugreifen. Damit wären alle historischen Daten, Integratorwerte etc. für beide Bearbeitungswege identisch und damit keine der obigen Mechanismen erforderlich. Der Preis für diese Vereinfachung ist, dass der gemeinsam genutzte Speicherbereich zu einem gemeinsamen Fehlerursachenbereich wird. Für einige Anwendungsfälle kann dies akzeptabel sein, wenn die Wahrscheinlichkeit für unentdeckte Fehler in dem gemeinsamen Fehlerursachenbereich durch geeignete Maßnahmen, z.B. ECC (Error-Correcting Code) oder Memory Scrambling, ausreichend gering ist.
-
Erfindungsgemäß werden mindestens zwei Prozessorkerne eines Mehrkernprozessors dazu genutzt, eine sicherheitskritische Applikation zweikanalig zu berechnen. Dabei werden die Rechenoperationen nicht in jedem Rechenzyklus auf beiden Prozessorkernen redundant berechnet, sondern beide Prozessorkerne werden in verschiedenen Arbeitszyklen mit verschiedenen Applikationen ausgelastet. Somit wird eine Verdoppelung der benötigten Rechenkapazität in vorteilhafter Weise vermieden. Um eine gegenseitige Überwachung der Prozessorkerne zu erreichen, werden die Rechenoperationen abwechselnd auf beiden Prozessorkernen berechnet. Durch die beschriebenen Fehlererkennungsmechanismen können zufällige Fehler erkannt werden. Zwar liegt die Güte der erfindungsgemäßen Fehlererkennung etwas unter dem bei einem aus dem Stand der Technik bekannten »Dual-Lane-Betrieb« mit einer parallel-redundanten mehrkanaligen Berechnung. Die Güte der Fehlererkennung kann allerdings gegenüber dem Erfordernis eines geringeren Aufwands an Rechenleistung hintanstehen, insbesondere wenn für das Steuersystem eine wirtschaftliche Verwirklichung gefordert ist. Die Erfindung vereinigt somit Anforderungen an eine hinreichend sichere Fehlererkennung mit einer ökonomischen Auslegung der Rechenleistung.