DE10330695B4 - Fail-safe program - Google Patents

Fail-safe program 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
German (de)
Other versions
DE10330695A1 (en
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/en
Publication of DE10330695A1 publication Critical patent/DE10330695A1/en
Application granted granted Critical
Publication of DE10330695B4 publication Critical patent/DE10330695B4/en
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

The method for controlling components of a transport means, whereby a program loaded in a control unit controls the components based on a sensor or input signal. When the control unit boots-up initialization data is loaded which includes limiting conditions for controlling the components. Once the control unit is booted up the initialization data are periodically loaded from a work memory of the control unit microcomputer so that the data are automatically cyclically reset to their correct values, even if an unforeseen program crash has taken place.

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.The The invention relates to a method for controlling components of a Means of transport, wherein a program implemented on a controller polls an input signal from a sensor or input means and drives one or more components based on the input signal when booting the controller initialization data such as Variables, interrupts and / or parameters from a storage means loaded into a working memory of a microcomputer of the control unit be to the for the control of the components necessary boundary conditions for the program and in which the input signal is polled cyclically by the program or repeatedly provided to the program.

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.From WO 96/41273 a method for controlling components of a means of transport is known. Via a data bus within the means of transport, a plurality of control units are networked with each other and each control unit is electrically connected via connecting lines directly to various actuators, sensors or input means. As there in particular in 5 can be transmitted via a keyboard, mouse or trackball or via audio media such as a CD-ROM input signals to a control unit. The control unit controls components of the means of transport, such as a display, the telephone or a video camera, based on the input data.

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.The control unit has a microcomputer with memory and a storage means which in the de-energized state initialization data, such as variables, Restores interrupts and / or parameters. This initialization data is necessary when booting up the controller, around the running on the microcomputer programs with the necessary Conditions to ensure a proper program flow to guarantee. The initialization data include characteristics or maps, which include, for example, engine control data, or belong to it Parameters such as speed values or speed values that a Trigger switching of the automatic gearbox. In terms of a video camera can be a zero position over Parameter defined and related to a seat electronics within of a means of transport a basic setting of the seat and the end positions of the individual adjustable seat elements over the parameters are set. The initialization data are by definition those data that the program needs to start the program to run properly.

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.such on control units implemented software programs often use a polling method, to query input signals. These are the sensors or Input means, such as switches, buttons, a mouse or a touch screen, coming Input signals via Transfer analog lines to the controller and there converted analog / digital. The digital value, the switch-on or switch-off indicates is at a designated space in the storage means of the control unit stored. The program can then cyclically store this storage means Queries, d. H. through a cyclic polling procedure. As a result, the program is aware of the switch position every cycle.

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.To Problems arise with such programs in means of transport due to EMC interference (Electromagnetic Compatibility). This EMC interference caused by induced voltages on lines inside the transport are coupled. This will cause input signals falsified or whole data areas in the storage means with respect to the stored ones Data destroyed. In the simplest case, the program then reads incorrect data from the main memory and the program is executed incorrectly. More problematic are such Error if the complete program sequence is interrupted due to the EMC interference and the program can not be continued. Especially at such polling method The problem is that even fault detection routines often go through strong EMC interference falsified become. As a result, it happens that, for example, the display and driver information system due to the EMC interference no longer recognize the input by sensors or input means can because the program has crashed. Such serious bugs can often only be done by rebooting of the means of transport. Until this happens, often follow errors in program execution, so that such bugs can reproduce and over the Data bus also neighboring control devices in the execution of their Disturb function can.

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 .The DE 199 63 214 A1 discloses a method for a control unit, which is restarted at low voltage, eg. When starting the engine. In order not to have to repeat the entire initialization process when restarting, a time memory is carried along and the restart of the vehicle is then started after the startup of the microcomputer where it was canceled. A procedure that detects information before resetting a microcomputer is also shown by the 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.It is an object of the present invention to develop a method of the type mentioned in such a way that implemented on ECUs software programs ensure a fail-safe program flow without the transport must be restarted in program flow disturbances.

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.These The object is achieved by the Characteristics of claim 1 solved. In the process, the initialization data loaded when the control unit starts up after starting up the control unit additionally cyclically from the storage means loaded into the memory of the microcomputer and the program is put into a defined initial state, so that the program even after an unforeseen crash after the cyclical Loading the initialization data automatically from the defined initial state continues, the Control components of the means of transport.

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.According to the invention is recognized been that the program cyclically in. After a period of time an initial state can be offset and from this initial state can restart. This is a second cycle with a cycle time for example, from 1 to 30 seconds during which both the initialization data into the main memory of the Microcomputers are loaded, the program is re-stored in memory is loaded and the program starting from the defined initial state starts to interrogate the input signals of the sensor or the input means. Since the program always expires after the second cycle all initialization data is restarted, it plays no Whether in the meantime a program failure took place Has.

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.For example related to a seat control or the driver information system can be control units with their programs put back into an executable state and the seat adjustments or the reading of telephone book data is also still possible, after a program crash has taken place. By the cyclic restart of the program with all initialization data let yourself after a short disturbance phase, mostly not noticed by the vehicle operator, adjust the seat again, or be in the driver information system the right data is displayed. Restarting the program allows also a proper fault diagnosis and error handling by other software programs by the program could not have completed the error routine.

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.The Input signals of the sensors and input means are within one polled cyclically. The duration of the first cycle may be, for example a few milliseconds. The Sitzverstellschalter is, for example queried by the program within a cycle of 10 milliseconds. The second cycle for restarting the program takes a few seconds or a few minutes. As a result, the second cycle is longer than the first cycle for Query of the input signals. This allows for a certain period of time an undisturbed execution the program on the controller, until then the second cycle has expired and the program restarts becomes. The program restart is designed so that a possible short duration to reload the initialization data and start of the program is provided by a defined initial state. By the overlay the first cycle with the second cycle to restart the program a very high failure safety (fail-safe functionality) is possible.

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.The Input signal of the sensors or input means is in an input storage means in the control unit cached and gets off the program with the first cycle each queried. The program goes through the polling routine a program loop cyclically and continuously to the input signal query. The input signals can but also about a so-called interrupt mode the microcomputer provided with the microcomputer interrupting the program to make the change store in the input signal in the main memory and this at the program execution to take into account. The query of the input signals by interrupt is only suitable for very high-priority input data, because every time the program flow is interrupted.

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.at a development of the invention is in addition to the program and the Microcomputer, especially during the operation of the means of transport, cyclically in an initial state added. For this example, the reset pin of the microcomputer automatically populated with a reset signal, allowing the microcomputer goes into its reset state and starts from this, where the initialization data and all other data as at startup of the entire control unit be reloaded. This procedure ensures that next to the failed Program also all further on the control unit existing programs are restarted and so a secure function allows is. It can now be provided that with a second cycle a program start is performed cyclically and with a third Cycle, for example after half an hour of the microcomputer is transferred to the reset state, so that on the one hand cyclically a program start takes place and on the other hand Cyclically the microcomputer itself is restarted.

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.In another embodiment of the invention, a so-called cold start of the control device may be provided by the microcomputer de-energized for a short time and restarting after the transient condition over the reset state. In this way even serious software errors within the data bus system in a means of transport can be remedied.

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.at monitored a particularly advantageous embodiment of the invention a watchdog the second cycle to start the program. The watchdog is a routine that checks if that Program was put into the defined initial state, and the can additionally check whether the initialization data has been reloaded. The watchdog signals in the absence of the defined program start an error to to start an error routine. The watchdog is mostly a software routine executed however, it can also be implemented in hardware using logic gates.

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.Of the Watchdog brings significant error security for the controller of the components, since an error signal is generated when the program is not restarted cyclically. In this way a program failure is detected immediately after the second cycle has expired. The watchdog checks if the Initialization data, such as variables, interrupts and Parameters are reset after the second cycle has elapsed. Of the Watchdog can also check if the microcomputer has been reset. In addition to reviewing the second cycle, the watchdog or a separately arranged therefrom Watchdog check if the input signals in the input memory means after expiration of the first Cycle were rewritten. The watchdog can also change edges, d. H. from high to low edge or vice versa, detect and fail such an edge change in the input signal report an error. Of the Watchdog prefers to check whether the program is going through a particular command line. For example, the watchdog checks whether the command line "Go to the reset start address "(Beg the program).

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.Prefers the watchdog is independent from the microcomputer of the controller, on which the program runs, provided so that when a program crash the watchdog continues. In addition to the watchdog are various error handling programs present on the microcomputer, which is a plausibility check of the perform data in memory and detect errors that occur not by the program itself, but by a failed sensor originate.

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.The Input storage means may be rewritten, for example Memory can be provided, which is also in the de-energized state of the microcomputer retains its last saved information. For example, here a flash memory may be provided. In the input memory means can then in each case also the last and penultimate input signal in digital Form restored so that when the program is restarted, the last state of the Input means is known. For example, in the event of a program failure back in the input memory means stored that the driver had switched on the seat heater, before the program has failed or before the program is in its by default cyclic Process has been restarted. In this way it is possible one Restart the program and, if necessary, the microcomputer without that the driver of the means of transport through the program restart or the Error disturbed or charged.

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.It are now different ways to design the teaching of the present invention in an advantageous manner. On the one hand to the subordinate claims and on the other hand, to the following explanation of the method according to the invention to refer.

In der Zeichnung ist eine Flussdiagramm des erfindungsgemäßen Verfahrens zur Steuerung von Komponenten eines Verkehrsmittels dargestellt.In The drawing is a flow chart of the method according to the invention shown for controlling components of a means of transport.

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.The method for controlling components in a means of transport is particularly suitable for seat control including seat adjustment, cooling, seat heating and seat massage functions, as well as the vehicle display for retrieving input data relating to audio and video functions. If the means of transport is opened, for example, via an electronic vehicle key or via a mechanical vehicle key, the control units arranged on the interior data bus of the means of transport travel in the first method step 1 high. From a read-only memory then the initialization data in step 2 loaded from a read-only memory in the main memory of the respective control unit. Parallel to this or later, the program will be added 3 started and starts to execute the implemented functions. One of these functions is the polling of the input signals from the sensors and input means 4 , Is thereby by a sensor or an input means, such as a switch, at 5 receive a new input signal, the program usually changes the control 6 of the components. Without an input signal, the changed control will normally occur 6 the components omitted and the components are still controlled in the previous way.

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.As long as the second cycle time has not expired 7 , the input signals are included 4 cyclically with a first cycle time from the input memory tel queried. At the end of the second cycle time, the program enters the program loop 9 and initially the initialization data is included 2 reloaded and the program is reloaded, and at 3 the program will be restarted. The second cycle 9 is not controlled by the program itself, but initiated by an independent component, so that the second cycle 9 even with crashed program works. The initialization data and the program itself are loaded by a first watchdog 10 monitored during the program even by a second watchdog 11 is monitored.

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.With the method according to the invention for controlling components of a means of transport, programs for the cyclic retrieval of input signals can prevent a crash of the interrogation routine from crippling the entire data bus system. In an alternative embodiment, after the second cycle time has elapsed, the entire control unit can also be used 1 be started up and thereby cyclically a ECU or microcomputer reset can be performed. This ensures that after the second cycle time has elapsed, the program will reboot every time. The monitoring by the two watchdogs ensured that the program was started. This creates a particularly fail-safe program routine for querying input signals of components of a means of transport.

Claims (5)

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.Method for controlling components of a means of transport, wherein a program implemented on a control unit receives an input signal ( 4 ) from a sensor or an input means and, based on the input signal, one or more components ( 6 ), at which at startup ( 1 ) of the control unit initialization data such as variables, interrupts and / or parameters are loaded from a storage means in a working memory of a microcomputer of the control unit to set the necessary conditions for the control of the components boundary conditions for the program, and wherein at startup ( 1 ) of the control device loaded initialization data after the startup of the control unit in addition after a predetermined period of time from the storage means in the main memory of the microcomputer ( 2 . 9 ) and the input signal ( 4 ) is polled cyclically by the program in a first cycle, characterized in that a second cycle ( 9 ) during which both the initialization data and the program are newly loaded into the working memory of the microcomputer, and that the program is in a defined initial state ( 14 ), so that even after an unforeseen program crash after the cyclic loading of the initialization data, the program automatically moves from the defined initial state ( 14 ) continues to control the components of the means of transport and that a watchdog ( 10 . 11 ) the second cycle ( 9 ) and in the absence of the defined program start ( 3 ) signals an error to start an error routine. 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).Method according to claim 1, characterized in that in a second cycle ( 9 ) the program from the defined initial state ( 3 ) and that the second cycle ( 9 ) lasts longer than the first cycle ( 8th ). 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.Method according to Claim 1 or 2, characterized in that the input signal is buffer-stored in an input memory means and, with the first cycle ( 8th ) is queried by the program. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Mikrorechner während des Betriebs des Verkehrsmittels zyklisch in den Anfangszustand (9) versetzt wird.A method according to claim 1, characterized in that the microcomputer during operation of the means of transport cyclically in the initial state ( 9 ). 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.Method according to claim 1, characterized in that the initial state is a reset state ( 3 ) is in which the microcomputer is briefly de-energized and resumes from the reset state.
DE2003130695 2003-07-08 2003-07-08 Fail-safe program Expired - Fee Related DE10330695B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003130695 DE10330695B4 (en) 2003-07-08 2003-07-08 Fail-safe program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003130695 DE10330695B4 (en) 2003-07-08 2003-07-08 Fail-safe program

