DE10205809A1 - Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug - Google Patents

Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug

Info

Publication number
DE10205809A1
DE10205809A1 DE10205809A DE10205809A DE10205809A1 DE 10205809 A1 DE10205809 A1 DE 10205809A1 DE 10205809 A DE10205809 A DE 10205809A DE 10205809 A DE10205809 A DE 10205809A DE 10205809 A1 DE10205809 A1 DE 10205809A1
Authority
DE
Germany
Prior art keywords
monitoring
control
functions
response
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10205809A
Other languages
English (en)
Inventor
Wolfgang Haag
Joerg Fischer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10205809A priority Critical patent/DE10205809A1/de
Priority to US10/167,930 priority patent/US6580974B2/en
Priority to JP2002168436A priority patent/JP4391724B2/ja
Publication of DE10205809A1 publication Critical patent/DE10205809A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T8/00Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force
    • B60T8/32Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force responsive to a speed condition, e.g. acceleration or deceleration
    • B60T8/88Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force responsive to a speed condition, e.g. acceleration or deceleration with failure responsive means, i.e. means for detecting and indicating faulty operation of the speed responsive control means
    • B60T8/885Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force responsive to a speed condition, e.g. acceleration or deceleration with failure responsive means, i.e. means for detecting and indicating faulty operation of the speed responsive control means using electrical circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug, wobei in einer Steuereinheit Steuerfunktionen ausgeführt werden, wobei ebenfalls Überwachungsfunktionen ausgeführt werden, welche die Steuerfunktionen überwachen, mit folgenden Schritten: Ein Überwachungsmodul (101) überträgt wenigstens eine Frage (F) an die Steuereinheit (100), wobei in der Steuereinheit eine erste Überwachungsfunktion, insbesondere eine Ablaufkontrolle (PAK), vorgesehen ist, welche in einem zweiten vorgebbaren Zeitraster zu der Frage (F) eine Teilantwort (TA3) berechnet, wobei die Steuereinheit (100) aus wenigstens einer Teilantwort eine Antwort (A) an das Überwachungsmodul (101) bildet und die Bildung der Antwort (A) in einem vorgebbaren ersten Zeitraster aktiviert wird, wobei die Steuereinheit (100) die Antwort (A) an das Überwachungsmodul (101) überträgt und das Überwachungsmodul (101) abhängig von der Antwort (A) Fehler bezüglich der Ausführung der Steuerfunktionen erkennt, wobei das erste und zweite Zeitraster asynchron zueinander sind.

Description

