DE10330695B4 - Fehlersicheres Programm - Google Patents

Fehlersicheres Programm Download PDF

Info

Publication number
DE10330695B4
DE10330695B4 DE2003130695 DE10330695A DE10330695B4 DE 10330695 B4 DE10330695 B4 DE 10330695B4 DE 2003130695 DE2003130695 DE 2003130695 DE 10330695 A DE10330695 A DE 10330695A DE 10330695 B4 DE10330695 B4 DE 10330695B4
Authority
DE
Germany
Prior art keywords
program
cycle
microcomputer
control unit
components
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
DE2003130695
Other languages
English (en)
Other versions
DE10330695A1 (de
Inventor
Peter Dr. Herges
Volker Dipl.-Ing. Wilhelmi
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.)
Mercedes Benz Group AG
Original Assignee
DaimlerChrysler AG
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 DaimlerChrysler AG filed Critical DaimlerChrysler AG
Priority to DE2003130695 priority Critical patent/DE10330695B4/de
Publication of DE10330695A1 publication Critical patent/DE10330695A1/de
Application granted granted Critical
Publication of DE10330695B4 publication Critical patent/DE10330695B4/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Verfahren zur Steuerung von Komponenten eines Verkehrsmittels, wobei ein auf einem Steuergerät implementiertes Programm ein Eingabesignal (4) von einem Sensor oder einem Eingabemittel abfragt und aufgrund des Eingabesignals ein oder mehrere Komponenten (6) ansteuert, bei dem beim Hochfahren (1) des Steuergerätes Initialisierungsdaten wie Variablen, Interrupts und/oder Parameter von einem Speichermittel in einen Arbeitsspeicher eines Mikrorechners des Steuergerätes geladen werden, um die für die Steuerung der Komponenten notwendigen Randbedingungen für das Programm zu setzen, und wobei die beim Hochfahren (1) des Steuergerätes geladenen Initialisierungsdaten nach dem Hochfahren des Steuergerätes zusätzlich nach einer vorgegebenen Zeitdauer vom Speichermittel in den Arbeitsspeicher des Mikrorechners (2, 9) nachgeladen werden und das Eingabesignal (4) in einem ersten Zyklus vom Programm zyklisch abgefragt wird, dadurch gekennzeichnet, dass ein zweiter Zyklus (9) vorgesehen ist, während dem sowohl die Initialisierungsdaten als auch das Programm neu in den Arbeitsspeicher des Mikrorechners geladen werden, und dass das Programm in einen definierten...

