DE4111072C3 - Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem - Google Patents

Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem

Info

Publication number
DE4111072C3
DE4111072C3 DE4111072A DE4111072A DE4111072C3 DE 4111072 C3 DE4111072 C3 DE 4111072C3 DE 4111072 A DE4111072 A DE 4111072A DE 4111072 A DE4111072 A DE 4111072A DE 4111072 C3 DE4111072 C3 DE 4111072C3
Authority
DE
Germany
Prior art keywords
task
program
execution
programs
carried out
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.)
Expired - Fee Related
Application number
DE4111072A
Other languages
English (en)
Other versions
DE4111072A1 (de
DE4111072C2 (de
Inventor
Kazumasa Kurihara
Shigeru Yajima
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.)
Bosch Corp
Original Assignee
Zexel Corp
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 Zexel Corp filed Critical Zexel Corp
Publication of DE4111072A1 publication Critical patent/DE4111072A1/de
Application granted granted Critical
Publication of DE4111072C2 publication Critical patent/DE4111072C2/de
Publication of DE4111072C3 publication Critical patent/DE4111072C3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/22Safety or indicating devices for abnormal conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem, und betrifft insbesondere ein Verfahren zum Feststellen von Störungen, welche einen anormalen Betriebszustand, wie einen Systemabsturz, einen nicht programmierten Systemstop u. ä. während einer Multitasking-Verarbeitung in einem Mikrocomputersystem be­ wirken.
Aus der Zeitschrift "IBM Technical Disclosure Bulletin" Vol. 30, Nr. 11, April 1988, Seiten 272 bis 276 ist es bekannt, zur Überwachung der normalen Ausführung von Aufgaben einen Überwachungszeitgeber zu verwenden.
Überwachungszeitgeber werden ferner auch bei Mikrocomputersystemen verwendet, um eine Störung oder eine anormale Programmausführung festzustellen, die wahrscheinlich einen Systemabsturz, einen nichtprogrammierten Systemstop oder etwas ähnliches bewirken. In Abhängigkeit von den Umständen ist es manchmal jedoch schwierig mit Hilfe eines Überwachungszeitgebers zwischen einer normalen und einer anormalen Programmausführung zu unterscheiden, da bei der herkömmlichen Methode, bei welcher der Überwachungszeitgeber verwendet wird, eine anormale Programmausführung festgestellt wird, indem die Erzeugung eines Rücksetzimpulses nur auf der Basis davon gesteuert wird, ob ein bestimmter Schritt in dem Programm durchgeführt wurde oder nicht. Folglich erfordert die herkömmliche Methode eine zusätzliche komplizierte Hardware u. ä., um genauer zwischen einer normalen und einer anormalen Programmausführung zu unterscheiden.
Zur Überwindung dieses Nachteils ist in der JP 58-1 54 052 A ein Feststellverfahren vorgeschlagen, bei welchem eine vorherbestimmte arithmetische Berechnung jedesmal dann durchgeführt wird, wenn ein Verarbeitungsschritt, welcher unter einer Anzahl Verarbeitungsschritte, welche ein gewünschtes Programm bilden, entsprechend ausgewählt worden ist, durchgeführt wird, ein impulsförmiges Signal jedesmal dann erzeugt wird, wenn die arithmetische Berechnung ein vorgeschriebenes Ergebnis erzeugt, und dann auf der Basis des Zustands des impulsförmigen Signals unterschieden wird, ob ein anormaler Zustand bei der Ausführung des Programms aufgetreten ist oder nicht.
Aus der DE 29 39 194 A1 ist ein Verfahren und eine Schal­ tungsanordnung zum Überwachen des ordnungsgemäßen Ablaufs eines Programms bekannt, welches aus einer Reihe von gegebe­ nenfalls mehrfach auszuführenden Unterprogrammen besteht, wobei ein Fehlermeldesignal bei Feststellung eines fehler­ haften Programmablaufs in einer im Echtzeitbetrieb arbeiten­ den Datenverarbeitungsanlage erzeugt wird, wobei in die Folge auszuführender Programmbefehle Prüfbefehle eingefügt werden, deren Auftreten überwacht wird.
Das wesentliche dieses bekannten Verfahrens besteht darin, daß lediglich die Übergangsstellen von einem Unterprogramm zu einem anderen Unterprogramm der im Zuge der jeweiligen Programmabwicklung auszuführenden Unterprogramme jeweils durch ein eine Parameterangabe über die Ebene des zugehöri­ gen Unterprogramms in bezug auf sämtliche gegebenenfalls abzuwickelnden Unterprogramme und eine Angabe über die Häu­ figkeit, in der das jeweilige Unterprogramm im Zuge des Programmablaufs benutzt wird, aufweisendes Prüfbefehlswort gekennzeichnet werden, und daß die im Zuge der jeweiligen Programmabwicklung tatsächlich ermittelten Prüfbefehle als Ist-Befehle für einen Vergleich mit einer vorgegebenen Soll- Befehlsfolge bereitgestellt werden.
Bei diesem bekannten Verfahren kann nach der jeweiligen Ausführung eines Ausführungsprogramms nicht mit Hilfe einer Abfrage unterschieden werden, ob die Verarbeitung des Auf­ gabenprogramms normal ausgeführt wurde oder nicht. Es wird lediglich nach jeder Ausführung eines Unterprogramms eine Zählerstandsänderung ausgeführt.
Aus der DE 33 22 074 A1 ist eine Notlaufeinrichtung für mikrocomputer-gesteuerte Systeme bekannt, um eine Leerlauf- Füllungsregelung in einem Kraftfahrzeug durchzuführen. Der dabei verwendete Mikrocomputer weist Eingänge für Betriebs­ parametern entsprechende Signal auf, ferner einen Signal­ ausgang zur Abgabe von im Mikrocomputer erzeugten Steuersi­ gnalen, sowie einen weiteren Ausgang zur Abgabe von regel­ mäßigen Impulsen bei normalem Betrieb des Systems, wobei die Impulse in einer Schaltung auf regelmäßiges Auftreten über­ prüft werden. Es ist ferner ein Funktionsgenerator vorgese­ hen, der ebenfalls Steuersignale abgibt und eine Logik in Abhängigkeit von der Schaltung dem System die Steuersignale des Mikrocomputers oder die Steuersignale des Funktionsgene­ rators zuleitet. Das wesentliche dieser bekannten Notlauf­ einrichtung besteht darin, daß die regelmäßigen Impulse als Ausfall-Sicherheitsimpulse verwendet werden, und zwar zur ständigen Überwachung der Steuerung, wobei die Schaltung einen Reset-Eingang des Mikrocomputers im Störungsfall mit einem Ausfallsicherheits-Signal ansteuert und wobei die Steuersignale des als Notlauf-Funktionsgenerators verwende­ ten Funktionsgenerators als Notlaufsignale dem System zu­ geführt werden.
Aus der DE 30 08 036 A1 ist eine Überwachungseinrichtung für programmgesteuerte Vorrichtungen bekannt, bei der an ver­ schiedenen Stellen des Programms, insbesondere nach Teilpro­ grammen, Kontroll-Bits bzw. Kontroll-Codeworte abgegeben und in Registern eines Rechners eingespeichert werden. Am Ende des Gesamtprogramms werden die Registerinhalte mit den In­ halten von Norm-Registern oder Festwerten verglichen und bei Nicht-Übereinstimmung ein Neustart des Prozesses ausgelöst. Weiter kann bei dieser bekannten Überwachungseinrichtung zur Erkennung von einem falschen bzw. richtigen Programmdurch­ lauf ein Kontrollimpuls erzeugt werden.
In neuen Mikrocomputer-Systemen ist häufig ein sogenanntes Multitasking angewendet, bei welchem ein Auftrag in eine Anzahl Aufgaben aufgeteilt wird, und Programme für die jeweiligen Aufgaben zu verschiedenen Zeiten aktiviert werden und zu verschiedenen Zeitabschnitten ablaufen. Da jedoch in einem Multitasking-System die Programme für die jeweiligen Aufgaben durch ein Unterbrechungs-Verarbeitungsprogramm aktiviert werden, können anormale Ausführungen, welche in einem oder mehreren der Programme für die Aufgaben auftreten, nicht festgestellt werden, wenn nicht die anormale Durchführung oder Störung in dem Programm unter der Überwachung eines Überwachungszeitgebers vorkommt.
Es soll daher ein Verfahren zum Feststellen einer Störung in einem Mikrocomputer-System geschaffen werden, bei welchem eine Störungsfeststellung in dem Mikrocomputer-System sicher gewährleistet werden kann, welches ein Programm durch Multitasking ausführt.
Gemäß der Erfindung ist dies bei einem Verfahren zum Feststellen einer Störung in einem Mikrocomputer-System durch die Merkmale im kennzeichnenden Teil des Anspruchs 1 erreicht. Vorteilhafte Weiterbildungen und Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Entsprechend dem erfindungsgemäßen Verfahren wird in dem Fall, daß ein gegebener Auftrag in eine Anzahl Aufgaben aufgeteilt wird, und die Programme für diese Aufgaben, welche nachstehend als "Aufgaben-Programme" bezeichnet sind, in der Art eines Multitasking durchgeführt werden, eine Prüfung durchgeführt, um zu bestimmen, ob jedes der Aufgaben-Programme normal durchzuführen ist oder nicht. Datensetzeinrichtungen sind beispielsweise in allen entsprechenden Aufgaben-Programmen außer einem vorgeschriebenen Aufgaben-Programm vorgesehen, und der Inhalt jeder Datensetzeinrichtung wird entsprechend der Ausführungsbedingung des zugeordneten Aufgaben-Programms geändert. Zu dem Zeitpunkt, an welchem das vorgeschriebene Aufgaben-Programm ausgeführt wird, werden die Inhalte aller Datensetzeinrichtungen geprüft, um zu bestimmen, ob alle Aufgaben-Programme normal durchzuführen sind oder nicht.
Jedes Aufgaben-Programm ist selbst imstande zu unterscheiden, ob es normal durchgeführt worden ist oder nicht, und der Inhalt der zugeordneten Datensetzeinrichtung wird in Abhängigkeit von dem Ergebnis dieser Unterscheidungsoperation geändert. Die Inhalte aller Datensetzeinrichtungen werden zum Zeitpunkt der Ausführung des vorgeschriebenen Aufgaben-Programms geprüft.
Die Spezifikationen der einzelnen Aufgaben-Programme, wie ihre Aktivierungshäufigkeit, ihr Aktivierungstiming u. ä., sind im voraus bekannt. Daher ist es durch Prüfen der Änderungen in den Inhalten der Datensetzeinrichtungen auf der Basis der bekannten Spezifikationen möglich, zu unterscheiden, ob die jeweiligen Aufgaben-Programme normal ausgeführt wurden oder nicht. Folglich wird ein doppeltes Prüfen durchgeführt, um die anormale Ausführung der Aufgaben-Programme mit hoher Zuverlässigkeit festzustellen.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die anliegenden Zeichnungen im einzelnen erläutert. Es zeigt
Fig. 1 eine schematische Darstellung einer Ausfüh­ rungsform eines Verbrennungsmotor-Steuersy­ stems für Fahrzeuge, in welchem die Ausführung eines Steuerprogramms entsprechend dem erfin­ dungsgemäßen Verfahren geprüft wird, und
Fig. 2 ein Flußdiagramm eines Steuerprogramms, wel­ ches in einem Mikrocomputer ausgeführt wird, welcher in dem Steuersystem der Fig. 1 vorge­ sehen ist.
In Fig. 1 ist ein Verbrennungsmotor-Steuersystem 1 zum elektro­ nischen Steuern des Betriebs eines Verbrennungsmotors 3 dar­ gestellt, welchem Kraftstoff von einer Einspritzpumpe 2 einge­ spritzt wird. Das System 1 hat einen Mikrocomputer 4. Ein Be­ schleunigungsfühler 5 ist mit einem Gaspedal 6 verbunden, um ein Beschleunigungssignal A zu erzeugen, welches das Betäti­ gen (Drücken) des Gaspedals 6 anzeigt, und es ist ein Kühlmittel­ temperaturfühler 7 vorgesehen, welcher ein Kühlmitteltempera­ tur-Signal W erzeugt, welches die Temperatur des Motorkühl­ mittels anzeigt. Ein Kraftstofftemperatur-Fühler 8 erzeugt ein Kraftstofftemperatur-Signal F, welches die Temperatur des Kraftstoffs in einem (nicht dargestellten) Kraftstoffbehälter anzeigt, und ein Drehzahlfühler 9 erzeugt ein Drehzahlsignal N, welches die Drehzahl des Verbrennungsmotors 3 anzeigt.
Die Signale A, W, F und N werden zum Umwandeln in eine digitale Form an einen Analog-Digital-Umsetzer (A/D-) 10 abgegeben, und die entsprechenden digitalen Daten DA, DW, DF und DN, die von dem A/D-Umsetzer 10 erhalten worden sind, werden in den Mikrocomputer 4 als Daten eingegeben, welche die Betriebspa­ rameter des Verbrennungsmotors 3 darstellen.
Der Mikrocomputer 4 herkömmlicher Ausführung weist eine Zen­ traleinheit (CPU) 11, einen Festwertspeicher (ROM) 12, einen Randomspeicher (RAM) 13 und eine Ein-/Ausgabeeinheit (E/A) 14 auf, welche durch einen Bus 15 miteinander verbunden sind. Ein Steuerprogramm 20 (das nachstehend anhand von Fig. 2 er­ läutert wird) zum Steuern des Betriebs des Verbrennungsmotors 3 ist in dem ROM 12 gespeichert, und das Steuerprogramm wird in dem Mikrocomputer 4 in der Art von Multitasking durchge­ führt.
Als Ergebnis der Durchführung des Steuerprogramms wird ein Steuersignal CS von dem Mikrocomputer 4 erzeugt und an ein Stellglied 18 zum Betätigen eines Kraftstoffeinstellteils 2a der Einspritzpumpe 2 angelegt, wodurch die Menge an Kraft­ stoff, welche von der Einspritzpumpe 2 eingespritzt worden ist, gesteuert wird.
Wie in dem Flußdiagramm der Fig. 2 dargestellt, wird das Steu­ erprogramm 20 von n Aufgaben- bzw. Task-Programmen P1 bis Pn für Aufgaben 1 bis n gebildet. Die Aufgaben-Programme P1 bis Pn werden jeweils wiederholt mit einem eigenen Aktivierungs­ zyklus und einer Aktivierungs-Zeitsteuerung ausgeführt, wo­ durch der Betrieb des Verbrennungsmotors 3 entsprechend dem Steuerprogramm 20 gesteuert wird, das in der Art von Multi­ tasking ausgeführt wird.
Nach der Aktivierung des Aufgaben-Programms P1 wird die Ver­ arbeitung der Aufgabe 1 zuerst bei einem Schritt 21 durchge­ führt, und es wird auf einen Schritt 22 übergegangen, bei welchem eine Unterscheidung getroffen wird, ob das Programm zum Durchführen der Aufgabe 1 beim Schritt 21 normal durchge­ führt wurde oder nicht. Die herkömmliche Prüfmethode kann für die beim Schritt 22 durchgeführte Unterscheidung angewendet werden, und die Entscheidung beim Schritt 22 ist ja, wenn die Verarbeitung der Aufgabe 1 normal durchgeführt wurde. Folg­ lich geht in diesem Fall die Operation auf den Schritt 23 über, bei welchem der Zählerstand eines Zählers C1 um eins erhöht wird, und die Ausführung des Aufgaben-Programms P1 ist beendet. In dieser Ausführungsform wirkt der Zähler C1 als eine Datensetzeinrichtung, deren Inhalt entsprechend der Aus­ führung des Aufgaben-Programms P1 geändert wird. Andererseits wird die Ausführung des Aufgaben-Programms P1 ohne die Aus­ führung des Schritts 23 beendet, wenn die Entscheidung beim Schritt 22 nein ist.
Folglich wird eine Inkrementierung oder Erhöhung des Zähler­ stands des Zählers C1 in demselben Zeitintervall wie demjeni­ gen zwischen aufeinanderfolgenden Aktivierungen des Aufgaben- Programms P1 durchgeführt.
Die Disposition oder Anordnung des Aufgaben-Programms P2 für die Aufgabe 2 ist ähnlich derjenigen des Aufgaben-Programms P1 für die Aufgabe 1. Insbesondere wird, nachdem der Prozeß für die Aufgabe 2 beim Schritt 31 durchgeführt ist, beim Schritt 32 unterschieden, ob die Ausführung des Aufgaben-Pro­ gramms P2 normal durchgeführt wurde oder nicht. Es wird dann auf einen Schritt 33 übergegangen, bei welchem der Zähler­ stand eines Zählers C2, welcher als eine Datensetzeinrichtung wirkt, deren Inhalt entsprechend der Ausführungsbedingung des Aufgaben-Programms P2 geändert wird, nur um eins erhöht wird, wenn das Programm zum Verarbeiten der Aufgabe 2 normal durch­ geführt wurde.
Folglich wird in diesem Fall die Erhöhung des Zählers C2 in demselben Zeitintervall wie diejenige der Durchführung des Aufgaben-Programms P2 ausgeführt.
Die Ausführungsbedingung der Aufgaben-Programme P3, P4 . . . Pn-1 für die Aufgaben 3, 4, ...., n-1 werden in ähnlicher Weise auf der Basis geprüft, ob die Zählerstände der Zähler C3 bis Cn-1 in denselben Zeitintervallen wie den Aktivierungs­ intervallen der jeweiligen Aufgaben-Programme P3 bis Pn-1 in­ krementiert werden oder nicht.
Nunmehr wird das Aufgaben-Programm Pn für die Aufgabe n be­ schrieben. Nachdem das Programm für ein Verarbeiten der Auf­ gabe n beim Schritt 101 entsprechend der Aktivierung des Auf­ gaben-Programms Pn durchgeführt worden ist, geht die Opera­ tion bei einem Schritt 102 weiter, bei welchem eine Unter­ scheidung getroffen wird, ob das Programm zum Verarbeiten der Aufgabe n beim Schritt 101 normal durchgeführt wurde oder nicht. Die Entscheidung beim Schritt 102 wird nein, wenn bei dem Schritt 102 festgestellt wird, daß die Operation beim Schritt 101 nicht normal durchgeführt wurde, und die Ausfüh­ rung des Aufgaben-Programms n wird beendet.
Dagegen wird die Entscheidung beim Schritt 102 ja, wenn die Operation beim Schritt 101 normal durchgeführt wurde, und es wird auf einen Schritt 103 1 übergegangen, bei welchem der Zählerstand des Zählers C1 auf der Basis der Beziehung zwi­ schen dem Aktivierungsintervall des Aufgaben-Programms P1 und demjenigen des Aufgaben-Programms Pn geprüft wird.
Insbesondere ist es beispielsweise durch eine einfache Be­ rechnung möglich, im voraus den Wert K1 des Zählers C1 zu kennen, welcher zum Zeitpunkt der Ausführung des Aufgaben- Programms Pn erhalten werden sollte, vorausgesetzt, daß das Aufgaben-Programm P1 in dem vorgeschriebenen Aktivierungsin­ tervall wiederholt normal durchgeführt wurde. Folglich ist es durch Vergleich des aktuellen Zählerstands des Zählers C1 zu dieser Zeit mit dem Wert K1 möglich zu erkennen, ob das Auf­ gaben-Programm P1 normal durchgeführt wurde oder nicht.
Beim Schritt 103 1 wird entschieden, daß das Aufgaben-Programm P1 normal durchgeführt wurde, wenn der aktuelle Zählerstand des Zählers C1 gleich dem Wert K1 ist. In diesem Fall wird die Entscheidung beim Schritt 103 1 ja, und es wird auf einen Schritt 103 2 übergegangen, bei welchem unterschieden wird, ob der Zählerstand des Zählers C2 zu diesem Zeitpunkt gleich dem erwarteten Wert ist oder nicht, welcher auf der Basis der Ak­ tivierungsintervalle der Aufgaben-Programme P2 und Pn in der­ selben Weise wie beim Schritt 103 1 bestimmt worden ist. Die Zählerstände der Zähler C3, C4 . . . Cn-1 der Aufgaben-Program­ me P3, P4, . . . Pn-1 werden in ähnlicher Weise bei den Schritten 103 3 bis 103 n-1 geprüft.
Wie aus Fig. 2 zu ersehen ist, wird ein Schritt 104 durchge­ führt, und ein Überwachungszeitgeber-Impuls WP wird nur er­ zeugt, wenn festgestellt wird, daß alle Zählerstände, welche in den Aufgaben-Programmen P1 bis Pn-1 erhalten worden sind, zum Zeitpunkt einer Durchführung des Aufgaben-Programms Pn die richtigen Werte sind. Dagegen wird der Schritt 104 nicht durchgeführt, selbst wenn nur ein Zählerstand unter den Zäh­ lerständen der Zähler C1 bis Cn-1 nicht gleich dem entspre­ chenden vorausgesagten Wert ist. Dementsprechend wird dann der Überwachungszeitgeber-Impuls WP in diesem Fall nicht erzeugt.
Wie in Fig. 1 dargestellt, wird der Überwachungszeitgeber-Im­ puls WP als ein Rücksetzimpuls an den Überwachungszeitgeber 17 bekannter Ausführung in dem Mikrocomputer 4 angelegt. Der Überwachungszeitgeber 17 erhält auch ein Taktimpulssignal CL vorherbestimmter Frequenz von einem Taktimpulsgenerator 16. Der Zählerstand des Überwachungszeitgebers 17 wird jedesmal dann inkrementiert, wenn ein Impuls des Taktimpulssignals CL angelegt wird, und wird entsprechend dem Anlegen des Überwa­ chungs-Impulses WP rückgesetzt. Folglich erscheint ein Über­ laufimpuls als ein System-Rücksetzimpuls RP an der Ausgangs­ leitung 17a des Überwachungszeitgebers 17 in dem Fall, daß ein Überwachungs-Impuls WP nicht an den Überwachungszeitgeber 17 abgegeben wird, bevor der Zählerstand des Überwachungs­ zeitgebers 17 seinen Überlaufzustand erreicht hat.
Da der Überwachungszeitgeber 17 so ausgelegt ist, daß der Zeitabschnitt von dem Zeitpunkt an, an welchem der Überwa­ chungszeitgeber 17 zurückgesetzt wird, bis zu dem Zeitpunkt, bei welchem dessen Zählerstand seinen Überlaufzustand er­ reicht, etwas länger ist als das Zeitintervall zwischen auf­ einanderfolgenden Erzeugungen des Überwachungs-Impulses WP in dem Fall, daß das Steuerprogramm normal ausgeführt wird, wird der System-Rücksetzimpuls RP nicht erzeugt, solange das Steu­ erprogramm normal ausgeführt wird. Jedoch wird der System- Rücksetzimpuls RP beispielsweise wegen einer anormalen Ausfüh­ rung des Steuerprogramms erzeugt, wenn das Zeitintervall zwi­ schen aufeinanderfolgenden Überwachungs-Impulsen WP länger als der Zeitabschnitt von dem Rücksetzzeitpunkt bis zu dem Zeitpunkt des Überlaufs des Überwachungszeitgebers 17 ist. Der System-Rücksetzimpuls RP wird an die Zentraleinheit (CPU) 11 angelegt, um diese zurückzusetzen.
Bei der vorstehend beschriebenen Anordnung entscheidet jedes der Aufgaben-Programme P1 bis Pn zum Verarbeiten der Aufgaben 1 bis n selbst, ob es normal durchgeführt worden ist oder nicht, und in Abhängigkeit von dem Ergebnis der Entscheidung inkrementiert es einen der zugeordneten Zähler C1 bis Cn-1 oder inkrementiert ihn nicht. Dann werden die Zählerstände der Zähler C1 bis Cn-1 geprüft, wenn die Programme zum Verar­ beiten der Aufgabe n in dem Aufgaben-Programm Pn normal durchgeführt wird, und basierend auf den jeweiligen Zeitakti­ vierungsintervallen der Aufgaben-Programme wird dann unter­ schieden, ob jedes der Aufgaben-Programme richtig durchge­ führt wurde oder nicht.
Dementsprechend wird der Überwachungszeitgeber-Impuls WP nur erzeugt, wenn jede der Aufgaben 1 bis n normal durchgeführt wurde, und jedes der Aufgaben-Programme P1 bis Pn wurde wie­ derholt zu dem richtigen Zeitintervall aktiviert. Dagegen wird der Überwachungs-Impuls WP nicht erzeugt, und die Zen­ traleinheit (CPU) 11 wird zurückgesetzt, selbst wenn eines der Programme zum Verarbeiten der Aufgaben 1 bis n nicht nor­ mal durchgeführt wird, und/oder selbst wenn eine Ausführung für die Aufgaben-Programme P1 bis Pn nicht zu dem richtigen Zeitintervall aktiviert wird.
Hilfsweise können verschiedene andere herkömmliche Methoden angewendet werden, um eine richtige Ausführung der Programme zum Verarbeiten der Aufgaben 1 bis n zu prüfen. Beispielswei­ se kann eine Feststellmethode angewendet werden, bei welcher die zu überprüfende Aufgabe in eine Anzahl Schritte aufge­ teilt wird, eine vorherbestimmte arithmetische Berechnung bei der Beendigung jedes Schritts durchgeführt wird, und, nachdem alle Schritte durchgeführt worden sind, eine Unter- bzw. Ent­ scheidung getroffen wird, ob die Ergebnisse der arithmeti­ schen Berechnungen gleich den Werten sind oder nicht, welche erwartet würden, wenn die Aufgabe normal durchgeführt wird.
Entsprechend der vorerwähnten Anordnung wird zusätzlich zu dem Prüfen, ob jede der Aufgaben 1 bis n richtig durchgeführt wurde oder nicht, ebenfalls auf der Basis der Zeitintervalle für die wiederholte Ausführung der Aufgaben-Programme geprüft, ob die Aufgaben-Programme P1 bis Pn richtig durchgeführt wur­ den oder nicht. Mittels dieses Doppelprüfsystems kann eine Feststellung, ob das Steuerprogramm normal ausgeführt wird oder nicht, mit hoher Zuverlässigkeit durchgeführt werden.

Claims (4)

1. Verfahren zum Feststellen einer Störung in einem Mikro­ computersystem, in welchem ein gegebener Auftrag in eine An­ zahl Aufgaben aufgeteilt wird, und eine Anzahl Aufgaben-Pro­ gramme für die Aufgaben in der Art Multitasking ausgeführt werden, dadurch gekennzeichnet, daß
unterschieden wird, ob jedes Verarbeiten der Aufgaben nach dessen jeweiliger Ausführung normal ausgeführt wurde oder nicht;
der Inhalt von als Zähler ausgeführten Datensetzeinrich­ tungen, welche für alle Aufgaben-Programme, außer für ein vorgeschriebenes Aufgaben-Programm, vorgesehen sind, entspre­ chend dem Ergebnis des Unterscheidungsschrittes geändert wird, derart, daß der Zählerstand durch einen vorgeschriebe­ nen Wert zu einem Zeitpunkt geändert wird, an welchem be­ stimmt und entschieden wird, daß der Prozeß der entsprechen­ den Aufgabe normal ist, und
der Zählerstand jedes Zählers während der Ausführung des vorgeschriebenen Aufgaben-Programms auf der Basis eines Akti­ vierungsintervalls für eine wiederholte Ausführung der Aufga­ ben-Programme geprüft wird, wobei bestimmt und entschieden wird, ob die Ausführung aller Aufgaben-Programme normal war oder nicht.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß eine vorherbestimmte arithmetische Berechnung zumindest zu einer Zeit bei einem vorherbestimmten Schritt im Verlauf der Ausführung des Aufgaben-Programms durchgeführt wird, und das Ergebnis der arithmetischen Berechnung mit einem Standardwert verglichen wird, um zu unterscheiden, ob die Aufgabe normal verarbeitet wurde oder nicht.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Überwachungszeitgeber-Impuls entsprechend dem Ergebnis des Prüfschrittes erzeugt wird, wenn bestätigt wird, daß alle Aufgaben-Programme normal durchgeführt wurden.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das vorgeschriebene Aufgaben-Programm einen Schritt aufweist, einen Überwachungszeitgeber-Impuls entsprechend dem Ergebnis des Prüfschrittes zu erzeugen, wenn bestätigt wird, daß alle Aufgaben-Programme normal durchgeführt wurden.
DE4111072A 1990-04-05 1991-04-05 Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem Expired - Fee Related DE4111072C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2091169A JP2793993B2 (ja) 1990-04-05 1990-04-05 マイクロコンピュータにおけるプログラム暴走検出方法

Publications (3)

Publication Number Publication Date
DE4111072A1 DE4111072A1 (de) 1991-10-10
DE4111072C2 DE4111072C2 (de) 1992-12-10
DE4111072C3 true DE4111072C3 (de) 1996-09-26

Family

ID=14018973

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4111072A Expired - Fee Related DE4111072C3 (de) 1990-04-05 1991-04-05 Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem

Country Status (3)

Country Link
US (1) US5257373A (de)
JP (1) JP2793993B2 (de)
DE (1) DE4111072C3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004028796B3 (de) * 2004-06-15 2006-01-19 Siemens Ag Kontrollerbaustein

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825989A (en) * 1992-06-12 1998-10-20 Xerox Corporation System for diagnosing a source of malfunction resulting from the execution of a print job in a network printing system
US7831516B2 (en) 1992-12-15 2010-11-09 Sl Patent Holdings Llc System and method for redistributing and licensing access to protected information among a plurality of devices
US7089212B2 (en) * 1992-12-15 2006-08-08 Sl Patent Holdings Llc System and method for controlling access to protected information
US6266654B1 (en) * 1992-12-15 2001-07-24 Softlock.Com, Inc. Method for tracking software lineage
US7209901B2 (en) 1992-12-15 2007-04-24 Sl Patent Holdings Llc C/O Aol Time Warner Method for selling, protecting, and redistributing digital goods
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
JPH08115235A (ja) * 1994-10-14 1996-05-07 Honda Motor Co Ltd 制御装置の異常検出装置およびその方法
US6002871A (en) * 1997-10-27 1999-12-14 Unisys Corporation Multi-user application program testing tool
FR2771828B1 (fr) * 1997-12-03 2002-11-29 Sextant Avionique Procede de securisation pour un calculateur
US6966364B1 (en) * 1999-02-12 2005-11-22 Asml Holding N.V. Systems and methods for controlling local environment
GB9911890D0 (en) 1999-05-22 1999-07-21 Lucas Ind Plc Method and apparatus for detecting a fault condition in a computer processor
US7191898B1 (en) 2003-09-04 2007-03-20 Union Rich Usa, Llc Saw blade case
FR2864411B1 (fr) * 2003-12-23 2006-03-03 Cit Alcatel Terminal avec des moyens de protection contre le dysfonctionnement de certaines applications java
DE102005021986A1 (de) * 2005-05-09 2006-11-16 Robert Bosch Gmbh Verfahren zur Steuergeräte-Überwachung
JP4609381B2 (ja) * 2006-06-14 2011-01-12 株式会社デンソー 異常監視用プログラム、記録媒体及び電子装置
JP5590667B2 (ja) * 2010-07-01 2014-09-17 株式会社日立製作所 サブルーチン実行監視装置及びサブルーチン実行監視方法
JP5477654B2 (ja) * 2010-10-22 2014-04-23 株式会社デンソー 電子制御装置、及び、これを用いた電動パワーステアリング装置
JP6060584B2 (ja) * 2012-09-19 2017-01-18 富士電機株式会社 プログラム異常検出装置、そのプログラム
JP6440986B2 (ja) * 2014-08-01 2018-12-19 ローム株式会社 給電装置およびそのコントローラ、制御方法、それを用いた電子機器
JP6787658B2 (ja) * 2015-10-16 2020-11-18 コイト電工株式会社 処理装置、交通信号装置及び情報表示装置
DE102016203852A1 (de) * 2016-03-09 2017-09-14 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug
FR3089315B1 (fr) * 2018-11-30 2021-08-20 Continental Automotive France Procédé de détection d’une disparition de tache
JP6788145B2 (ja) * 2020-06-24 2020-11-18 コイト電工株式会社 処理装置、交通信号装置及び情報表示装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2939194A1 (de) * 1979-09-27 1981-05-14 Siemens AG, 1000 Berlin und 8000 München Verfahren und schaltungsanordnung zum ueberwachen des ordnungsgemaessen ablaufs eines programms
US4321666A (en) * 1980-02-05 1982-03-23 The Bendix Corporation Fault handler for a multiple computer system
US4323966A (en) * 1980-02-05 1982-04-06 The Bendix Corporation Operations controller for a fault-tolerant multiple computer system
DE3008036A1 (de) * 1980-03-03 1981-09-17 Robert Bosch Gmbh, 7000 Stuttgart Ueberwachungseinrichtung fuer programmgesteuerte vorrichtungen
JPS58154052A (ja) * 1982-03-09 1983-09-13 Diesel Kiki Co Ltd マイクロコンピユ−タにおけるプログラム暴走検出方法
DE3322074A1 (de) * 1982-07-23 1984-01-26 Robert Bosch Gmbh, 7000 Stuttgart Notlaufeinrichtung fuer mikrocomputergesteuerte systeme
JPS59139462A (ja) * 1983-01-31 1984-08-10 Hitachi Ltd エラ−検出装置
JPS63163932A (ja) * 1986-12-26 1988-07-07 Fuji Electric Co Ltd 制御用計算機のシステム監視方式
US4816989A (en) * 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
JPS63282857A (ja) * 1987-05-15 1988-11-18 Mitsubishi Electric Corp プログラムの暴走防止方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004028796B3 (de) * 2004-06-15 2006-01-19 Siemens Ag Kontrollerbaustein

Also Published As

Publication number Publication date
JPH03288942A (ja) 1991-12-19
JP2793993B2 (ja) 1998-09-03
US5257373A (en) 1993-10-26
DE4111072A1 (de) 1991-10-10
DE4111072C2 (de) 1992-12-10

Similar Documents

Publication Publication Date Title
DE4111072C3 (de) Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem
DE4114999C2 (de) System zur Steuerung eines Kraftfahrzeuges
DE10056408C1 (de) Vorrichtung zur Überwachung eines Prozessors
DE2946081C2 (de)
DE3521081A1 (de) Mikrocomputeranordnung
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
DE3111126A1 (de) "pruef- und sicherungseinrichtung fuer elektronische steuersysteme, insbesondere in kraftfahrzeugen"
DE2945543C2 (de)
DE4039355A1 (de) Vorrichtung zur pruefung einer watchdog-schaltung
EP1866714B1 (de) Verfahren und vorrichtung zur überwachung einer prozessausführung
DE3343227A1 (de) Verfahren zur ueberwachung von elektronischen rechenbausteinen, insbesondere mikroprozessoren
DE3936259C2 (de)
EP0097826B1 (de) Verfahren zur Steuerung eines Mikrorechners
EP1479003B1 (de) Verfahren und vorrichtung zur steuerung einer funktionseinheit eines kraftfahrzeugs
DE10235564A1 (de) Verfahren zum Überwachen eines Mikroprozessors und Schaltungsanordnung mit einem Mikroprozessor
EP0799143B1 (de) Verfahren und schaltungsanordnung zur überwachung der funktion einer programmgesteuerten schaltung
DE3014251A1 (de) Vorrichtung zur steuerung einer brennkraftmaschine
WO1988005570A1 (en) Process and device for monitoring computer-controlled final control elements
DE19841260B4 (de) Verfahren zum Erkennen von Fehlerzuständen und fahrzeugeigenes Diagnosesystem
EP1025501B1 (de) Verfahren und vorrichtung zur überprüfung einer fehlerüberwachung einer schaltung
DE4035520C2 (de) Verfahren und Anordnung zur Messung der Geschwindigkeit eines Fahrzeuges
EP2338111B1 (de) Verfahren und vorrichtung zum testen eines rechnerkerns in einer mindestens zwei rechnerkerne aufweisenden recheneinheit
DE10160298A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Interrput-Signalen
DE4319881B4 (de) Verfahren zur Verarbeitung von Interruptsignalen einer Interruptquelle
DE102020202338B4 (de) Elektronische steuereinheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8363 Opposition against the patent
8366 Restricted maintained after opposition proceedings
8305 Restricted maintenance of patent after opposition
D4 Patent maintained restricted
8327 Change in the person/name/address of the patent owner

Owner name: BOSCH AUTOMOTIVE SYSTEMS CORP., TOKIO/TOKYO, JP

8339 Ceased/non-payment of the annual fee