Bei sicherheitskritischen Echtzeitanwendungen einer Steue­ rung von Betriebsabläufen in einem Fahrzeug ist es erforder­ lich, dass die zugrunde liegende Hardware während des Be­ triebs überwacht wird. Eine vollständige Entdeckung aller statischer sowie dynamischer. Hardwarefehler ist mit vertret­ barem Aufwand nicht möglich, so dass die Software, welche die eigentliche Funktion der Anwendung realisiert entlang ihrer sicherheitskritischen Daten- und Kontrollflüsse über­ wacht werden muss. Dies geschieht einerseits durch hardwa­ renahe Überwachung und andererseits durch Überwachung auf Funktionsebene.
Die hardwarenahe Überwachung erfolgt durch Überwachung des Prozessors durch hardwarenahen Test und durch den Einsatz redundanter Hardware.
Die Überwachung auf Funktionsebene erfolgt durch Überwachung der Bereiche des flüchtigen Speichers (z. B. RAM), die den internen Zustand der Funktion repräsentieren, und durch Überwachung der Bereiche des nichtflüchtigen Speichers (z. B. ROM), die den eigentlichen Programmcode sicherheitskriti­ scher Funktionen enthalten (Speichertest). Neben dem genann­ ten Speichertest des flüchtigen bzw. nichtflüchtigen Spei­ chers erfolgt die Überwachung auf Funktionsebene durch red- undante Ausführung von sicherheitskritischen Funktionen, so­ wie dze Überwachung des korrekten Programmablaufs sicher­ heitslcritischer Funktionen durch redundante Hardware.
Erst durch Erfüllung aller Punkte kann davon ausgegangen werden, dass die Software im Fahrbetrieb korrekt auf dem Prozessor durchgeführt wird. Einzelne Sicherheitskonzepte dazu finden sich im Standard IEC1508, Draft-Standard, part 7, Anhang C.9.3 "Logical monitoring of program sequence".
Im Rahmen dieser Vorgaben betrifft die Erfindung ein Verfah­ ren und eine Vorrichtung für die Überwachung des Pro­ grammablaufs sicherheitskritischer Funktionen durch redun­ dante Hardware.
Stand der Technik
Die Erfindung geht dabei von einem Verfahren und einer Vor­ richtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug aus, gemäß den aus dem Stand der Technik bekannten Merkmale der unabhängigen Ansprüche.
Dazu ist in der DE 198 26 131 A1 eine Programmablaufkontrol­ le bzw. eine Programmablaufüberwachung definiert, die syn­ chron zu einem vorgegebenen Überwachungsraster arbeitet. An­ hand eines Prüfwortes bzw. Prüfdatums, im weiteren als Frage bezeichnet, das von der redundanten Hardware übertragen wird, wird durch die Programmablaufüberwachung eine Teilant­ wort berechnet, die mit der Teilantwort des Befehlstest, der den Prozessor hardwarenah überwacht, zu einer Gesamtantwort an die redundante Hardware verknüpft wird. Die Antwort wird dann durch die redundante Hardware, im folgenden Überwa­ chungsmodul genannt, überprüft. Bei einem Fehler wird die Fehlerentprellung aktiviert und nach ihrem Ablauf eine Feh­ lerreaktion ausgelöst. Somit ist im genannten Stand der Technik bei einer korrekten Teilantwort durch die Pro­ grammablaufüberwachung gewährleistet, dass einzelne Teil­ funktionen alle mit der vorgesehenen Häufigkeit aufgerufen, sowie alle beendet wurden. Es ist damit aber nicht sicherge­ stellt, dass die Funktionen in Bezug auf den Kontrollfluss, also ihre Sequenz bezogen auf die Laufzeit, in der richtigen Reihenfolge aufgerufen würden. Damit kann die Programmaus­ führung durch den Prozessor nur lückenhaft überwacht werden.
Gleiches gilt für die DE 41 11 499 A1, welche ein Steuersy­ stem für ein Fahrzeug mit einem Mikrorechner und einem Über­ wachungsmodul, welches vorzugsweise als Gate-Array ausge­ führt ist, zeigt. Dabei führt das Überwachungsmodul eine Ab­ laufkontrolle des Mikrorechners durch, wozu beide im Rahmen eines Frage-Antwort-Spiels in einem festgelegten Überwa­ chungsraster synchron zum Zeitraster der Programmablaufkon­ trolle Signalwerte verarbeiten und das Überwachungsmodul durch Vergleich der Ergebnisse dieser Verarbeitung auf das korrekte oder fehlerhafte Arbeiten des Mikrorechners . schliesst.
Ebenso zeigt die DE 44 38 714 A1 ein Verfahren und eine Vor­ richtung zur Steuerung einer Antriebseinheit eines Fahr­ zeugs, wobei zur Leistungssteuerung lediglich ein Mikrocom­ puter zur Durchführung von Steuerungsfunktionen und Überwa­ chungsfunktionen vorgesehen ist. Im Mikrocomputer sind dabei wenigstens zwei voneinander unabhängige Ebenen festgelegt, wobei eine erste Ebene die Steuerfunktionen und eine zweite Ebene die Überwachungsfunktionen durchführt. Dabei ist es von Vorteil, einen aktiven Watch-Dog zu verwenden, der die Ablaufkontrolle als Frage-Antwort-Spiel durchführt.
In den im Stand der Technik offenbarten Sicherheitskonzepten wird die Kommunikation zwischen Überwachungsmodul und Pro­ zessor in einem festen Zeitraster synchron zur Pro­ grammablaufkontrolle durchgeführt. Das bedeutet die bisheri­ gen im Stand der Technik genannten Verfahren bzw. die zuge­ hörigen Vorrichtungen synchronisieren sich auf ein bestimm­ tes, festgelegtes Überwachungsraster auf. Dadurch ist es beispielsweise nicht möglich, dass sicherheitskritische Funktionen, die in einem zum Überwachungsraster asynchronen Zeitpunkt oder Zeitraster (Abfolge von äquidistanten Zeit­ punkten) aktiviert werden, in die Programmablaufüberwachung bzw. Programmablaufkontrolle mit einbezogen werden. Insbe­ sondere sporadisch aktivierte, sicherheitskritische Funktio­ nen, insbesondere sicherheitsrelevante, sporadische Steue­ rungsfunktionen, können auf diese Weise nicht überwacht wer­ den. Damit ist aus dem Stand der Technik allgemein eine vollständige, lückenlose Überwachung des Programmablaufs der Steuerfunktionen nicht in jeder Hinsicht gegeben.
Dadurch stellt sich die Aufgabe, eine kontinuierliche, voll­ ständige und lückenlose Überwachung aller sicherheitskriti­ schen Funktionen zu erzielen.
Vorteile der Erfindung
Um eine gegenseitige, zeitliche Überwachung zu ermöglichen, basiert die Kommunikation zwischen Überwachungsmodul und Prozessor erfindungsgemäß auf unabhängigen Zeitreferenzen. Weiterhin ist das erfindungsgemäße Verfahren sowie die zuge­ hörige Vorrichtung zu einem gegebenen Überwachungsraster bzw. zum Zeitraster der Programmablaufkontrolle asynchron und erlaubt damit eine kontinuierliche, vollständige, lücken­ lose, zeitliche und funktionale Überwachung aller sicher­ heitskritischen Funktionen. Somit können auch insbesondere sporadisch aktivierte sicherheitskritische Funktionen auf diese Weise überwacht werden. Eine Funktion heißt in diesem Zusammenhang sporadisch, wenn sich eine obere und untere Zeitschranke für die Aktivierung der Funktion angeben läßt.
Damit ergibt sich ein Verfahren und eine Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug, wobei in einer Steuereinheit Steuerfunktionen aus­ geführt werden, wobei ebenfalls Überwachungsfunktionen aus­ geführt werden, welche die Steuerfunktionen überwachen. Da­ bei werden vorteilhafter Weise folgende Schritte ausgeführt:
ein Überwachungsmodul, überträgt wenigstens eine Frage an die Steuereinheit, wobei in der Steuereinheit eine erste Überwachungsfunktion, insbesondere eine Ablaufkontrolle, vorgesehen ist, welche in einem zweiten vorgebbaren Zeitra­ ster zu der Frage eine Teilantwort berechnet, wobei die Steu­ ereinheit aus wenigstens einer Teilantwort eine Antwort an das Überwachungsmodul bildet, und die Bildung der Antwort in einem vorgebbaren ersten Zeitraster aktiviert wird, wobei die Steuereinheit die Antwort an das Überwachungsmodul überträgt und das Überwachungsmodul abhängig von der Antwort Fehler bezüglich der Ausführung der Steuerfunktionen erkennt, wobei das erste und zweite Zeitraster asynchron zueinander sind.
Somit ergibt sich vorteilhafter Weise eine vollständige und kontinuierliche Überwachung sicherheitskritischer Funktionen bei dem erfindungsgemäßen asynchronen Zusammenhang zwischen dem Überwachungsraster und der Antwortbildung. Dabei werden zweckmäßiger Weise definierte Fehlerlatenzzeiten durch die Asynchronität von Programmablaufüberwachung und Antwortbil­ dung eingehalten.
Durch die Unabhängigkeit der beiden Zeitraster, also der Asynchronität des erfindungsgemäßen Verfahrens, dargestellt durch die Abfolge der Zeitpunkte der Aktivierung der Ant­ wortbildung bezogen auf das Überwachungsraster oder das Zeitraster der Programmablaufkontrolle, kann die Antwortbil­ dung in einem festen vorgegebenen ersten Zeitraster akti­ viert werden, wobei die Frage ereignisgesteuert, beispiels­ weise durch Funktionsaufrufe ausgelöst oder das Ende einer Funktionsabarbeitung gesteuert übertragen werden kann oder in einem dritten Zeitraster, welches unabhängig vom ersten und/oder zweiten Zeitraster ist.
Damit und durch die Unabhängigkeit der Zeitreferenzen ermög­ licht das Verfahren bzw. die Vorrichtung den Einbezug eines quasi zufälligen Prüfworts als Frage in die Berechnung der Teilantwort der Programmablaufüberwachung. Dadurch wird zweckmäßiger Weise eine wechselnde Teilantwort der Pro­ grammablaufüberwachung erzeugt und eine tatsächliche Abar­ beitung der überwachten Funktionen, insbesondere der Steuer­ funktionen, sichergestellt. Ohne Einbezug eines wechselnden Prüfworts also einer Frage, könnte ein Prozessorfehler der die Teilantwort auf einem konstanten Wert beläßt, die Pro­ grammablaufüberwachung außer Kraft setzen, was durch das er­ findungsgemäße Verfahren durch die Einbindung der Frage und durch das Durchschleifen des Fehlerzustandes, in dem die falsche Teilantwort als Anfangswert in die nächste Teilant­ wortberechnung übernommen wird, in vorteilhafter Weise ver­ hindert wird.
Vorteilhafter Weise werden die Steuerfunktionen in einer er­ sten Funktionsebene der Steuereinheit durchgeführt und die Überwachungsfunktionen in einer zweiten und einer dritten Funktionsebene der Steuereinheit, wobei wenigstens die erste und zweite Funktionsebene unabhängig voneinander sind, so­ lange kein Fehler erkannt wird. Dadurch werden redundante Datenpfade zur Verfügung gestellt.
Weiterhin von Vorteil ist, dass aus den Steuerfunktionen der ersten Funktionsebene in einer zweckmäßigen Ausgestaltung wenigstens ein Überwachungsbereich derart gebildet wird, dass wählbare Funktionen die eine zur Laufzeit der Steuerung der Betriebsabläufe konstante Sequenz bilden in dem wenig­ stens einen Überwachungsbereich zusammengefasst werden. Da­ bei werden mit Hilfe der Überwachungsbereiche Teilantworten gebildet. Somit werden durch das Verfahren die Überwachungs­ bereiche durch ihre Teilantwort anhand des Prüfdatums bzw. der Frage, zusätzlich zeitlich überwacht, da sie innerhalb des Überwachungstasters wenigstens einmal aktiviert werden. Damit wird im Fall einer Systemüberlast die Teilantwort nicht rechtzeitig gebildet und die daraus resultierende in­ korrekte Antwort als Fehler bzw. Fehlerzustand vom Überwa­ chungsmodul detektiert.
Zweckmäßigerweise wird die Antwort in der dritten Funktion­ sebene aus Teilantworten verschiedener Überwachungsfunktio­ nen der Steuereinheit gebildet. Dabei können die entspre­ chenden Überwachungsfunktionen, welche einzelne Teilantwor­ ten bilden in beliebigen Funktionsebenen enthalten sein.
Somit wird erfindungsgemäß funktional die Korrektheit des Programmablaufs folgendermaßen sichergestellt:
Die Häufigkeit von Funktionsaufrufen wird überwacht, die Reihenfolge von Funktionsaufrufen als Sequenz wird überwacht und der korrekte Ablauf der Funktion und/oder der Funktionen mit korrektem Beginn und korrekter Beendigung derselben ist gewährleistet.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus der Beschreibung und den Ansprüchen.
Zeichnung
Die Erfindung wird im weiteren anhand der in der Zeichnung dargestellten Figuren näher erläutert.
Dabei zeigt Fig. 1 eine Steuereinheit mit Überwachungsmodul zur Steuerung von Betriebsabläufen bei einem Fahrzeug sowie deren erfindungsgemäßes Zusammenspiel.
Fig. 2 zeigt in einem konkreten Beispiel einer Steuerung eines Antriebssystems im Rahmen der Erfindung die Funktions­ überwachung.
Fig. 3 zeigt eine Antwortbildung aus Teilantworten aus Pro­ grammablaufkontrolle und Befehlstest.
Fig. 4 zeigt konkret den erfindungsgemäß überwachten Pro­ grammablauf.
Fig. 5 bestehend aus den Fig. 5a und 5b zeigt die Pro­ grammablaufkontrolle bzw. Programmablaufüberwachung und die Antwortbildung an das Überwachungsmodul für Funktionen, die in einem schnellen Raster bzw. für Fig. 5b in einem langsa­ men Raster aktiviert werden.
Beschreibung der Ausführungsbeispiele
Fig. 1 zeigt ein Steuersystem zur Steuerung von Betriebsab­ läufen bei einem Fahrzeug mit einer Steuereinheit 100 und einem Überwachungsmodul 101. Die Steuereinheit 100 ist dabei beispielsweise ein Prozessor, Mikrocomputer oder derglei­ chen. Diese Steuereinheit 100 erhält Eingangsdaten bzw. Ein­ gangsgrößen EG. Der Übersichtlichkeit halber ist die Quelle der Eingangsgrößen in einem Block 102 zusammengefasst. Die Eingangsgrößen können dabei Sensoren, Aktuatoren sowie wei­ teren Steuereinheiten oder Ähnlichem im Rahmen der Steuerung von Betriebsabläufen bei einem Fahrzeug entstammen und wer­ den beispielsweise über ein Bussystem oder auch einzelne Leitungen der Steuereinheit 100 zugeführt.
Im Beispiel einer Steuerung einer Brennkraftmaschine sind diese Eingangsgrößen beispielsweise Eingangsgrößen einer Fahrerwunschmesseinrichtung, vorzugsweise von einem Stel­ lungserfassungsorgan für die Stellung eines vom Fahrer betä­ tigbaren Bedienelements, z. B. eines Fahrpedals, also Pe­ dalsollwerte. Weitere Eingangsgrößen sind beispielsweise Si­ gnale einer Fahrgeschwindigkeitsregelung FGR oder einer Mo­ torschleppmomentenregelung MSR, ebenso wie Drehzahlsignale, usw.
Die Ausgangssignale der Steuereinheit 100 bzw. die Ausgangs­ größen AG1 werden dann Aktuatoren bzw. Endstufen oder weite­ ren Steuereinheiten, usw. zugeführt, welche der Übersicht­ lichkeit halber in einem Block 103 zusammengefasst sind (wie vorher die Eingangsgrößen in Block 102). Die Anbindung die­ ser Endstufen bzw. Aktuatoren, usw. kann wiederum durch ein­ zelne Leitungen oder auch durch ein Bussystem, z. B. CAN (Controller Area Network) erfolgen. Auch eine leitungslose Anbindung einzelner Eingangs- bzw. Ausgangsgrößen ist dabei denkbar.
Im Rahmen der Steuerung einer Antriebseinheit sind diese Ausgangsgrößen AG (AG1 und/oder AG2) beispielsweise Signale zur Steuerung eines Zündzeitpunkts, Signale zur Steuerung eines Einspritzzeitpunkts bzw. Signale zur Steuerung der Kraftstoffzumessung oder auch zur Steuerung der Luftzufuhr, vorzugsweise über eine elektrisch betätigbare Drosselklappe, usw. Ebenso könnten die Ausgangsgrößen die Luftmasse bei­ spielsweise dargestellt durch ein Signal eines Heißfilmluft­ massenmessers oder der Zündwinkel sein.
Bei Verwendung eines solchen Steuersystems beispielsweise zur Steuerung eines Bremssystems sind als Eingangsgrößen Si­ gnale einer Fahrgeschwindigkeitsregelung sowie ebenfalls Si­ gnale einer Fahrerwunschmesseinrichtung auch hier vorzugs­ weise mit einem Stellungserfassungsorgan für die Stellung eines vom Fahrer betätigbaren Bedienelements beispielsweise hier eines Bremspedals vorgesehen. Ebenso sind im Rahmen ei­ nes Bremssystems Eingangssignale wie Raddrehzahlsignale vor­ sehbar. Im Rahmen von weiteren Regelungen diesbezüglich kön­ nen dies auch Drehratensignale im Rahmen einer Fahrdyna­ mikregelung ESP, Fahrgeschwindigkeitssignale, oder ähnliches sein. Die Ausgangsgrößen sind dabei Stellsignale für Aktua­ toren des Bremssystems, beispielsweise Ventile oder ein Druckmittelfördermittel wie eine Pumpe, usw. Eine solche Re­ gelung findet sich somit z. B. in einem Antiblockiersystem ABS, ebenso wie in einer Antriebsschlupfregelung ASR oder einer Fahrdynamikregelung ESP, ebenso wie in einer anderen, die Bremswirkung und/oder Bewegung des Fahrzeugs beeinflus­ senden. Regelung bzw. Steuerung.
Ein solches Steuersystem findet ebenfalls Einsatz bei Ge­ triebesteuerungen, Lenkungssteuerung, z. B. bei Steer by Wi­ re, usw., mit jeweils entsprechend angepassten Eingangs- und Ausgangsgrößen. Die Leitungen bzw. Signalpfade 109 und 110 in Fig. 1 sind optional und stellen "enable"-Signale des Überwachungsmoduls bzw. der Funktionsüberwachung an den End­ stufenblock 103 dar, z. B. eine Drosselklappenendstufe, usw.
Aus den vorgenannten Beispielen wird deutlich, dass es sich bei dem in Fig. 1 dargestellten Steuersystem um ein symbol­ haft dargestelltes allgemeines Steuersystem handelt, das Einsatz bei der Steuerung aller Betriebsabläufe im Zusammen­ hang mit einem Fahrzeug finden kann. Dabei beinhaltet die Steuereinheit 100 die Steuergerätesoftware 104, die sich je nach Anwendung wie oben beschrieben unterscheiden kann. All­ gemein enthält die Steuergerätesoftware aber drei Abschnit­ te, sogenannte Funktionsebenen 105, 107 und 108, welche im Zusammenspiel mit dem Überwachungsmodul die Überwachung der Steuerung der Betriebsabläufe realisieren.
Um eine gegenseitige zeitliche Überwachung zu ermöglichen, basiert die Funktionalität in Steuereinheit 100 und in Über­ wachungsmodul 101 auf unterschiedlichen unabhängigen Zeitre­ ferenzen. Dazu werden beispielsweise verschiedene Zeitgeber wie Schwingquarze, Zählerschaltungen, Uhren, etc. als Zeit­ referenzen eingesetzt.
Da das Überwachungsmodul 101 den Prozessor sowohl zeitlich als auch funktional überwacht, wird die Antwortbildung, die anhand der Frage F (Prüfwort, Prüfdatum) bzw. entsprechender. Teilantworten verschiedener Überwachungsfunktionen, die Ant­ wort an das Überwachungsmodul bildet, in einem festen, vor­ gegebenen Zeitraster aktiviert. Lediglich bei einer geziel­ ten Plausibilitätsüberprüfung des Antwortrasters ist eine abweichende Verfahrensweise denkbar.
Das Prüfwort, das Prüfdatum bzw. die Frage F selbst ist bei­ spielsweise ein Datenwort von 4 Bit Breite, das an die Steu­ ereinheit 100, auch als Funktionsrechner bezeichnet, über­ tragen wird. Als Fragen werden beispielsweise eine bestimmte Zahl unterschiedlicher Prüfworte, z. B. 16 Stück, quasi zu­ fällig vom Überwachungsmodul 101 generiert. Wird beispiels­ weise in der Steuereinheit 100 auf einer Bitbreite von 32 bit gerechnet, sind jeweils bei einer 4 bit Breite des Daten­ worts (24 = 16) nur 16 Prüfworte bzw. 16 zugehörige Antwor­ ten aus 232 Möglichkeiten gültig.
Anhand der Frage bilden unterschiedliche Überwachungsfunk­ tionen, insbesondere die Programmablaufkontrolle PAK, ver­ schiedene Teilantworten. Die Bildung dieser Teilantworten kann entweder in einem einzigen Überwachungsraster erfolgen oder in unterschiedlichen Zeitrastern.
Erfindungsgemäß besteht aber keine zeitliche Kopplung zwi­ schen Frage/Antwort-Kommunikation und den Zeitrastern oder dem Zeitraster der Überwachungsfunktionen, speziell der Pro­ grammablaufkontrolle PAK. Dadurch wird erreicht, dass das erfindungsgemäße Verfahren und somit die Aktivierung der Antwortbildung asynchron zum entsprechenden Überwachungs­ zeitraster durchgeführt wird.
Die die Überwachungsfunktionen beinhaltende Steuergeräte­ software 104 ist dabei wie erwähnt in drei Funktionsebenen aufgebaut. Die Funktionsebene 1, Block 105, umfasst dabei die Steuerfunktionen, Funktionsebene 2, Block 107 Überwa­ chungsfunktionen, die sogenannte Funktionsüberwachung und Funktionsebene 3, Block 108 die Antwortbildung zur Übermitt­ lung der Antwort A an das Überwachungsmodul 101. Die Überwa­ chungsfunktionen sind dabei erfindungsgemäß neben Funktion­ sebene 2 auch in Funktionsebene 3 lokalisiert. Im Rahmen der Funktionsüberwachung wird bei den zu überwachenden Funktio­ nen bzw. Programmteilen nicht zwischen Steuerfunktionen und Hardwareüberwachungsfunktionen, wie Komponentenüberwachun­ gen, oder Vergleichbarem unterschieden. Diese Funktionen sind sozusagen primäre Funktionen zur Steuerung der Be­ triebsabläufe des Fahrzeugs und werden im weiteren unter Steuerfunktionen subsummiert. Die sekundären Funktionen die zur Überwachung und Kontrolle dieser primären Funktionen oder Programmteile dienen sind die eigentlichen Überwa­ chungsfunktionen im erfindungsgemäßen Zusammenhang.
In dem Beispiel der Brennkraftmaschinensteuerung enthält Funktionsebene 1 beispielsweise alle Motorsteuerungsfunktio­ nen sowie die Komponentenüberwachung, z. B. für die Drossel­ klappensensorik, für den Drosselklappenantrieb, für die die Pedalwegssensorik ebenso wie z. B. auch Komponentenüberwa­ chungen für die Sensorik zur Erfassung des Geschwindigkeits­ signals oder bezüglich der Bremse, wobei im Beispiel einer Antriebssteuerung Signale des übrigen Triebstranges eben z. B. bezüglich Geschwindigkeit und Bremse über ein Bussystem z. B. CAN in Funktionsebene 1 zur Verfügung gestellt werden könnten. Ebenso enthält Funktionsebene 1 in diesem Beispiel Ersatzfunktionen für einen Komponentenausfall.
Funktionsebene 2, Block 107, enthält beispielsweise die Er­ kennung des Fahrerwunsches, insbesondere über einen unabhän­ gigen Pfad (eigener RAM- bzw. ROM-Bereich). Dabei erfolgt die Absicherung des ROMs im festgelegten Bereich gesondert, um zu gewährleisten das der Programmcode zwischen Anfangs- und Endbearbeitung von Programmmodulen bzw. Programmteilen oder Funktionen richtig ist. Dabei muß der Programmteil der Frage/Antwort-Kommunikation nicht im abzusichernden Spei­ cherbereich, insbesondere ROM-Bereich, liegen, weil eine fehlerhafte oder keine Abarbeitung zu einer falschen Antwort führt, die vom separaten Überwachungsmodul als redundante Hardware erkannt wird. Ebenso enthält Funktionsebene 2 die Berechnung des Motoristmoments aus motorischen Größen, bei­ spielsweise mittels Beobachter im Rahmen der Regelstrategie sowie die permanente Plausibilisierung von Fahrerwunsch und Motoristmoment, weiterhin den Abschaltpfad für die Drossel­ klappenendstufe (DK stromlos) und die SKA-Anforderung. Eben­ so können in Funktionsebene 2 ablaufkontrollierte Pro­ grammmodule, die Teilergebnisse, also Teilantworten für die Frage-Antwort-Kommunikation berechnen, enthalten sein, wobei diese Module ebenso in Funktionsebene 3, Block 108 enthalten sein können.
Desweiteren enthält eben genannte Funktionsebene 3, in Block 108, die Selbstüberwachung des Funktionsrechners 100, bei­ spielsweise den Speichertest für die flüchtigen. bzw. nicht­ flüchtigen Speicherbereiche, also RAM und ROM wie oben be­ schrieben, den Befehlstest, den ADC-Test und die Pro­ grammablaufkontrolle wenigstens der Programmmodule der Ebene 2 (optional Einbezug der Überwachungsbereiche aus Funktion­ sebene 1 in die Programmablaufkontrolle). Ebenso ist Funkti­ onsebene 3 das Hardware-Überwachungsmodul funktional zuge­ ordnet, obwohl dieses als redundante, separate Hardware vor­ gesehen ist, wodurch darin die Frage-Antwort-Kommunikation mit zufälligen Fragen, der Speichertest für die RAM- und ROM-Bereiche und ein unabhängiger Abschaltpfadtest als Teil des Überwachungsmoduls hier funktional Funktionsebene 3 zu­ gerechnet werden können. Ebenso ist in Funktionsebene 3 die gegenseitige Überwachung von Funktionsrechner und Überwa­ chungsmodul im Zeit- und Wertebereich vorgesehen, wobei bei einem festgestellten Fehler in der Ablaufkontrolle in der Funktionsebene 3 folgende Fehlerreaktionen durchgeführt wer­ den können:
Bei keiner Antwort oder einer falschen Antwort erfolgt nach Fehlerentprellung eine Fehlerreaktion, die sicher eine Mo­ menterzeugung des Motors verhindert, z. B. Abschalten der momentbestimmenden Endstufen (z. B. Einspritzventile, Zün­ dung, Drosselklappe) über redundante Hardware (Überwachungs­ modul). Ebenso sind andere Fehlerstrategien hierbei denkbar.
In einem speziellen Ausführungsbeispiel werden in Block 105, al­ so der Funktionsebene 1 Überwachungsbereiche bzw. wenigstens ein Überwachungsbereich, gebildet. Als Überwachungsbereich gelten bestimmte sicherheitskritische Funktionen bzw. Steuerfunktionen und/oder Teilbereiche der Funktionssoftware, die auch in die Antwort eingehen sollen, bzw. bei der Antwortbildung benutzt werden (Block 106). Ein Überwachungsbereich der Ebene 1 könnte so z. B. aus Komponentenüberwachungen des Pedalwertgebers PWG oder der Drosselklappensensorik bestehen. Der oder die Überwa­ chungsbereiche werden dann ebenfalls in die Programmablaufüber­ wachung PAK einbezogen und liefern Teilantworten zur Gesamtant­ wortbildung in Funktionsebene 3. Der in die Programmablaufkon­ trolle einbezogene Überwachungsbereich der Funktionssoftware (Block 106), also der Steuerfunktionen bzw. sicherheitskriti­ scher Funktionen in Funktionsebene 1, berechnet anhand der Frage eine Teilantwort, die in die Bildung der endgültigen Antwort an das Überwachungsmodul eingeht. Dieser Zusammenhang ist mit Tei­ lantwort TA2 ist in Fig. 1 dargestellt. Der Überwachungsbereich setzt sich wie bereits erwähnt aus sicherheitskritischen Funk­ tionen zusammen, die durch eine reine Funktionsüberwachung nicht ausreichend einbezogen werden.
Die Funktionsüberwachung in Funktionsebene 2, Block 107, ist ein Software-diversitärer Algorithmus, der anhand der Eingangs- und Ausgangsdaten der Funktionssoftware in Funktionsebene 1 diese überwacht. Dabei hängt es von der Funktionalität bzw. den einge­ setzten Überwachungsfunktionen ab, ob die gleichen Ausgangsdaten AG1, die auch den Endstufen bzw. den Aktuatoren zugeführt wer­ den, in die Funktionsüberwachung übernommen werden oder ob davon unterschiedliche Ausgangsgrößen AG2 in die Funktionsüberwachung eingehen. Erfindungsgemäß ist beides möglich. Die Funktionsüber­ wachung in Funktionsebene 2, Block 107 wird ebenfalls in die Programmablaufkontrolle der Funktionsebene 3 einbezogen.
Fig. 2 zeigt noch einmal anhand eines konkreten Ausführungsbei­ spiels die Funktionsüberwachung. Als Eingangsgrößen sind hier beispielhaft Pedalsollwerte EG1, FGR-Signale (Fahrgeschwindig­ keitsregelung) EG2, MSR-Signale (Motorschleppmomentenregelung) EG3 sowie die Drehzahl als EG4 eingesetzt. Im Block 202 erfolgt die Pedalsollwertabsicherung bzw. -überwachung als Funktion F1, im Block 203 die FGR-Momenteneingriffabsicherung bzw. -überwachung als Funktion F2 und im Block 204 die MSR- Momenteneingriffabsicherung bzw. -überwachung als Funktion F3. Die Motordrehzahl wird in Block 205 abgesichert bzw. überwacht als Funktion F4. Aus den Daten der Blöcke 202 bis 205 wird dann in einer Funktion F5 in Block 200 das zulässige Moment berech­ net. Ebenso werden durch die Steuerfunktionen der Funktionssoft­ ware Ausgangsdaten bzw. Ausgangsgrößen an die Funktionsüberwa­ chung übergeben. Diese Ausgangsgrößen AG2 sind beispielsweise die Luftmasse in Form eines Heißfilmluftmassenmessersignals als AG2a sowie der Zündwinkel als AG2b. Damit erfolgt im Block 207 eine Lastsignalabsicherung bzw. -überwachung als Funktion F8 und im Block 208 eine Zündwinkelabsicherung bzw. -überwachung als Funktion F9.
Aus den Ausgangsgrößen der Blöcke 207 und 208 wird dann das Ist- Moment in einer Funktion F7 berechnet und zwar in Block 206. Die Größen aus den Blöcken 200 und 206, die durch die Funktionen F5 und F7 berechneten Momente, werden dann in einer Funktion F6 im Block 201 in einem Momentenvergleich gegenübergestellt. In die­ sem Beispiel einer Brennkraftmaschinensteuerung werden nun mit F1 bis F10 die Funktionen der Funktionsüberwachung dargestellt. Dabei ist F10 eine Fehlerreaktionsüberwachung, welche im Block 209 offenbart ist. In diese gehen die Fehlerreaktionen der ein­ zelnen Funktionen FR2 bis FR7 und der Wert der Drehzahlüberwa­ chung ein.
Die Funktionsüberwachung anhand der Eingangs- und Ausgangsdaten erfolgt dabei beispielsweise in einem Überwachungszyklus T4, z. B. 40 ms. Nach dieser Zeit T4 sind alle Überwachungsfunktio­ nen, z. B. F10, F20 und F40, in einer festgelegten Reihenfolge mindestens einmal abgearbeitet. In diesem Zyklus können dann auch Überwachungsfunktionen unterschiedlicher Zeitraster enthal­ ten sein, z. B. eine Funktion F10 in einem Zeitraster T1, z. B. 10 ms, eine Funktion F20 im Zeitraster T2, bspw. 20 ms, eine Funk­ tion F40 im Zeitraster T4, beispielsweise 40 ms. Damit ergibt sich eine zyklische festgelegte Reihenfolge bezogen auf das Zeitraster T4, z. B. 40 ms. In unserem Beispiel wäre dies z. B. F10 (entsprechend dem 1. 10 ms-Raster), F10, F20 (entsprechend dem 2. 10 ms-Raster), F10 (entsprechend dem 3. 10 ms-Raster) und F10, F20, F40 (entsprechend dem 4. 10 ms-Raster).
Im weiteren wird die Bestimmung der Überwachungsbereiche noch einmal näher erläutert. Die Überwachung des Programmablaufs von sicherheitskritischen Programmteilen und/oder Funktionen soll kontinuierlich erfolgen. Dabei sind die sicherheitskritischen Programmteile und/oder Funktionen und ihre Aktivierungsraster bzw. Aktivierungszeitpunkte beispielsweise in einer Systemanfor­ derung festzulegen. Dies können somit zeitliche Raster sein oder auch ereignisgesteuerte Zeitpunkte.
Lässt sich für ein Programmteil ein zur Laufzeit zeitlich und dynamisch fester Kontrollfluß angeben, so können die Funktionen in einem Überwachungsbereich zusammengefaßt werden. Der Kon­ trollfluß zwischen beispielsweise zwei Funktionen F1 und F2 gilt als fest, wenn sich eine zur Laufzeit konstante Sequenz angeben lässt, wie beispielsweise F1, F2; F1, F1, F2 oder F1, F2, F1, F1, F2, usw. Der zeitliche Überwachungsbereich ergibt sich aus der Zeitdauer zwischen der Aktivierung der ersten Funktion der Sequenz und der Beendigung der letzten Funktion der Sequenz. Än­ dert sich hingegen zur Laufzeit der Kontrollfluß zwischen den überwachten Funktionen, gilt also beispielsweise für zwei Pro­ grammteile zu einem Zeitpunkt F1, F2 oder F2, F1 so sind die Funktionen bzw. Sequenzen auf verschiedene Überwachungsbereiche aufzuteilen. Für jedem Überwachungsbereich wird dann zu dem Ein­ gangsdatum der redundanten Hardware eine Teilantwort gebildet. Die Teilantworten aller Überwachungsbereiche sind mit der Tei­ lantwort des hardwarenahen Prozessortests zu verknüpfen, bei­ spielsweise über einen XOR-Befehl. So wird beispielsweise wenig­ stens eine Teilantwort TA1 aus der Funktionsüberwachung oder zu­ sätzlich TA2 aus dem Überwachungsbereich der Funktionssoftware (Block 106) an die Antwortbildung übermittelt.
Um den Prozessor zeitlich zu überwachen, wird die Antwortbildung selbst in einem festen vorgegebenen Raster aktiviert. Um eine möglichst von der Frage abhängige Programmablaufkontrolle bzw. Programmablaufüberwachung PAK zu ermöglichen, wird die Frage, also das Prüfdatum bzw. das Prüfwort am Ende der Überwachung ei­ nes Überwachungsbereichs in die Teilantwortbildung einbezogen.
Die resultierende Teilantwort (TA1 bzw. TA2) geht in die Ant­ wortbildung in Block 108 ein.
Die Antwortbildung aus Teilantworten soll noch einmal in Fig. 3 näher erläutert werden. Darin ist noch einmal mit 100 die Steu­ ereinheit und mit 101 das Überwachungsmodul symbolisch darge­ stellt. An den Funktionsrechner bzw. die Steuereinheit 100 wird vom Überwachungsmodul 101 eine Frage F übertragen. Dieses Prüf­ wort als Frage kann dann in den verschiedenen Funktionsebenen und/oder Überwachungsbereichen zur Teilantwortbildung herangezo­ gen werden.
Die Funktionsebene 2, in dem Beispiel als Block 107 dargestellt erhält wiederum Eingangsgrößen EG. Diese werden zunächst einem Block 107a, der Eingangssignalübernahme, zugeführt und dann der eigentlichen Funktionsüberwachung im Block 107b übertragen. Mit Block 107c ist dann die Fehlerreaktionsausgabe mit den Fehlerre­ aktionen FR angekoppelt. Diese Blöcke 107a bis 107c entsprechen dann der Funktionsüberwachung bzgl. der Funktionen F1, F2, usw. Dabei ist jedes Modul 107a bis 107c in die Programmablaufkon­ trolle PAK eingebunden. Diese Programmablaufkontrolle ist in diesem Beispiel in Block 300 in Funktionsebene 3, Block 108 lo­ kalisiert, was durch die gestrichelte Linie dargestellt ist. In dieser Programmablaufkontrolle PAK in Block 300 wird somit eine Teilantwort TA3 gebildet. Ebenso wird im Block 301 eine Teilant­ wort TA4 gebildet. Block 301 entspricht dabei beispielsweise dem vorab bereits genannten Befehlstest, bei dem mit Hilfe fragespe­ zifischer Testdaten ein Antwortbeitrag TA4 zur Antwortbildung bereitgestellt wird. Als weiterer Block 303 ist beispielsweise der bereits erwähnte Speichertest in Funktionsebene 3 enthalten. Aus den in Block 302 eingehenden Teilantworten TA3 und TA4 wird dann darin die Gesamtantwort A für das Überwachungsmodul gebil­ det, wobei wie schon erwähnt aus Gründen der zeitlichen Überwa­ chung die Aktivierung der Antwortbildung in einem Zeitraster asynchron zum Überwachungsraster erfolgt.
Es besteht also keine zeitliche Kopplung zwischen der Fra­ ge/Antwort-Kommunikation und der Programmablaufkontrolle PAK. Die Programmmodule der Programmablaufkontrolle werden nach einer festen Reihenfolge in einem bestimmten vorgegebenen Zeitraster, z. B. 10 ms, zyklisch bearbeitet. Nach z. B. 40 ms ist ein PAK- Zyklus beendet und alle Programmmodule der Programmablaufkon­ trolle sind mindestens einmal durchlaufen. Wird die Fra­ ge/Antwort-Kommunikation ebenfalls in einem festen Zeitraster bearbeitet z. B. ebenfalls 10 ms, so stellt eine Zustandssteuerung die erfindungsgemäße Asynchronität sicher. Das Programmodul zur Frage/Antwort-Kommunikation enthält also eine Zustandssteuerung zur Überwachung des Überwachungsmoduls durch unterschiedliche Ausgabezeitpunkte wie z. B. zu früh, zu spät. Mit dem Ausgabe­ zeitpunkt bzw. Übertragungszeitpunkt beginnt ein neuer Überwa­ chungszyklus des Überwachungsmoduls, auf den sich die Fra­ ge/Antwort-Kommunikation jeweils neu synchronisieren muß, um das feste Zeitfenster zu treffen. Dadurch floated der Frage/Antwort- Ein/Ausgabezeitpunkt relativ zum Zeitraster der Programmablauf­ kontrolle PAK.
Die PAK-Programmmodule werden der Reihe nach bearbeitet. In je­ dem Programmmodul wird eine Anfangs- und eine Schlußoperation durchgeführt, dadurch wird ein vollständiger Modul bzw. Funkti­ onsablauf überwacht. In der Anfangsoperation wird ein Testwort gebildet. Dieses Testwort setzt sich aus einem Modulaufrufzäh­ ler, der die Anzahl der Modulaufrufe je PAK-Zyklus (z. B. 40 ms) erfaßt und einer modulspezifischen Konstanten zusammen. Das Testwortformat hat z. B. eine Datenbreite von 32 bit, wobei z. B. bit 31-27 dem Modulaufrufzähler je PAK-Zyklus entspricht und bit 26-0 der modulspezifischen Kontante. In der Schlußoperation wird mit dem in der Anfangsoperation gebildeten Testwort eine Prüf- oder Testsummenberechnung durchgeführt. Diese Prüfsummenberech­ nung Erfolgt beispielsweise in dem MISR (multiple input signa­ ture register) Prüfsummenverfahren. Nach Ablauf des kompletten PAK-Zyklus wird dann als Ergebnis eine CRC-Checksumme in ein Re­ gister, insbesondere das Signaturregister, geschrieben.
Ist während des PAK-Zyklus keine neue Frage eingetroffen, wird auf diese Checksumme mit dem MISR-Verfahren eine weitere Kon­ stante aufsummiert, die so definiert ist, dass bei fehlerfreiem Durchlauf das Ergebnis dem Anfangswert entspricht. Mit diesem Ergebnis wird der nächste PAK-Zyklus fit dem MISR-Verfahren auf­ summiert. Bei fehlerhaftem Programmablauf entspricht das Ergeb­ nis nicht dem Anfangswert, so dass selbst bei nachfolgenden kor­ rekten Programmabläufen der Fehler durchgeschleift wird und in der nächsten Antwortberechnung eingeht.
Trifft während des PAK-Zyklus eine neue Frage ein, wird mit dem MISR-Verfahren anstatt der Konstante die Frage aufsummiert und das Ergebnis als Teilantwort, z. B. in einem Register, dem Teil­ antwortregister abgelegt. Gleichzeitig wird das vorher genannte Signaturregister auf den Anfangswert zurückgesetzt sowie die Frage zurückgesetzt und mit dem nächsten PAK-Zyklus fortgesetzt. Dadurch wird ein fragespezifisches Ergebnis in der PAK- Teilantwort erhalten. Die Teilantwort der PAK TA3 wird z. B. zu­ sammer. mit der Teilantwort des Befehlstests TA4 in Block 302 der Antwortbildung einem Antwortdecoder zugeführt der daraus die Antwort A für das Überwachungsmodul 101 bildet. Bei richtigen Teilantworten aus PAK 300 und Befehlstest 301 wird die richtige Antwort, ansonsten die als falsch erkennbare Antwort bereitge­ stellt, die dann übertragen wird.
In der hier vorliegenden asynchronen Kopplung und unterschiedli­ chen Zeitrastern von Frage/Antwort-Kommunikation und PAK wird eine kontinuierliche, vollständige Überwachung des Pro­ grammablaufs bzw. der Funktionen durch das in Fig. 4 nochmals erläuterte Verfahren realisiert. Die Ablaufkontrolle PAK stellt dabei sicher, dass wichtige, sicherheitskritische Programmteile und/oder Funktionen zyklisch in definiertem Zeitraster und in definierter Reihenfolge durchlaufen werden. Dabei wird sicherge­ stellt, dass das Verfahren sowohl Vertauschungen, Ersetzen eines Programmcodeteils durch mehrfache Ausführung eines anderen, dop­ pelte Ausführung von Programmcodeteilen und Überspringen von Programmcodeteilen erkennt. Dies kann dadurch erreicht werden, dass jedes Programmodul bzw. jeder sicherheitskritische Pro­ grammcodeteil und/oder jede sicherheitskritische Funktion am Be­ ginn und am Ende eine Prüfstelle besitzt.
Um alle Fälle bezüglich der, verschiedenen Zeitraster abzudecken müssen schnelle und langsame Raster bezüglich der Aktivierung der Funktionen insbesondere eines Überwachungsbereiches unter­ schieden werden.
Somit gilt, wird der Überwachungsbereich gegenüber der Antwort­ bildung in einem schnelleren oder im selben Zeitraster akti­ viert, so ist gewährleistet, dass in jedem Überwachungszyklus eine Antwort gebildet werden kann. Gleiches gilt bei ereignisge- steuerter Fragestellung, sofern die Frage rechtzeitig im Rahmen des Überwachungsrasters vorliegt. In diesem Fall, also einem schnelleren oder selben Zeitraster, wird die Aktivierung des Überwachungsbereichs, bzw. eine sich daraus ergebende Teilant­ wort in die Antwortbildung einbezogen. Durch den Einbezug in die Antwortbildung ist eine zeitliche Überwachung des Überwachungs­ bereichs gewährleistet. Im Falle einer Systemüberlast wird die Teilantwort nicht mehr rechtzeitig gebildet. Die daraus resul­ tierende inkorrekte Antwort wird durch das Überwachungsmodul de­ tektiert. Es ist damit garantiert, dass innerhalb einer Aktivie­ rung der Antwortbildung im Überwachungszeitraster der Überwa­ chungsbereich mindestens einmal aktiviert wurde. Eine solche vereinfachte Deadlineüberwachung ist für sehr viele sicherheits­ kritische Anwendungen ausreichend.
Wird der Überwachungsbereich in einem gegenüber der Antwortbil­ dung langsameren Zeitraster aktiviert bzw. erfolgt die Frage­ stellung zu spät als dass diese in eine Antwortbildung einbezo­ gen werden kann, so kann nicht in jedem Überwachungszyklus eine diesbezügliche aktuelle Teilantwort berücksichtigt werden. In diesem Fall beträgt die Zeitdauer für die Antwortbildung dant­ wort und die Zeitdauer für die Berechnung des Überwachungsbe­ reichs dbereich, wobei
dbereich < dantwort
gilt.
So ist innerhalb der Zeitdauer
n * dantwort
(wobei n * dantwort < 2 * dbereich)
eine Teilantwortbildung möglich.
In den Überwachungszyklen der Antwortbildung, in denen keine Teil­ antwort vorliegt, kann somit die letzte gültige Teilantwort Verwendung finden. Es ist allerdings gewährleistet, dass nach n Zyklen eine Teilantwort vorliegen muß. Die Teilantwort wird dann in die Überwachung miteinbezogen. Wird ein Überwachungsbereich sporadisch aktiviert, so gilt seine obere Zeitschranke für die Auslegung der Synchronisation mit der Antwortbildung. Somit ist auch dieser Fall auf die oben genannten Fälle abgebildet.
Die Nummern in Fig. 4 repräsentieren dabei die jeweilige Funk­ tion und oder das jeweilige Programmodul. Wählt man beispiels­ weise ein 32-Bit breites Testwort, liegen sie im Bereich von 0 bis 26. Dabei muß kein Zusammenhang zwischen Nummernvergabe und Reihenfolgebeziehung der Funktionen bestehen. Die Reihenfolgebe­ ziehung wird über einen später noch zu erläuternden und oben be­ reits beispielhaft genannten Prüfsummen-Algorithmus (z. B. MISR) sichergestellt. Jeder Funktion muß allerdings eine eindeutige Nummer zugewiesen werden.
In Fig. 4 ist der Ablauf für die Funktion i in Block 400 und für die Funktion i+1 in Block 403 dargestellt. Dabei wird der Algorithmus wie folgt umgesetzt. Das Testwortformat, bzw. das Testwort setzt sich aus einem Zähler für die aktuelle Anzahl der Aktivierungen (Modulaufrufzähler, obere m-Bits) sowie einem Sta­ tuswort (modulspezifische Konstante, untere k-Bits zusammen). Im Statuswort wird die übergebene, aktuelle Nummer der Funktion durch die jeweilige Bit-Stelle repräsentiert. Das Testwort um­ fasst somit m + k Bits.
In der Funktion end-check wird in einem Zwischenregister die der Nummer entsprechende Bit-Stelle des Statusworts gesetzt und die Anzahl der Aktivierungen inkrementiert. Wie hier in Block 401 für Funktion i und in Block 404 die Funktion i+1. Die Funktion end-check in Block 402 und in Block 405 setzt erneut die der Nummer entsprechende Bit-Stelle des Statusworts im Zwischenregi­ ster. Anhand der aktuellen Prüfsumme und des Inhalts des Zwi­ schenregisters wird die neue Prüfsumme anhand des Prüfsummenal­ gorythmus berechnet. finish-check in Block 406 verknüpft die ak­ tuelle Prüfsumme mit dem Korrekturwert bzw. bei der Überwachung im schnellen Zeitraster mit dem Prüfwort des Überwachungsmoduls.
Im bereits genannten Prüfsummenverfahren wird konzeptionell eine Sequenz bzw. Abfolge von Testwörtern (TW1 bis TW4) durch ein Ge­ neratorpolynom dividiert:
TW1 TW2 TW3 TW4 0 : Generatorpolynom = Rest
Wird der Rest in die Berechnung einbezogen, so gilt:
TW1 TW2 TW3 TW4 Rest : Generatorpolynom = 0
Vertauschungen oder Überspringen von Codewörtern werden durch dieses Verfahren beim vorab genannten Testwortformat erkannt. Um eine doppelte Ausführung von Funktionen bzw. Überspringen einer Funktion sicher zu entdecken, wird zusätzlich die Anzahl der Ak­ tivierung der Funktion in die Testwortberechnung miteinbezogen.
Das Verfahren zur Prüfsummenberechnung ist beispielsweise wie erwähnt das MISR-Verfahren (Multiple Input Signature Register) zu verwenden. Als gewähltes Generatorpolynom kann ebenfalls ein standardisiertes Polynom, beispielsweise CRC-32, verwendet wer­ den. Es sind dabei generell solche Generatorpolynome bzw. Ver­ fahren verwendbar, bei denen sichergestellt ist, dass sie im Fehlerfall eine falsche Prüfsumme erzeugen. Dies ist für die vorgeschlagenen Prüfsummenverfahren und das vorgeschlagene Gene­ ratorpolynom sowie das obengenannte Testwortformat erfüllt.
In der Fig. 5, bestehend aus den Fig. 5a und 5b, wird noch einmal die Überwachung anhand des schnellen oder langsamen Ra­ sters bezogen auf wenigstens einen Überwachungsbereich darge­ stellt.
Dabei wird durch das folgende Verfahren die kontinuierliche Überwachung eines schnellen Rasters gewährleistet, entsprechend Fig. 5a. Falls am Ende der Ausführung eines Überwachungsbe­ reichs kein neues Prüfdatum bzw. keine Frage vom Überwachungsmo­ dul vorliegt, wird anhand eines Korrekturwerts für die Prüfsum­ menberechnung das Ergebnis gebildet. Das Ergebnis wird bei der nächsten Aktivierung des Überwachungsbereichs als Startwert ver­ wendet. Falls am Ende der Ausführung eines Überwachungsbereichs ein neues Prüfdatum vorliegt, wird das Ergebnis anhand des Prüf­ datums gebildet. Als Startwert bei der nächsten Aktivierung wird eine Konstante verwendet. Dieser Zusammenhang ist in Fig. 5a dargestellt. Fall ein Fehler, z. B. ein transienter Hardwarefeh­ ler in einer Aktivierung ohne Prüfdatum, ohne Frage, auftritt, wird der Fehler zu einer inkorrekten Prüfsumme- und Startwert­ bildung für die nächste Aktivierung führen, bis aufgrund des Fehlers eine inkorrekte Teilantwort aufgrund des inkorrekten Startwerts gebildet wird. Die inkorrekte Teilantwort führt zu einer inkorrekten Antwort an das Überwachungsmodul, somit wird der Fehlerzustand durchgeschleift.
Für die Überwachung von in einem im langsamen Zeitraster akti­ vierten Funktionen kann es bei dieser Überwachung keine direkte Abhängigkeit vom Prüfdatum bzw. der Frage geben, da die Antwort an das Überwachungsmodul vor der Beendigung der Ausführung des Überwachungsbereichs gegeben werden muß. Daher wird mit einem konstanten Startwert sowie dem vorher erwähnten Rest eine im fehlerfreien Fall konstante Prüfsumme, z. B. 0x0 berechnet. Das Ergebnis wird auf den Startwert für die nächste Aktivierung ad­ diert, falls von der Antwortbildung keine Teilantwort verlangt wird. Ansonsten wird das bei fehlerfreiem Verlauf konstante Er­ gebnis als Teilantwort zurückgegeben. Bei jeder Antwortbildung wird die durch die Programmablaufüberwachung zuletzt gebildete Teilantwort verwendet, bis eine neue Teilantwort berechnet wur­ de. Auf diese Weise lassen sich feste Fehlerlatenzzeiten garan­ tieren. Dies ist in Fig. 5b dargestellt. Bei sporadisch ausge­ führten Funktionen wie vorher genannt wird anhand der oberen Zeitschranke von sporadischen Funktionsaufrufen, die in Zusam­ menhang mit Fig. 5b beschriebene Vorgehensweise verwendet, also für den Fall, dass die obere Zeitschranke kleiner gleich der Zeitdauer der Antwortbildung ist. Für den anderen Fall, also dass die obere Zeitschranke größer der Zeitdauer der Antwortbil­ dung ist, wird das in Zusammenhang mit Fig. 5b angeführte Ver­ fahren eingesetzt.
Somit ist eine kontinuierliche Überwachung bei asynchronem Zu­ sammenhang zwischen dem Überwachungsraster und der Antwortbil­ dung bei definierten Fehlerlatenzzeiten möglich.