Description

  • Die Erfindung betrifft ein Verfahren zur Steuerung von Komponenten eines Verkehrsmittels, wobei ein auf einem Steuergerät implementiertes Programm ein Eingabesignal von einem Sensor oder einem Eingabemittel abfragt und aufgrund des Eingabesignals ein oder mehrere Komponenten ansteuert, bei dem beim Hochfahren des Steuergerätes Initialisierungsdaten wie Variablen, Interrupts und/oder Parameter von einem Speichermittel in einen Arbeitsspeicher eines Mikrorechners des Steuergerätes geladen werden, um die für die Steuerung der Komponenten notwendigen Randbedingungen für das Programm zu setzen, und bei dem das Eingabesignal vom Programm zyklisch abgefragt oder dem Programm wiederholend zur Verfügung gestellt wird.
  • Aus der WO 96/41273 ist ein Verfahren zur Steuerung von Komponenten eines Verkehrsmittels bekannt. Über einen Datenbus innerhalb des Verkehrsmittels sind mehrere Steuergeräte miteinander vernetzt und jedes Steuergerät ist über Anschlussleitungen direkt mit verschiedenen Aktoren, Sensoren oder Eingabemitteln elektrisch leitend verbunden. Wie dort insbesondere in 5 gezeigt ist, können über eine Tastatur, Maus oder Rollkugel oder auch über Audio-Datenträger wie eine CD-Rom Eingabesignale an ein Steuergerät übermittelt werden. Das Steuergerät steuert aufgrund der Eingabedaten Komponenten des Verkehrsmittels, wie beispielsweise eine Anzeige, das Telefon oder eine Videokamera.
  • Das Steuergerät weist einen Mikrorechner mit Arbeitsspeicher und ein Speichermittel auf, welches im stromlosen Zustand Initialisierungsdaten, wie Variablen, Interrupts und/oder Parameter rückspeichert. Diese Initialisierungsdaten sind beim Hochfahren des Steuergeräts notwendig, um die auf dem Mikrorechner ablaufenden Programme mit den notwendigen Randbedin gungen zu versehen, um einen ordnungsgemäßen Programmablauf zu garantieren. Zu den Initialisierungsdaten gehören Kennlinien oder Kennfelder, die beispielsweise Motorsteuerdaten enthalten, oder es gehören dazu Parameter wie Geschwindigkeitswerte oder Drehzahlwerte, die ein Schalten des automatischen Getriebes auslösen. In Bezug auf eine Videokamera kann eine Nullposition über Parameter definiert sein und im Bezug auf eine Sitzelektronik innerhalb eines Verkehrsmittels können eine Grundeinstellung des Sitzes und die Endpositionen der einzelnen verstellbaren Sitzelemente über die Parameter festgelegt sein. Die Initialisierungsdaten sind definitionsgemäß jene Daten, die das Programm zum Programmstart benötigt, um ordnungsgemäß abzulaufen.
  • Derartige auf Steuergeräten implementierte Software-Programme verwenden oft ein Polling-Verfahren, um Eingabesignale abzufragen. Dazu werden die von Sensoren bzw. Eingabemitteln, wie Schalter, Taster, eine Maus oder ein Touchscreen, kommende Eingabesignale über Analogleitungen zum Steuergerät übertragen und dort analog/digital gewandelt. Der Digitalwert, der Schalter-Ein bzw. Schalter-Aus angibt, wird an einem dafür vorgesehenen Speicherplatz im Speichermittel des Steuergerätes abgelegt. Das Programm kann dann dieses Speichermittel durch zyklisches Abfragen, d. h. durch ein zyklisches Polling-Verfahren, auswerten. Dadurch ist dem Programm bei jedem Zyklus die Schalterstellung bekannt.
  • Zu Problemen kommt es bei derartigen Programmen in Verkehrsmitteln durch EMV-Störungen (Elektromagnetische Verträglichkeit). Diese EMV-Störungen entstehen durch induzierte Spannungen, die auf Leitungen innerhalb des Verkehrsmittels eingekoppelt werden. Dadurch werden Eingabesignale verfälscht oder ganze Datenbereiche im Speichermittel in Bezug auf die abgespeicherten Daten zerstört. Im einfachsten Fall liest das Programm dann falsche Daten vom Arbeitsspeicher ein und das Programm wird fehlerhaft ausgeführt. Problematischer sind derartige Fehler, wenn der komplette Programmablauf durch die EMV-Störungen unterbrochen ist und das Programm dadurch nicht weiter ausgeführt werden kann. Gerade bei derartigen Polling-Verfahren besteht das Problem, dass auch Fehlererkennungsroutinen oft durch starke EMV-Störungen verfälscht werden. Infolgedessen kommt es dazu, dass beispielsweise das Anzeige- und Fahrerinformationssystem aufgrund der EMV-Störungen die Eingabe durch Sensoren oder Eingabemittel nicht mehr erkennen kann, weil das Programm abgestürzt ist. Derartige gravierende Programmfehler lassen sich oft nur durch Neustart des Verkehrsmittels beheben. Bis dies erfolgt, entstehen oft Folgefehler in der Programmausführung, so dass sich derartige Programmfehler fortpflanzen können und über den Datenbus auch benachbarte Steuergeräte in der Ausführung ihrer Funktion stören können.
  • Die DE 199 63 214 A1 offenbart ein Verfahren für ein Steuergerät, welches bei Unterspannung, bspw. beim Motorstarten, neu hochgefahren wird. Um nicht den kompletten Initialisierungsprozess beim Neustart wiederholen zu müssen, wird ein Zeitspeicher mitgeführt und der Neustart des Fahrzeugs wird dann nach dem Hochfahren des Mikrorechners dort begonnen, wo er abgebrochen wurde. Ein Verfahren, welches Informationen vor dem Rücksetzen eines Mikrorechners detektiert, zeigt auch die DE 195 13 939 A1 .
  • Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren der eingangs genannten Art derart weiterzubilden, dass auf Steuergeräten implementierte Softwareprogramme einen fehlersicheren Programmablauf gewährleisten, ohne dass das Verkehrsmittel bei Programmablaufstörungen neu gestartet werden muss.
  • Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Anspruchs 1 gelöst. Dabei werden die beim Hochfahren des Steuergerätes geladenen Initialisierungsdaten nach dem Hochfahren des Steuergerätes zusätzlich zyklisch vom Speichermittel in den Arbeitsspeicher des Mikrorechners geladen und das Programm wird in einen definierten Anfangszustand versetzt, so dass das Programm auch nach einem unvorhergesehenen Programmabsturz nach dem zyklischen Laden der Initialisierungsdaten automatisch vom definierten Anfangszustand fortfährt, die Komponenten des Verkehrsmittels zu steuern.
  • Erfindungsgemäß ist erkannt worden, dass das Programm nach Ablauf einer Zeitdauer zyklisch in einen Anfangszustand versetzt werden kann und von diesem Anfangszustand neu anlaufen kann. Dazu ist ein zweiter Zyklus mit einer Zykluszeit von beispielsweise 1 bis 30 Sekunden vorgesehen, während dem sowohl die Initialisierungsdaten neu in den Arbeitsspeicher des Mikrorechners geladen werden, das Programm neu in den Arbeitsspeicher geladen wird und das Programm ausgehend von dem definierten Anfangszustand startet, die Eingabesignale des Sensors oder der Eingabemittel abzufragen. Da das Programm nach Ablauf des zweiten Zyklus grundsätzlich mit allen Initialisierungsdaten neu gestartet wird, spielt es keine Rolle ob in der Zwischenzeit ein Programmausfall statt gefunden hat.
  • Beispielsweise bezogen auf eine Sitzsteuerung oder das Fahrerinformationssystem lassen sich Steuergeräte mit deren Programmen wieder in einen ablauffähigen Zustand versetzen und die Sitzverstellungen bzw. das Einlesen von Telefonbuchdaten ist auch noch möglich, nachdem zuvor ein Programmabsturz statt gefunden hat. Durch den zyklischen Neustart des Programms mit sämtlichen Initialisierungsdaten lässt sich nach einer kurzen, meist vom Fahrzeugbediener nicht bemerkten Störphase, der Sitz wieder verstellen, bzw. im Fahrerinformationssystem werden die richtigen Daten angezeigt. Der Neustart des Programms ermöglicht aber auch eine ordnungsgemäße Fehlerdiagnose und Fehlerbehandlung durch weitere Software programme, die durch den Absturz des Programms die Fehlerroutine nicht hätten durchführen können.
  • Die Eingabesignale der Sensoren und Eingabemittel werden innerhalb eines ersten Zyklus zyklisch abgefragt. Die Dauer des ersten Zyklus kann beispielsweise einige Millisekunden betragen. Der Sitzverstellschalter wird beispielsweise innerhalb eines Zyklus von 10 Millisekunden vom Programm abgefragt. Der zweite Zyklus für den Neustart des Programms dauert einige Sekunden bzw. einige Minuten. Infolgedessen ist der zweite Zyklus länger als der erste Zyklus zur Abfrage der Eingabesignale. Dieser ermöglicht über einen gewissen Zeitraum eine ungestörte Ausführung des Programms auf dem Steuergerät, bis dann der zweite Zyklus abgelaufen ist und das Programm neu gestartet wird. Der Programmneustart ist so vorgesehen, dass eine möglichst geringen Dauer zum Neuladen der Initialisierungsdaten und Starten des Programms von einem definierten Anfangszustand vorgesehen ist. Durch die Überlagerung des ersten Zyklus mit dem zweiten Zyklus zum Neustart des Programms wird eine sehr hohe Fehlersicherheit (Fail-Safe-Funktionalität) ermöglicht.
  • Das Eingabesignal der Sensoren bzw. Eingabemittel wird in einem Eingabespeichermittel im Steuergerät zwischengespeichert und wird mit dem ersten Zyklus vom Programm jeweils abgefragt. Das Programm durchläuft mittels der Polling-Routine eine Programmschleife zyklisch und fortlaufend, um das Eingabesignal abzufragen. Die Eingabesignale können aber auch über einen sogenannten Interrupt-Modus dem Mikrorechner zur Verfügung gestellt werden, wobei der Mikrorechner das Programm unterbricht, um die Änderung im Eingabesignal im Arbeitsspeicher abzulegen und diese bei der Programmausführung zu berücksichtigen. Die Abrage der Eingabesignale mittels Inter rupt eignet sich nur bei sehr hochprioren Eingabedaten, da jedesmal der Programmablauf unterbrochen wird.
  • Bei einer Weiterbildung der Erfindung wird neben dem Programm auch der Mikrorechner, insbesondere während des Betriebs des Verkehrsmittels, zyklisch in einen Anfangszustand versetzt. Dazu wird beispielsweise der Reset-Pin des Mikrorechner automatisch mit einem Reset-Signal belegt, so dass der Mikrorechner in seinen Reset-Zustand übergeht und von diesem hochfährt, wobei die Initialisierungsdaten und alle übrigen Daten wie beim Hochfahren des gesamten Steuergerätes neu geladen werden. Bei diesem Verfahren ist gewährleistet, dass neben dem ausgefallenen Programm auch sämtliche weiteren auf dem Steuergerät vorhandenen Programme neu gestartet werden und so eine sichere Funktion ermöglicht ist. Es kann nun vorgesehen sein, dass mit einem zweiten Zyklus ein Programmstart zyklisch durchgeführt wird und mit einem dritten Zyklus, beispielsweise nach einer halben Stunde der Mikrorechner in den Reset-Zustand überführt wird, so dass einerseits zyklisch ein Programmstart erfolgt und andererseits zyklisch der Mikrorechner selbst neu gestartet wird.
  • Bei einer anderen Weiterbildung der Erfindung kann auch ein sogenannter Kaltstart des Steuergerätes vorgesehen sein, indem der Mikrorechner kurzzeitig stromlos geschaltet wird und nach Ablauf des Einschwingzustandes über den Reset-Zustand neu hochfährt. Auf diese Weise können auch schwere Softwarefehler innerhalb des Datenbussystems in einem Verkehrsmittel behoben werden.
  • Bei einer besonders vorteilhaften Weiterbildung der Erfindung überwacht ein Watchdog den zweiten Zyklus zum Starten des Programms. Der Watchdog ist eine Routine, die überprüft, ob das Programm in den definierten Anfangszustand versetzt wur de, und die zusätzlich überprüfen kann, ob die Initialisierungsdaten neu geladen wurden. Der Watchdog signalisiert beim Ausbleiben des definierten Programmstarts einen Fehler, um eine Fehlerroutine zu starten. Der Watchdog ist zumeist als Softwareroutine ausgeführt, kann jedoch auch in Hardware mit Hilfe von logischen Gattern ausgeführt sein.
  • Der Watchdog bringt eine erhebliche Fehlersicherheit für die Steuerung der Komponenten mit sich, da ein Fehlersignal erzeugt wird, wenn das Programm nicht zyklisch neu gestartet wird. Auf diese Weise wird ein Programmausfall nach Ablauf des zweiten Zyklus sofort erkannt. Der Watchdog überprüft, ob die Initialisierungsdaten, beispielsweise Variablen, Interrupts und Parameter nach Ablauf des zweiten Zyklus neu gesetzt werden. Der Watchdog kann auch überprüfen, ob der Mikrorechner in den Reset-Zustand versetzt wurde. Zusätzlich zur Überprüfung des zweiten Zyklus kann der Watchdog oder auch ein separat davon angeordneter Watchdog überprüfen, ob die Eingabesignale im Eingabespeichermittel nach Ablauf des ersten Zyklus neu eingeschrieben wurden. Der Watchdog kann dazu Flankenwechsel, d. h. von High- zu Low-Flanke oder Umgekehrt, erfassen und bei Ausbleiben derartiger Flankenwechsel im Eingabesignal einen Fehler melden. Der Watchdog überprüft bevorzugt, ob das Programm eine bestimmte Befehlszeile durchläuft. Beispielsweise überprüft der Watchdog, ob die Befehlszeile „Geh an die Reset-Start-Adresse" (Beginn des Programms) durchlaufen wird.
  • Bevorzugt ist der Watchdog unabhängig vom Mikrorechner des Steuergeräts, auf dem das Programm abläuft, vorgesehen, so dass bei einem Absturz des Programms der Watchdog weiterläuft. Neben dem Watchdog sind verschiedene Fehlerbehandlungsprogramme auf dem Mikrorechner vorhanden, die eine Plausibilitätsprüfung der im Arbeitsspeicher vorhandenen Daten durchführen und Fehler erkennen, die nicht vom Programm selbst, sondern von einem ausgefallenen Sensor herrühren.
  • Das Eingabespeichermittel kann beispielsweise als wiederbeschreibbarer Speicher vorgesehen sein, der auch im stromlosen Zustand des Mikrorechners seine zuletzt gespeicherten Informationen behält. Beispielsweise kann hier ein Flash-Speicher vorgesehen sein. Im Eingabespeichermittel kann dann jeweils auch das letzte und vorletzte Eingabesignal in digitaler Form rückgespeichert werden, so dass bei einem Programm-Neustart der letzte Zustand des Eingabemittels bekannt ist. Beispielsweise kann bei einem Programmausfall im Eingabespeichermittel zurück gespeichert sein, dass der Fahrer die Sitzheizung angeschaltet hatte, bevor das Programm ausgefallen ist bzw. bevor das Programm in seinem standardmäßig zyklischen Ablauf neu gestartet wurde. Auf diese Weise ist es möglich einen Neustart des Programms und gegebenenfalls des Mikrorechners durchzuführen, ohne dass der Fahrer des Verkehrsmittels durch den Programmneustart oder den Fehler gestört oder belastet wird.
  • Es gibt nun verschiedene Möglichkeiten, die Lehre der vorliegenden Erfindung in vorteilhafter Weise auszugestalten. Dazu ist einerseits auf die untergeordneten Ansprüche und andererseits auf die nachfolgende Erläuterung des erfindungsgemäßen Verfahrens zu verweisen.
  • In der Zeichnung ist eine Flussdiagramm des erfindungsgemäßen Verfahrens zur Steuerung von Komponenten eines Verkehrsmittels dargestellt.
  • Das Verfahren zur Steuerung von Komponenten in einem Verkehrsmittel eignet sich insbesondere für die Sitzsteuerung einschließlich Sitzverstellung, Kühlung, Sitzheizung und Sitzmassagefunktionen, sowie beim Fahrzeugdisplay zur Abfrage von Eingabedaten bezüglich Audio- und Videofunktionen. Wird das Verkehrsmittel beispielsweise über einen elektronischen Fahrzeugschlüssel oder über einen mechanischen Fahrzeugschlüssel geöffnet, fahren die am Innenraum-Datenbus des Verkehrsmittels angeordneten Steuergeräte im ersten Verfahrensschritt 1 hoch. Von einem Festwertspeicher werden danach die Initialisierungsdaten im Schritt 2 von einem Festwertspeicher in den Arbeitsspeicher des jeweiligen Steuergerätes geladen. Parallel dazu oder darauffolgend wird das Programm bei 3 gestartet und beginnt die implementierten Funktionen abzuarbeiten. Eine dieser Funktionen ist die Abfrage der von den Sensoren und Eingabemitteln kommenden Eingabesignale gemäß 4. Wird dabei von einem Sensor oder einem Eingabemittel, wie ein Schalter, bei 5 ein neues Eingabesignal empfangen, so verändert das Programm üblicherweise die Steuerung 6 der Komponenten. Ohne Eingabesignal wird im Normalfall die veränderte Ansteuerung 6 der Komponenten entfallen und die Komponenten werden in der bisherigen Weise weiterhin angesteuert.
  • So lange die zweite Zykluszeit nicht abgelaufen ist 7, werden die Eingabesignale bei 4 zyklisch mit einer ersten Zykluszeit vom Eingabespeichermittel abgefragt. Bei Ablauf der zweiten Zykluszeit tritt das Programm in die Programmschleife 9 ein und es werden zunächst die Initialisierungsdaten bei 2 neu geladen und das Programm wird neu geladen, und bei 3 wird das Programm neu gestartet. Der zweite Zyklus 9 wird nicht durch das Programm selbst gesteuert, sondern von einer unabhängigen Komponente eingeleitet, so dass der zweite Zyklus 9 auch bei abgestürztem Programm funktioniert. Das Laden der Initialisierungsdaten und des Programms selbst wird durch einen ersten Watchdog 10 überwacht, während der Programmstart selbst durch einen zweiten Watchdog 11 überwacht wird.
  • Mit dem erfindungsgemäßen Verfahren zur Steuerung von Komponenten eines Verkehrsmittels lässt sich bei Programmen zur zyklischen Abfrage von Eingabesignale verhindern, dass ein Absturz der Abfrageroutine das gesamte Datenbussystem lahm legt. Bei einer alternativen Ausführungsform kann nach Ablauf der zweiten Zykluszeit auch das gesamte Steuergerät 1 hochgefahren werden und dadurch zyklisch ein Steuergeräte- oder Mikrorechner-Reset durchgeführt werden. Auf diese Weise gewährleistet, dass nach Ablauf der zweiten Zykluszeit das Programm jedesmal einen Neustart ausführt. Die Überwachung durch die beiden Watchdogs stellte sicher, dass das Programm gestartet wurde. Auf diese Weise entsteht eine besonders fehlersichere Programmroutine zur Abfrage von Eingabesignalen von Komponenten eines Verkehrsmittels.