Publications (2)

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

Family

ID=33546895

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003130695 Expired - Fee Related DE10330695B4 (en) 2003-07-08 2003-07-08 Fail-safe program

Country Status (1)

Country Link
DE (1) DE10330695B4 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030126A1 (en) * 2004-06-22 2006-01-12 Audi Ag Electric heating system for vehicle seats is activated by the central locking remote control and by temperature sensors
DE102020201757B4 (en) 2020-02-12 2024-06-20 Volkswagen Aktiengesellschaft METHOD, COMPUTER PROGRAM AND DEVICE FOR RESETTING A CONTROL UNIT

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19513939A1 (en) * 1994-11-10 1996-05-15 Mitsubishi Electric Corp Computer control equipment for motor vehicle
WO1996041273A1 (en) * 1995-06-07 1996-12-19 International Business Machines Corporation Data bus control device and process
DE19963214A1 (en) * 1999-12-28 2001-07-12 Bosch Gmbh Robert Method and device for starting up a control device for a motor vehicle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19513939A1 (en) * 1994-11-10 1996-05-15 Mitsubishi Electric Corp Computer control equipment for motor vehicle
WO1996041273A1 (en) * 1995-06-07 1996-12-19 International Business Machines Corporation Data bus control device and process
DE19963214A1 (en) * 1999-12-28 2001-07-12 Bosch Gmbh Robert Method and device for starting up a control device for a motor vehicle

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3246771B1 (en) Method for operating a redundant automation system
DE10049441B4 (en) Method of operating a system controlled by a processor
WO2006111573A1 (en) Method for upgrading a microprocessor-controlled device with a new software code via a communication network
DE112018005369T5 (en) IN-VEHICLE ELECTRONIC CONTROL UNIT AND RELATED ABNORMALITY REACTION PROCESSING PROCEDURE
WO2006015945A2 (en) Method, operating system, and computing device for processing a computer program
WO2017137222A1 (en) Computer architecture and functional architecture for increasing the failsafety of auxiliary power steering
DE102017202398A1 (en) Microcontroller and electronic control unit
WO2000020970A1 (en) Programmable controller which operates by means of data management using network computers and method for operating a programmable controller
DE102005040916A1 (en) Memory arrangement and method of operation therefor
DE102008039564B4 (en) Method for processing tasks and system with a first and a second control device
DE10330695B4 (en) Fail-safe program
DE102019201607A1 (en) Control system for a motor vehicle
CH693867A5 (en) Apparatus and method for monitoring the power supply of a motor vehicle Steuergeratanordnung
WO2012016805A1 (en) Method for reconfiguring software parameters in a microcontroller and microcontroller and control device
EP2190697B1 (en) Control device and method for activating passenger protection means
WO2014161986A1 (en) Control and data transfer system for redundant process control and method for firmware updating
DE102009038434A1 (en) Processor system for controlling multiple functional components of vehicle, has processor for controlling functional components of component group and another processor for controlling functional components of another component group
DE4103875C2 (en) Engine control unit with detection of a malfunction of an A / D converter
DE3751374T2 (en) Method and mechanism for independent backup mode transfer for digital control processors.
DE102020200141A1 (en) Fault tolerant rule system
EP3380981B1 (en) Safety control device and method for changing a range of functions of a safety control device
DE102014112946A1 (en) Electronic control unit and electronic power steering system using them
WO2019020322A1 (en) Method for operating a control unit, and device having an associated control unit
EP0796035A1 (en) Digital hearing-aid with processor supervision
EP1248965B1 (en) Method for preventing malfunctions in a signal processing system, and a processor system

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