Rechnersystem zur Auswertung sicherheitskritischer Sensorgrößen
Die Erfindung betrifft ein Rechnersystem zur Auswertung sicherheitskritischer Sensorgrößen nach dem Oberbegriff des Anspruchs 1 oder 2.
Die IEC 61508 ist eine internationale Norm zur Schaffung von elektrischen, elektronischen und programmierbaren elektronischen Systemen, die eine Sicherheitsfunktion ausführen. Sie wird von der International Electrotechnical Commission (IEC) herausgegeben. Die IEC 61508 schreibt für den Sicherheitsintegrationslevel 3 bestimmte hardware-technische Mindestwerte, z. B. für FIT (failure in time) und SFF (safe failure fraction) vor, die in der Regel nur durch zusätzliche Software-technische Maßnahmen erreicht werden können. Insbesondere der Nachweis zur Absicherung gegen Rechenfehler der CPU macht eine bedeutenden Anteil des Gesamtnachweises der Sicherheitsintegrität aus.
Bisher werden zur Absicherung gegen Rechenfehler zwei verschiedene Mikrocontroller-Chips oder zumindest zwei parallel verlaufende Rechenpfade auf einem Chip verwendet. Mitunter kommen auch invertierend verlaufende Rechenpfade, beschrieben beispielsweise in der deutschen
Offenlegungsschrift DE 42 19 457 A1 , zur Anwendung. Eine Zwei-Chip- Lösung macht sich im Bereich der Massenproduktion teuer bemerkbar und durch die bisherigen Lösungen auf einem Chip konnte funktionale Sicherheit nur eingeschränkt oder nur mit zusätzlicher Hardware nachgewiesen werden, da die CPU bei internen Fehlern in den parallel oder invertierend verlaufenden Rechenwegen in gleicher Weise falsch rechnet. CPU-Fehler können daher unter Umständen unentdeckt bleiben. Es fehlt der einfache Nachweis, dass die CPU nicht in beiden Rechenwegen gleich falsch gerechnet hat und für den Vergleich der Ergebnisse zwei gleiche, aber falsche Ergebnisse vorliegen oder dass im Falle von invertierenden Rechenwegen die CPU durch Fehler z. B.
beide Rechenwege auslässt und direkt zwei Eingangsgrößen verglichen werden.
Ziel der Erfindung ist es, ein Rechnersystem zur Auswertung sicherheitskritischer Sensorgrößen zu schaffen, welches nachweisbar eine besonders hohe Sicherheitsintegrität der CPU erreicht, ohne auf einen separaten, aufwendigen CPU-Test angewiesen zu sein.
Diese Aufgabe wird erfindungsgemäß jeweils durch die kennzeichnenden Merkmale des Anspruchs 1 und des Anspruchs 2 gelöst.
Erfindungsgemäß ist vorgesehen, dass zu dem Rechnersystem wenigstens zwei Sensoren gehören, die bei einem zu erfassenden Systemzustand qualitativ oder zumindest quantitativ verschiedene Sensorgrößen ausgeben. Es wird vorausgesetzt, dass ein bekannter funktionaler Zusammenhang zwischen den Ausgangsgrößen beider Sensoren besteht.
Die Sensorgröße eines ersten Sensors liegt an einem Eingang eines Rechners an, welcher daraus eine Ausgangsgröße berechnet, die für praktisch nutzbare Zwecke, beispielsweise als Steuerungsgröße für ein Stellglied, zur Verfügung steht. Aus dieser Ausgangsgröße wird in einem weiteren Schritt eine Vergleichsgröße berechnet, die der erwarteten Sensorgröße des zweiten Sensors entspricht. Diese Vergleichsgröße wird von dem Rechner an einen externen Vergleicher gegeben, der die Vergleichsgröße mit der dem Rechner völlig unbekannten, tatsächlichen Sensorgröße des zweiten Sensors auf
Übereinstimmung vergleicht. Ein positives Vergleichsergebnis spricht dabei für die Sicherheitsintegrität der CPU und für eine korrekt ablaufende Berechnung der Ausgangsgröße und der Vergleichsgröße. Zugleich bleibt der, aus dem Stand der Technik bekannte, Nachweis über die korrekte Funktion beteiligter Sensoren erhalten, den ein Vergleicher prinzipiell liefert.
Die der Erfindung zugrunde liegende Idee ist somit, sich qualitativ oder auch nur quantitativ verschiedener Sensoren zu bedienen, die unterschiedliche Messgrößen oder zumindest unterschiedliche Werte liefern und damit während der Verarbeitung, und zwar unabhängig vom verwendeten Algorithmus (parallel/invertierend/invers/komplementär/zurückrechnend), zu jeder Zeit stets für unterschiedliche Datenniveaus sorgen.
Zu keiner Zeit ist die CPU in der Lage, die Vergleichsgröße anders (z. B. durch Kopie der ersten Sensorgröße) anzubieten, als durch das Ergebnis einer korrekt abgelaufenen Berechnung. Zum Nachweis der CPU- Sicherheitsintegrität ist nun ein Vergleich der Vergleichsgröße und der zweiten Sensorgröße von entscheidender Bedeutung. Verglichen werden (gegebenenfalls in einem die möglichen Abweichungen wie z. B. Sensorungenauigkeiten ausgleichenden Toleranzband) die Vergleichsgröße und der dem Rechnersystem bisher unbekannte Wert einer zusätzlichen, unabhängigen Datenquelle. Dieser Wert ist durch die zweite Sensorgröße gegeben.
Da die zweite Sensorgröße nur roh, also von der CPU unberührt und absolut unverarbeitet vorliegt, liefert der Vergleich an dieser Stelle ein Ergebnis, das allein von der CPU-Integrität des Rechnersystems (Chip) abhängt. Vorausgesetzt wird hier die Fehlerfreiheit der beiden Sensoren, bzw. die ihrer eigenen CPUs, die nur durch unabhängige Maßnahmen sichergestellt und nachgewiesen werden kann.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindungen gehen aus den abhängigen Ansprüchen und der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der Zeichnung hervor. Es zeigen
Figuren 1 und 2 jeweils ein Ausführungsbeispiel eines erfindungsgemäßen
Rechnersystems,
Figuren 3 und 4 jeweils ein Ausführungsbeispiel eines Rechnersystems, nach dem Stand der Technik, Figur 5 ein Anwendungsbeispiel für ein Rechnersystem.
Die Figur 3 zeigt ein Rechnersystem nach dem Stand der Technik. Dargestellt ist hier eine stark vereinfachte Darstellung des in der Figur 3 der deutschen Offenlegungsschrift DE 42 19 457 A1 beschriebenen Rechnersystems. Hierbei sind nur die Komponenten dargestellt, die zur Erläuterung des zur Erfindung führenden Problems erforderlich sind.
In der Figur 3 erkennbar ist ein Ein-Chip-Rechenbaustein, also ein Mikrocomputer oder MikroController, der im folgenden kurz als Rechner MC bezeichnet wird. Der Rechner MC erhält die Sensorgrößen (e, ΘR) von zwei Sensoren (S1 , S2) zugeführt. Die Sensorgrößen (e, eR) werden hier als digitale Werte vorausgesetzt, wobei die Sensoren (S1 , S2) aber prinzipiell auch analoge Signale liefern können, die innerhalb des Rechners MC digitalisiert werden.
Aus der Sensorgröße e des ersten Sensors S1 berechnet der Rechner MC mittels einer Funktion f1 eine Ausgangsgröße a, die an einem Ausgang des
Rechners MC ausgegeben wird, und beispielsweise zur Steuerung eines nichtdargestellten Stellglieds verwendet werden kann.
In einem weiteren Schritt berechnet der Rechner MC mittels einer Funktion f2 aus der Ausgangsgröße a eine Vergleichsgröße e\ Da die DE 42 19 457 A1 die Funktion f2 als die bezüglich der ersten Eingangsgröße e invertierte Funktion fl zur erste Funktion f1 beschreibt, ergibt sich, bei korrekter Funktion des Rechners MC, eine Vergleichsgröße e', die mit der ursprünglichen Eingangsgröße e des ersten Sensors S1 übereinstimmt.
Dies kann rechnerintern durch Vergleich (e = e' ?) der Größen e und e' überprüft werden. Des weiteren wird eine Überprüfung der ersten und der
zweiten Sensorgröße auf Überstimmung (e = ΘR ?) vorgeschlagen. Es wird somit vorausgesetzt, dass die als redundant bezeichneten Sensoren (S1 , S2) quantitativ gleichartige Sensorgrößen (e, eR) ausgeben.
Da ein nicht korrekt funktionierender Rechner MC prinzipiell auch falsche Vergleiche liefern kann, ist darüber hinaus ein, bezüglich des Rechners MC, externer Vergleicher V vorgesehen. Dieser Vergleicher V vergleicht die Sensorgröße eR des zweite Sensors S2 mit der berechneten Vergleichsgröße e\ Wegen der oben vorausgesetzten Identitäten (e = ΘR und e = e') muss auch dieser Vergleich, bei korrekt funktionierenden Sensoren (S1 , S2) und einem fehlerfrei arbeitenden Rechner MC, die Identität der verglichenen Größen (e\ eR) bestätigen.
Problematisch ist, dass hierbei bestimmte Fehler des Rechnersystems verborgen bleiben können. Wie die Figur 4 schematisch andeutet, ergibt sich ein Problem, wenn die erste Sensorgröße e, ohne dass eine Berechnung durchgeführt wurde, als vermeintlich berechnete Vergleichsgröße e' an den Ausgang des Rechners MC gelangt. Dies kann beispielsweise dadurch geschehen, dass die erste Sensorgröße e in ein Register des Rechners MC eingelesen wird, und aus diesem Register zu einem späteren Zeitpunkt als vermeintlich berechnete Vergleichsgröße e' ausgelesen wird und an den Ausgang des Rechners MC gegeben wird, ohne dass tatsächlich eine Berechnung mittels der Funktionen f 1 und f2 stattgefunden hatte.
Da die beiden Sensorgrößen e und ΘR bereits eingangsseitig identisch vorgesehen sind, liefert somit der vom Vergleicher V durchgeführte Vergleich von e' und ΘR nun ebenfalls eine Übereinstimmung. Der Vergleicher V ist somit nicht in der Lage, den beschriebenen Rechenfehler aufzudecken.
Ein anderes Fehlerszenario ist dadurch gegeben, dass der Rechner MC sowohl bei der Berechnung der Funktion f1 als auch bei der Berechnung der
Funktion f2 jeweils einen Fehler macht, und sich diese Fehler gegenseitig aufheben. Auch hier können weder rechnerinterne noch rechnerexterne Vergleiche den vorliegenden Fehler erkennen.
Als Beispiel hierfür sei ein systematisch auftretender Vorzeichenfehler genannt, der sich nach zwei fehlerhaften Rechenschritten wieder aufhebt. Dabei bleibt die durch den ersten Rechenschritt berechnete Ausgangsgröße a aber weiterhin fehlerhaft, was sich sicherheitskritisch auswirken kann.
Diese Fehlermöglichkeiten werden durch das erfindungsgemäße
Rechnersystem ausgeschlossen, wie nachfolgend anhand der Figur 1 erläutert werden soll. Zur Verdeutlichung der Gemeinsamkeiten und Unterschiede zum vorstehend beschriebenen Stand der Technik wurden die Bezeichnungen aus den Figuren 3 und 4 teilweise beibehalten.
Bedeutsam ist zunächst, dass die Sensoren (S1 , S2) zwar redundante Sensorgrößen (e-i, e2) ausgeben, d. h. unabhängige Signale, die bezüglich des zu erfassenden Systemzustand einen gleichartigen Informationsgehalt aufweisen, deren Signalwerte aber keinesfalls identisch sind. Die Sensorgrößen (e-i, e2) der Sensoren S1 und S2 stehen in einem bekannten funktionalen Zusammenhang, der durch eine Funktion g gegeben sei. Diese Funktion g kann nahezu beliebig sein, darf aber nicht die Identitätsfunktion sein, da dies wiederum zu den bereits geschilderten Problemen führen würde.
Des weiteren ist die zweite Sensorgröße e2 nur für einen externen Vergleich vorgesehen und wird daher nicht an den Rechner MC gegeben.
Eine dritte Anforderung ist, dass die Funktion f2 zur Berechnung der Vergleichsgröße v sich nicht durch die inverse Funktion zur ersten Funktion f1 ergibt, sondern den funktionalen Zusammenhang g zwischen der ersten und der zweiten Sensorgröße (e-i, e2) berücksichtigt. Die Funktion f2 ergibt sich
dabei vorteilhaft als Verkettung der zu f1 inversen Funktion fl mit der Funktion g:
v = f2 (a) = (g o fi ) (a)
Bei korrekt erfolgender Berechnung stimmt der am Ausgang vorliegende Wert v mit dem zweiten Sensorwert e2 überein, was durch den Vergleicher V überprüft (v = e2 ?) wird.
Die zuvor beschriebenen Fehlerszenarien sind hier ausgeschlossen, da die zweite Sensorgröße e2 an keiner Stelle der Berechnung als Eingabewert vorliegt und sich somit nur als Ergebnis einer korrekt abgelaufenen Berechnung ergeben kann.
Der funktionale Zusammenhang g zwischen den Sensorgrößen (e-i, e
2) der beiden Sensoren (S1 , S2) kann im einfachsten Fall durch eine additive Konstante K gegeben sein:
So kann beispielsweise vorgesehen sein, dass bei Winkelsensoren der zweite Sensor S2 einen konstanten Winkelversatz gegenüber dem ersten Sensor S1 aufweist.
Alternativ kann auch vorgesehen sein, dass die zweite Sensorgröße e
2 ein Vielfaches k der ersten Sensorgröße e
1 ist:
Selbstverständlich kann auch ein weitaus komplexerer Zusammenhang zwischen den Sensorgrößen (e-i, e2) bestehen. Insbesondere können auch
zwei Sensoren vorgesehen sein, die die Sensorgrößen nach unterschiedlichen physikalischen Messprinzipien ermitteln, so dass ein mehr oder weniger komplexer Zusammenhang zwischen den Sensorgrößen (e-i, e2) von vornherein gegeben ist.
In der Figur 5 ist eine Sensorik zur Erfassung eines Drehwinkels dargestellt, bei der das vorgeschlagene Rechnersystem vorteilhaft zur Anwendung kommen kann. Ein Antriebsrad 1 , dessen Drehwinkel bestimmt werden soll, treibt hier zwei Messräder (2, 3) mit unterschiedlichen Radien an. Mit jedem der Messräder (2, 3) ist ein Magnet (4, 5) verbunden, der zusammen mit dem jeweiligen Messrad (2, 3) gegenüber einem ortsfest angeordneten Hallsensor (6, 7) verdrehbar ist. Die von den beiden Hallsensoren (6, 7) erfassten Drehwinkel sind daher um einen konstanten Faktor verschieden, der sich aus den unterschiedlichen Übersetzungsverhältnissen der beiden Messräder (2, 3) zum Antriebsrad 1 ergibt.
Die Figur 2 deutet schematisch eine vorteilhafte Weiterbildung des in der Figur 1 dargestellten Rechnersystem dar. Bei dem Rechnersystem gemäß der Figur 1 wird die Sicherheitsintegrität des eigentlichen Vergleichers V am Ende der Verarbeitungskette als gegeben vorausgesetzt, bzw. ist der normgerechte Nachweis dafür separat zu erbringen.
Es wird angenommen, dass sich der funktionale Zusammenhang zwischen der ersten und der zweiten Sensorgröße (e-i, e
2) durch eine Verkettung von zwei Funktionen h und g darstellen lässt, so dass gilt:
Innerhalb des Rechners MC wird die bereits anhand der Figur 1 beschriebene Berechnung durchgeführt, die hier zu der ersten Vergleichsgröße
v1 = f2(a) = (g o fl ) (a)
führt. Da aber der funktionale Zusammenhang zwischen der ersten und der zweiten Sensorgröße (e-i, e2) hier nicht durch mehr g sondern durch die Verkettung h o g gegeben ist, ist die erste Vergleichsgröße V1, die an den Vergleicher V gelangt, nicht geeignet, um mit der zweiten Sensorgröße e2 verglichen zu werden.
Der Vergleicher V berechnet daher mittels der Funktion h aus der ersten Vergleichsgröße v-i, über die Beziehung
V2 = In(V1 )
eine zweite Vergleichsgröße V2, die wegen der Zusammenhänge
V2 = In(V1 ) = h o (g o fi ) (a) = (h o g) o fϊ (a) = (h o g) (Θ1) = e2
bei einer korrekten Funktionsweise des Rechners MC und des Vergleichers V mit der zweiten Sensorgröße e2 übereinstimmen muss.
Aus einem positiven Vergleichsergebnis kann somit geschlossen werden, dass sowohl der Rechner MC als auch der Vergleicher V korrekte Berechnungen durchführen. Dadurch ermöglicht diese Ausführungsvariante eine gleichzeitige Funktionsprüfung sowohl des Rechners MC, als auch der Rechenpfade des Vergleichers V.
Bezugszeichen
MC Rechner (MikroController)
S1, S2 Sensoren
V Vergleicher
a Ausgangsgröße e, ΘR, ei,e2 Sensorgrößen e' Vergleichsgröße f1, f2, g, h Funktionen fϊ inverse Funktion (zur Funktion f1)
V Vergleichsgröße
Vi erste Vergleichsgröße
V2 zweite Vergleichsgröße
K additive Konstante k konstanter Faktor
1 Antriebsrad
2, 3 Messräder
4, 5 Magnete
6, 7 Hallsensoren