Claims (14)

1. Verfahren zur Überwachung der Steuerung von Betriebsab­ läufen bei einem Fahrzeug, wobei in einer Steuereinheit Steuerfunktionen ausgeführt werden, wobei ebenfalls Über­ wachungsfunktionen ausgeführt werden, welche die Steuer­ funktionen überwachen, mit folgenden Schritten:
  • - ein Überwachungsmodul (101), überträgt wenigstens eine Frage (F) an die Steuereinheit (100),
  • - wobei in der Steuereinheit eine erste Überwachungsfunk­ tion, insbesondere eine Ablaufkontrolle (PAK), vorgesehen ist, welche in einem zweiten vorgebbaren Zeitraster zu der Frage (F) eine Teilantwort (TA3) berechnet,
  • - wobei die Steuereinheit (100) aus wenigstens einer Tei­ lantwort eine Antwort (A) an das Überwachungsmodul (101) bildet,
  • - und die Bildung der Antwort (A) in einem vorgebbaren ersten Zeitraster aktiviert wird,
  • - wobei die Steuereinheit (100) die Antwort (A) an das Überwachungsmodul (101) überträgt und das Überwachungsmo­ dul (101) abhängig von der Antwort (A) Fehler bezüglich der Ausführung der Steuerfunktionen erkennt,
  • - wobei das erste und zweite Zeitraster asynchron zuein­ ander sind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Frage (F) in dem ersten Zeitraster der Aktivierung der Antwortbildung übertragen wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Frage (F) in einem vorgebbaren dritten Zeitraster übertragen wird.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Frage (F) ereignisgesteuert übertragen wird.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Steuerfunktionen in einer ersten Funktionsebene der Steuereinheit durchgeführt werden und die Überwachungs­ funktionen in einer zweiten und einer dritten Funktions­ ebene der Steuereinheit durchgeführt werden, wobei wenig­ stens die erste und zweite Funktionsebene unabhängig von­ einander sind, solange kein Fehler erkannt wird.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass aus den Steuerfunktionen der ersten Funktionsebene we­ nigstens ein Überwachungsbereich derart gebildet wird, dass wählbare Funktionen die eine zur Laufzeit der Steue­ rung der Betriebsabläufe konstante Sequenz bilden in dem wenigstens einen Überwachungsbereich zusammengefasst wer­ den.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der wenigstens eine Überwachungsbereich in die Ablaufkon­ trolle (PAK) einbezogen ist und eine Aktivierung des Überwachungsbereichs synchron zur Ablaufkontrolle (PAK) und asynchron zur Aktivierung der Antwortbildung erfolgt.