Claims (5)

  1. Verfahren zur Steuerung von Komponenten eines Verkehrsmittels, wobei ein auf einem Steuergerät implementiertes Programm ein Eingabesignal (4) von einem Sensor oder einem Eingabemittel abfragt und aufgrund des Eingabesignals ein oder mehrere Komponenten (6) ansteuert, bei dem beim Hochfahren (1) des Steuergerätes Initialisierungsdaten wie Variablen, Interrupts und/oder Parameter von einem Speichermittel in einen Arbeitsspeicher eines Mikrorechners des Steuergerätes geladen werden, um die für die Steuerung der Komponenten notwendigen Randbedingungen für das Programm zu setzen, und wobei die beim Hochfahren (1) des Steuergerätes geladenen Initialisierungsdaten nach dem Hochfahren des Steuergerätes zusätzlich nach einer vorgegebenen Zeitdauer vom Speichermittel in den Arbeitsspeicher des Mikrorechners (2, 9) nachgeladen werden und das Eingabesignal (4) in einem ersten Zyklus vom Programm zyklisch abgefragt wird, dadurch gekennzeichnet, dass ein zweiter Zyklus (9) vorgesehen ist, während dem sowohl die Initialisierungsdaten als auch das Programm neu in den Arbeitsspeicher des Mikrorechners geladen werden, und dass das Programm in einen definierten Anfangszustand (14) versetzt wird, so dass das Programm auch nach einem unvorhergesehenen Programmabsturz nach dem zyklischen Laden der Initialisierungsdaten automatisch vom definierten Anfangszustand (14) fortfährt, die Komponenten des Verkehrsmittels zu steuern, und dass ein Watchdog (10, 11) den zweiten Zyklus (9) überwacht und bei Ausbleiben des definierten Programmstarts (3) einen Fehler signalisiert, um eine Fehlerroutine zu starten.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in einem zweiten Zyklus (9) das Programm von dem definierten Anfangszustand (3) gestartet werden kann und dass der zweite Zyklus (9) länger andauert als der erste Zyklus (8).
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Eingabesignal in einem Eingabespeichermittel zwischengespeichert wird und mit dem ersten Zyklus (8) vom Programm abgefragt wird.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Mikrorechner während des Betriebs des Verkehrsmittels zyklisch in den Anfangszustand (9) versetzt wird.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Anfangszustand ein Reset-Zustand (3) ist, in dem der Mikrorechner kurzzeitig stromlos geschaltet ist und aus dem Reset-Zustand neu hochfährt.
DE2003130695 2003-07-08 2003-07-08 Fehlersicheres Programm Expired - Fee Related DE10330695B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003130695 DE10330695B4 (de) 2003-07-08 2003-07-08 Fehlersicheres Programm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003130695 DE10330695B4 (de) 2003-07-08 2003-07-08 Fehlersicheres Programm