8. Verfahren nach Anspruch 1 und 5, dadurch gekennzeichnet, dass die Antwort (A) in der dritten Funktionsebene aus Teilantworten der Überwachungsfunktionen der Steuerein­ heit gebildet wird.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in der Ablaufkontrolle wenigstens ein Testwort (TW1, TW2, TW3, TW4) erzeugt wird, das aus einem Zähler der die An­ zahl der Aktivierungen der wenigstens einen überwachten Steuerfunktion darstellt und einem die wenigstens eine überwachte Steuerfunktion identifizierenden Kennzeichen besteht.
10. Verfahren nach Anspruch 1 und 9, dadurch gekennzeich­ net, dass eine Prüfsummenberechnung mittels eines Genera­ torpolynoms derart durchgeführt wird, dass dem wenigstens einen Testwort (TW1, TW2, TW3, TW4) eine Frage (F) oder falls keine Frage vorliegt eine Konstante zugefügt wird und das Ergebnis als Teilantwort zur Antwortbildung her­ angezogen wird.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die zugeführte Konstante so gewählt wird, dass das Ergebnis (bei fehlerhaftem Programmablauf) genau dem An­ fangswert der Prüfsummenberechnung entspricht.
12. Verfahren nach Ansprüch 10, dadurch gekennzeichnet, dass bei fehlerhaftem Programmablauf und der zugeführten Konstanten das Ergebnis unterschiedlich zum ursprüngli­ chen Anfangswert der Prüfsummenberechnung ist.
13. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass das Ergebnis wieder als Anfangswert der nächsten Prüfsummenberechnung weiterverwendet wird und somit auch ein einmaliger fehlerhafter Programmablauf als falsches Ergebnis bis zur letztendlichen Auswertung erkennbar bleibt.
14. Vorrichtung zur Überwachung der Steuerung von Be­ triebsabläufen bei einem Fahrzeug, mit einer Steuerein­ heit (100) in welcher Steuerfunktionen ausgeführt werden und einem Überwachungsmodul (101), wobei wenigstens erste Mittel enthalten sind durch welche ebenfalls Überwa­ chungsfunktionen ausgeführt werden; welche die Steuer­ funktionen überwachen, wobei
das Überwachungsmodul (101) zweite Mittel enthält, wel­ che wenigstens eine Frage (F) an die Steuereinheit (100) übertragen,
wobei die ersten Mittel eine erste Überwachungsfunkti­ on, insbesondere eine Ablaufkontrolle (PAK), ausführen, und die ersten Mittel dabei in einem zweiten vorgebbaren Zeitraster zu der Frage (F) eine Teilantwort (TA3) be­ rechnen,
wobei die Steuereinheit (100) dritte Mittel enthält, welche aus wenigstens einer Teilantwort eine Antwort (A) and das Überwachungsmodul (101) bilden, wobei die dritten Mittel die Bildung der Antwort (A) in einem vorgebbaren ersten Zeitraster aktivieren,
wobei vierte Mittel in der Steuereinheit (100) die Ant­ wort (A) an das Überwachungsmodul (101) übertragen und
fünfte Mittel im Überwachungsmodul (101) enthalten sind, die abhängig von der Antwort (A) Fehler bezüglich der Ausführung der Steuerfunktionen erkennen,
wobei die ersten Mittel mit dem zweiten Zeitraster und die dritten Mittel mit dem ersten Zeitraster asynchron zueinander arbeiten.
DE10205809A 2001-06-08 2002-02-13 Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug Withdrawn DE10205809A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10205809A DE10205809A1 (de) 2001-06-08 2002-02-13 Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug
US10/167,930 US6580974B2 (en) 2001-06-08 2002-06-10 Method and apparatus for monitoring the control of operational sequences in a vehicle
JP2002168436A JP4391724B2 (ja) 2001-06-08 2002-06-10 車両の駆動シーケンス制御の監視方法及びその装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10127833 2001-06-08
DE10205809A DE10205809A1 (de) 2001-06-08 2002-02-13 Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug

Publications (1)

Publication Number Publication Date
DE10205809A1 true DE10205809A1 (de) 2002-12-12

Family

ID=7687619

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10205809A Withdrawn DE10205809A1 (de) 2001-06-08 2002-02-13 Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug

Country Status (1)

Country Link
DE (1) DE10205809A1 (de)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10256360A1 (de) 2002-12-03 2004-06-24 Volkswagen Ag Verfahren und Vorrichtung zur Überwachung positiver Momenteneingriffe in einem Motorsteuergerät
EP1600831A1 (de) * 2004-05-07 2005-11-30 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung mehrerer Steuergeräte mittels einer Frage-Antwort-Kommunikation
WO2006008313A1 (de) * 2004-07-22 2006-01-26 Robert Bosch Gmbh Verfahren und vorrichtung zum überwachen des ablaufs eines steuerprogramms auf einem rechengerät
WO2008006613A1 (de) * 2006-07-14 2008-01-17 Lucas Automotive Gmbh Verfahren zum synchronisieren von komponenten eines kraftfahrzeugbremssystems und elektronisches bremssteuersystem
EP1970782A1 (de) * 2007-03-12 2008-09-17 Secunet Security Networks Aktiengesellschaft Schutzeinrichtung für eine programmierbare datenverarbeitende Einheit
WO2010054874A1 (de) * 2008-11-11 2010-05-20 Robert Bosch Gmbh Verfahren und system zur steuerung einer kommunikation zwischen einem funktionsrechner und einem überwachungsmodul
DE102010002478A1 (de) 2010-03-01 2011-09-01 Robert Bosch Gmbh Verfahren zum Bereitstellen eines zulässigen Sendezeitpunkts für die Antwort bei einer Frage-/Antwort-Kommunikation zwischen einem Überwachungsmodul und einem Funktionsrechner
WO2012038260A1 (de) * 2010-09-20 2012-03-29 Sb Limotive Company Ltd. Verfahren zum überwachen von mindestens zwei mikrocontrollern
WO2012097775A1 (de) * 2011-01-21 2012-07-26 Continental Automotive Gmbh Schaltungsanordnung mit überwachungseinrichtung
CN103350669A (zh) * 2013-06-06 2013-10-16 苏州泽佑科技有限公司 汽车车内环境检测***
DE102020103882A1 (de) 2020-02-14 2021-08-19 Valeo Schalter Und Sensoren Gmbh Kameravorrichtung, kraftfahrzeug, verfahren und computerprogrammprodukt
DE102022200291A1 (de) 2022-01-13 2023-07-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Überwachen eines elektronischen Systems

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10256360A1 (de) 2002-12-03 2004-06-24 Volkswagen Ag Verfahren und Vorrichtung zur Überwachung positiver Momenteneingriffe in einem Motorsteuergerät
DE10256360B4 (de) 2002-12-03 2018-03-29 Volkswagen Ag Verfahren und Vorrichtung zur Überwachung positiver Momenteneingriffe in einem Motorsteuergerät
EP1600831A1 (de) * 2004-05-07 2005-11-30 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung mehrerer Steuergeräte mittels einer Frage-Antwort-Kommunikation
US7689871B2 (en) 2004-05-07 2010-03-30 Robert Bosch Gmbh Method for monitoring a system
WO2006008313A1 (de) * 2004-07-22 2006-01-26 Robert Bosch Gmbh Verfahren und vorrichtung zum überwachen des ablaufs eines steuerprogramms auf einem rechengerät
WO2008006613A1 (de) * 2006-07-14 2008-01-17 Lucas Automotive Gmbh Verfahren zum synchronisieren von komponenten eines kraftfahrzeugbremssystems und elektronisches bremssteuersystem
US9778642B2 (en) 2007-03-12 2017-10-03 Secunet Security Networks Aktiengesellschaft Protection unit for a programmable data-processing system
EP1970782A1 (de) * 2007-03-12 2008-09-17 Secunet Security Networks Aktiengesellschaft Schutzeinrichtung für eine programmierbare datenverarbeitende Einheit
WO2010054874A1 (de) * 2008-11-11 2010-05-20 Robert Bosch Gmbh Verfahren und system zur steuerung einer kommunikation zwischen einem funktionsrechner und einem überwachungsmodul
DE102010002478A1 (de) 2010-03-01 2011-09-01 Robert Bosch Gmbh Verfahren zum Bereitstellen eines zulässigen Sendezeitpunkts für die Antwort bei einer Frage-/Antwort-Kommunikation zwischen einem Überwachungsmodul und einem Funktionsrechner
WO2012038260A1 (de) * 2010-09-20 2012-03-29 Sb Limotive Company Ltd. Verfahren zum überwachen von mindestens zwei mikrocontrollern
US9104570B2 (en) 2010-09-20 2015-08-11 Robert Bosch Gmbh Method for monitoring at least two microcontrollers
US9566920B2 (en) 2011-01-21 2017-02-14 Continental Automotive Gmbh Circuit arrangement comprising a monitoring device
WO2012097775A1 (de) * 2011-01-21 2012-07-26 Continental Automotive Gmbh Schaltungsanordnung mit überwachungseinrichtung
CN103350669A (zh) * 2013-06-06 2013-10-16 苏州泽佑科技有限公司 汽车车内环境检测***
DE102020103882A1 (de) 2020-02-14 2021-08-19 Valeo Schalter Und Sensoren Gmbh Kameravorrichtung, kraftfahrzeug, verfahren und computerprogrammprodukt
DE102022200291A1 (de) 2022-01-13 2023-07-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Überwachen eines elektronischen Systems
WO2023135004A1 (de) 2022-01-13 2023-07-20 Robert Bosch Gmbh Verfahren zum überwachen eines elektronischen systems