Publications (2)

Publication Number Publication Date
DE10330695A1 DE10330695A1 (de) 2005-01-27
DE10330695B4 true DE10330695B4 (de) 2006-04-13

Family

ID=33546895

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003130695 Expired - Fee Related DE10330695B4 (de) 2003-07-08 2003-07-08 Fehlersicheres Programm

Country Status (1)

Country Link
DE (1) DE10330695B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030126A1 (de) * 2004-06-22 2006-01-12 Audi Ag Kraftfahrzeug mit einer Sitzheizung
DE102020201757B4 (de) 2020-02-12 2024-06-20 Volkswagen Aktiengesellschaft Verfahren, computerprogramm und vorrichtung zum zurücksetzen eines steuergeräts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19513939A1 (de) * 1994-11-10 1996-05-15 Mitsubishi Electric Corp Steuervorrichtung für ein Fahrzeug
WO1996041273A1 (de) * 1995-06-07 1996-12-19 International Business Machines Corporation Vorrichtung und verfahren zur steuerung eines datenbusses
DE19963214A1 (de) * 1999-12-28 2001-07-12 Bosch Gmbh Robert Verfahren und Vorrichtung zum Hochfahren eines Steuergeräts für ein Kraftfahrzeug

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19513939A1 (de) * 1994-11-10 1996-05-15 Mitsubishi Electric Corp Steuervorrichtung für ein Fahrzeug
WO1996041273A1 (de) * 1995-06-07 1996-12-19 International Business Machines Corporation Vorrichtung und verfahren zur steuerung eines datenbusses
DE19963214A1 (de) * 1999-12-28 2001-07-12 Bosch Gmbh Robert Verfahren und Vorrichtung zum Hochfahren eines Steuergeräts für ein Kraftfahrzeug

Also Published As

Publication number Publication date
DE10330695A1 (de) 2005-01-27

Similar Documents

Publication Publication Date Title
EP3246771B1 (de) Verfahren zum betreiben eines redundanten automatisierungssystems
DE10049441B4 (de) Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
WO2006111573A1 (de) Verfahren zum aufrüsten eines mikroprozessorgesteuerten geräts mit neuem softwarecode über ein kommunikationsnetzwerk
DE112018005369T5 (de) Fahrzeuginterne elektronische steuereinheit und zugehöriges verfahren zur abnormalität-reaktionsverarbeitung
WO2006015945A2 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
WO2017137222A1 (de) Rechner- und funktionsarchitektur zur erhöhung der ausfallsicherheit einer hilfskraftlenkung
DE102017202398A1 (de) Mikrocontroller und elektronische steuereinheit
WO2000020970A1 (de) Speicherprogrammierbare steuerung mittels datenverwaltung über netzrechner und verfahren zum betrieb einer speicherprogrammierbaren steuerung
DE102005040916A1 (de) Speicheranordnung und Betriebsverfahren dafür
DE102008039564B4 (de) Verfahren zum Abarbeiten von Aufgaben und System mit einem ersten und einem zweiten Steuergerät
DE10330695B4 (de) Fehlersicheres Programm
DE102019201607A1 (de) Steuerungssystem für ein Kraftfahrzeug
CH693867A5 (de) Vorrichtung und Verfahren zur Ueberwachung der Spannungsversorgung einer Kfz-Steuergeratanordnung
WO2012016805A1 (de) Verfahren zur rekonfiguration von softwareparametern in einem mikrocontroller sowie mikrocontroller und steuergerät
EP2190697B1 (de) Steuergerät und verfahren zur ansteuerung von personenschutzmitteln
WO2014161986A1 (de) Steuer- und datenübertragungsanlage zur redundanten prozesssteuerung und verfahren zur firmware-aktualisierung
DE102009038434A1 (de) Prozessoranlage zur Steuerung mehrerer Funktionskomponenten eines Fahrzeugs
DE4103875C2 (de) Motorsteuergerät mit Erfassung einer Funktionsstörung eines A/D-Wandlers
DE3751374T2 (de) Verfahren und Mechanismus zum unabhängigen Sicherstellungsmodustransfer für digitale Steuerprozessoren.
DE102020200141A1 (de) Fehlertolerantes Regelsystem
EP3380981B1 (de) Sicherheitssteuerungseinrichtung und verfahren zur änderung eines funktionsumfangs einer sicherheitssteuerungseinrichtung
DE102014112946A1 (de) Elektronische Steuereinheit und elektronisches Servolenksystem, das diese verwendet
WO2019020322A1 (de) Verfahren zum betreiben eines steuergerätes und vorrichtung mit zugehörigem steuergerät
EP0796035A1 (de) Digitales Hörgerät mit Prozessorüberwachung
EP1248965B1 (de) Verfahren zur verhinderung von fehlfunktionen in einem signalverarbeitenden system und prozessorsystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DAIMLERCHRYSLER AG, 70327 STUTTGART, DE

8327 Change in the person/name/address of the patent owner

Owner name: DAIMLER AG, 70327 STUTTGART, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140201