Similar Documents

Publication Publication Date Title
DE19933086B4 (de) Verfahren und Vorrichtung zur gegenseitigen Überwachung von Steuereinheiten
DE102008063625B4 (de) Fahrzeug-Elektroniksteuervorrichtung mit einem Überwachungssteuerschaltkreis
DE102005014550B4 (de) Brake By-Wire Steuersystem
DE10205809A1 (de) Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug
EP0826102A1 (de) Verfahren und vorrichtung zur steuerung einer antriebseinheit eines fahrzeugs
DE10223880A1 (de) Verfahren zur gegenseitigen Überwachung von Komponenten eines dezentral verteilten Rechnersystems
EP0712360B1 (de) Regelschaltung für bremsanlagen mit abs und/oder asr
EP2513455B1 (de) Überwachungskonzept in einem steuergerät
EP0886823B1 (de) Verfahren zur überprüfung der funktionsfähigkeit einer recheneinheit
EP2078253A2 (de) Verfahren und vorrichtung zur fehlerverwaltung
WO2007025844A1 (de) Verfahren zur verfügbarkeitserhöhung von kraftfahrzeugmotoren
DE4431901B4 (de) Vorrichtung zur Störerfassung in einem Antischlupf-Bremssteuersystem für Kraftfahrzeuge
EP1053153B1 (de) Verfahren zur behandlung von fehlern in einem elektronischen bremssystem und zugehörige vorrichtung
EP0552487A2 (de) Elektronisches Steuersystem für ein elektromagnetisches Stellmittel in einem Kraftfahrzeug mit einem Steuergerät
DE2929472A1 (de) Fehlerdiagnosevorrichtung eines steuersystems
DE102011088764A1 (de) Verfahren zum Betreiben eines Steuergeräts
DE10142511B4 (de) Fehlerbehandlung von Softwaremodulen
DE102006024606A1 (de) Verfahren zur Funktionsprüfung eines Steuergeräts für ein Kraftfahrzeug
DE102008043646A1 (de) Verfahren und System zur Steuerung einer Kommunikation zwischen einem Funktionsrechner und einem Überwachungsmodul
DE102008004206A1 (de) Anordnung und Verfahren zur Fehlererkennung und -behandlung in einem Steuergerät in einem Kraftfahrzeug
DE3200725C2 (de)
DE4017045C2 (de)
EP2612059B1 (de) Vorrichtung und verfahren zur regelung eines doppelkupplungsgetriebes
DE19755311B4 (de) Verfahren und Vorrichtung zur Informationsübertragung in Kraftfahrzeugen
DE102019203783B4 (de) Verfahren, Programm und System zur Verwendung von Signalqualitätsanforderungen im Rahmen von Sicherheitskonzepten

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee