DE102005034572B4 - Verfahren zur Fehleranalyse bei der Speicherung von Daten in elektronischen Steuergeräten - Google Patents
Verfahren zur Fehleranalyse bei der Speicherung von Daten in elektronischen Steuergeräten Download PDFInfo
- Publication number
- DE102005034572B4 DE102005034572B4 DE102005034572.7A DE102005034572A DE102005034572B4 DE 102005034572 B4 DE102005034572 B4 DE 102005034572B4 DE 102005034572 A DE102005034572 A DE 102005034572A DE 102005034572 B4 DE102005034572 B4 DE 102005034572B4
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- stored
- test value
- error
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000015654 memory Effects 0.000 claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 3
- 230000003936 working memory Effects 0.000 claims abstract description 3
- 238000013500 data storage Methods 0.000 description 4
- 238000013024 troubleshooting Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Valves And Accessory Devices For Braking Systems (AREA)
Abstract
Verfahren, bei dem eine Überprüfung der Datenintegrität bei der Speicherung von Daten in Speichern in elektronischen Steuergeräten in Kraftfahrzeugen vorgenommen wird, und bei welchem beim Abspeichervorgang vor der Übertragung der Daten aus dem Arbeitsspeicher des Steuergeräts in den Speicher ein Prüfwert aus den Daten errechnet wird, welcher zusammen mit den Daten abgespeichert wird, wobei der berechnete Prüfwert mindestens zweimal abgelegt wird, und der Prüfwert zumindest am Anfang und am Ende des verwendeten Speicherbereichs abgelegt wird.
Description
- Die Erfindung betrifft ein verfahren zur Überprüfung der Datenkonsistenz bei der Speicherung von Daten in elektronischen Kraftfahrzeugsteuergeräten.
- Mikroprozessorgesteuerte Systeme für Kraftfahrzeuge, insbesondere elektronische Steuergeräte für Kraftfahrzeugbremsanlagen, umfassen häufig einen nichtflüchtigen Speicher, häufig als EEPROM (electrically eraseable programmable readonly memory) ausgeführt, in welchem die Betriebsdaten des Steuergeräts bei Abstellen des Fahrzeugs gespeichert werden (Abspeichervorgang). Bei Neustart des Kraftfahrzeugs werden die Daten aus dem nichtflüchtigen Speicher in den Arbeitsspeicher des Steuergeräts rückübertragen (Einlesevorgang). Zur Überprüfung der Integrität der gespeicherten Daten wird vor dem Abspeichervorgang aus den Daten ein Prüfwert errechnet und dieser wird zusammen mit den Daten im Speicher abgelegt. Nach dem Einlesevorgang wird aus den eingelesenen Daten der Prüfwert neu berechnet und ein Vergleich dieses Prüfwerts mit dem beim Einlesevorgang aus dem Speicher übertragenen Prüfwert durchgeführt. Sind die beiden Prüfwerte nicht identisch, ist bei der Speicherung ein Fehler aufgetreten.
- Hierbei kann man zwei Fehlerarten unterscheiden: Softwarefehler, bei denen der Arbeitsspeicher während des Speichervorgangs durch fehlerhafte Schreibzugriffe verändert wird, und Hardwarefehler, bei denen der Speichervorgang unvollständig durchgeführt wird. Anhand des oben beschriebenen Verfahrens mit Abspeicherung eines einzelnen Prüfwerts ist es nicht möglich, zwischen diesen beiden Fehlerarten zu unterscheiden.
- Aus der
DE 198 02 728 A1 ist ein Verfahren zur Überwachung von Maschinenparametern bekannt, wobei in einem Einrichtbetrieb zunächst Maschinenparameter in einem permanenten Speicher gespeichert werden. Anschließend wird eine Prüfsumme von einem ersten Prozessor und darauf folgend von einem zweiten Prozessor berechnet, wobei der zweite Prozessor die erste berechnete Prüfsumme mit der zweiten berechneten Prüfsumme vergleicht. Aus dem Ergebnis wird dann abgeleitet, ob ein Fehler vorliegt. -
DE 103 16 951 A1 zeigt ein Verfahren zur Überprüfung der Datenintegrität von Software in Steuergeräten eines Kraftfahrzeugs. Dabei wird ein Anwendungsprogramm in einen Pufferspeicher geladen und es werden mehrere Prüfsummen berechnet, wobei die Prüfsummen ein zyklisches Blocksicherungsverfahren zur Überprüfung auf Übertragungsfehler und eine Hash-Wertberechnung zur Überprüfung des Anwendungsprogramms auf Authentizität betreffen. - Aufgabe dieser Erfindung ist es, ein Verfahren zur Unterscheidung der beiden genannten Fehlerarten vorzuschlagen.
- Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren wie in Anspruch 1 definiert.
- Die Erfindung geht dabei von der Idee aus, dass derselbe Prüfwert mindestens zweimal mit den zuspeichernden Daten im Speicher abgelegt wird.
- Unter Prüfwert ist in Verallgemeinerung eine aus den grundlegenden Komponenten, insbesondere Bits oder Bytes, der zu speichernden Daten durch beliebige Rechenoperationen bestimmte Größe zu verstehen, die auch mehrere Werte umfassen kann.
- Insbesondere kann der Prüfwert zumindest am Anfang und am Ende des für die Datenspeicherung verwendeten Speicherbereichs abgelegt werden. Da der Speichervorgang vom Arbeitsspeicher in den nichtflüchtigen Speicher sequentiell verläuft, ist es gewährleistet, dass die Prüfwerte zeitlich versetzt, und damit über den Schreibprozess verteilt, in den Speicher geschrieben werden.
- Wird der Speichervorgang durch Hardwarefehler unterbrochen, sind die zuerst geschriebenen Prüfwerte nicht identisch mit den späteren Prüfwerten. Wird der Speichervorgang durch Softwarefehler gestört, sind die gespeicherten Prüfwerte alle identisch. Dadurch ist nach dem erfindungsgemäßen Verfahren eine Unterscheidung der beiden Fehlerarten möglich.
- Gemäß dem erfindungsgemäßen Verfahren ist es weiterhin bevorzugt, dass Fehleridentifikationsmaßnahmen, z. B. das Abspeichern eines Fehlercodes zur Identifikation der Fehlerart, eingeleitet werden.
- Der mit der Erfindung erzielte Vorteil liegt in der Analyse eines bei der Datenspeicherung auftretenden Fehlers. Dies ermöglicht eine schnellere Fehlersuche und damit eine Reduktion der Kosten bei der Fehlerbehebung.
- Das erfindungsgemäße Verfahren ist in allen Steuergeräten in Kraftfahrzeugen, z. B. in Steuergeräten für Bremsanlagen, anwendbar.
- Weitere bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen und der nachfolgenden Beschreibung eines Ausführungsbeispiels an Hand einer Figur.
-
1 zeigt eine schematische Darstellung der für die Ausführung des erfindungsgemäßen Verfahrens relevanten Teile eines elektronischen ABS-Steuergeräts. Der Mikrocontroller1 mit Arbeitsspeicher steht über einen Datenbus3 mit einem nichtflüchtigen Speicher2 in Verbindung. In diesem Speicher2 speichert das Steuergerät seine Betriebsdaten, die beim Abstellen des Fahrzeugs nicht verloren gehen dürfen. Zu diesem Zweck wird das Steuergerät z. B. mit der Information über den Zustand des Zündschlosses des Kraftfahrzeugs versorgt. Wird anhand dieser oder weiterer Informationen erkannt, dass das Kraftfahrzeug abgestellt wird, wird das Steuergerät seine Betriebsdaten in den Speicher2 übertragen (Abspeichervorgang), bevor es sich vom Bordspannungsnetz trennt. Beim Neustart des Kraftfahrzeugs wird das Steuergerät über geeignete Maßnahmen wieder eingeschaltet. Während des Einschaltvorgangs werden die Daten aus dem nichtflüchtigen Speicher2 in den Arbeitsspeicher des Mikrocontrollers1 übertragen (Einlesevorgang). - Um die Integrität der Betriebsdaten zu überprüfen, wird beim Abspeichervorgang vor der Datenübertragung vom Mikrocontroller
1 in den Speicher2 ein Prüfwert aus den Betriebsdaten berechnet. Beispielgemäß wird der Prüfwert am Anfang, im Speicherbereich4 und am Ende, im Speicherbereich6 des für die Betriebsdatenspeicherung verwendeten Speicherbereichs5 abgelegt. Beim Einlesevorgang werden die Betriebsdaten und die beiden abgelegten Prüfwerte in den Arbeitsspeicher des Mikrocontrollers1 übertragen. Dann wird im Mikrocontroller1 der Prüfwert aus den eingelesenen Betriebsdaten neu berechnet. Stimmt dieser neuberechnete Prüfwert nicht mit beiden aus dem Speicher2 übertragenen Prüfwerten überein, wird ein Fehler bei den abgespeicherten Betriebsdaten erkannt. Dann werden im Steuergerät verschiedene Maßnahmen eingeleitet, wie z. B. das Abspeichern eines Fehlercodes, die (Teil-)Stilllegung bestimmter Steuergerätfunktionen, das Ansteuern von Warnlampen oder Anzeigen an den Fahrer und an andere elektronische Steuergeräte im Fahrzeug. - Da das Abspeichern der Daten im Speicher
2 eine gewisse Zeit benötigt, die unter anderem von der Größe des verwendeten Speicherbereichs abhängt, kann ein fehlerhafter Prüfwert verschiedene Ursachen haben: Durch fehlerbehaftete Schreibzugriffe der Software hat sich der Arbeitsspeicher während des Speichervorgangs verändert (Softwarefehler) oder der Speichervorgang wurde unvollständig ausgeführt, z. B. bedingt durch Einbruch der Bordnetzspannung oder andere Hardwarefehler. Eine Unterscheidung dieser beiden Fehlerarten ist sehr wünschenswert, da in Abhängigkeit von der Fehlerursache unterschiedliche Maßnahmen eingeleitet werden sollen. - Durch Vergleich der beispielgemäß in den Speicherbereichen
4 und6 abgelegten Prüfwerte können die beiden genannten Fehlerarten unterschieden werden. Tritt kein Fehler beim Speichern auf, sollten die beiden Prüfwerte immer gleich sein, da sie mit demselben Algorithmus vor Beginn des eigentlichen Speichervorgangs berechnet wurden. Der Prüfwert im Speicherbereich6 ist also eine Kopie des Prüfwerts im Speicherbereich4 . Da der Abspeichervorgang vom Arbeitsspeicher in den Speicher2 sequentiell verläuft, also von vorne nach hinten oder umgekehrt, ist gewährleistet, dass während des Abspeichervorgangs zuerst der Prüfwert, dann die Betriebsdaten und zuletzt die Kopie des Prüfwerts geschrieben wird. Wird durch Hardwarefehler (z. B. Spannungseinbruch) der Speichervorgang unterbrochen, wird sich der hintere Prüfwert im Speicherbereich6 von dem vorderen Prüfwert im Speicherbereich4 unterscheiden. Wird durch Softwarefehler der Speichervorgang gestört, werden sich die beiden abgelegten Prüfwerte in den Speicherbereichen4 und6 jedoch nicht unterscheiden. Somit ist es möglich, Hardware- von Softwarefehlern zu unterscheiden. Es können dann zur Fehleridentifikation Maßnahmen eingeleitet werden. Z. B. können unterschiedliche Fehlercodes abgespeichert werden oder Hinweise auf die Fehlerursache (z. B. Kraftfahrzeug-Batterie schwach) können gezielt dem Fahrer oder dem Werkstattpersonal zur Verfügung gestellt werden. Dies führt zu Kosteneinsparungen, da sich die Fehlersuche verkürzt.
Claims (6)
- Verfahren, bei dem eine Überprüfung der Datenintegrität bei der Speicherung von Daten in Speichern in elektronischen Steuergeräten in Kraftfahrzeugen vorgenommen wird, und bei welchem beim Abspeichervorgang vor der Übertragung der Daten aus dem Arbeitsspeicher des Steuergeräts in den Speicher ein Prüfwert aus den Daten errechnet wird, welcher zusammen mit den Daten abgespeichert wird, wobei der berechnete Prüfwert mindestens zweimal abgelegt wird, und der Prüfwert zumindest am Anfang und am Ende des verwendeten Speicherbereichs abgelegt wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Speicher ein nichtflüchtiger Speicher, wie insbesondere ROM, EPROM oder EEPROM, ist.
- Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Fehleranalyse durchgeführt wird.
- Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zur Analyse eines beim Speichern aufgetretenen Fehlers die im Speicher vorhandenen Werte des mindestens zweimal abgelegten Prüfwerts verglichen werden.
- Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass nach der Fehleranalyse Fehleridentifikationsmaßnahmen eingeleitet werden.
- Elektronisches Kraftfahrzeugsteuergerät, welches zumindest eine Recheneinheit und zumindest einen Speicher umfasst, dadurch gekennzeichnet, dass dieses ein Verfahren gemäß den Ansprüchen 1 bis 5 umfasst.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005034572.7A DE102005034572B4 (de) | 2005-07-22 | 2005-07-22 | Verfahren zur Fehleranalyse bei der Speicherung von Daten in elektronischen Steuergeräten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005034572.7A DE102005034572B4 (de) | 2005-07-22 | 2005-07-22 | Verfahren zur Fehleranalyse bei der Speicherung von Daten in elektronischen Steuergeräten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102005034572A1 DE102005034572A1 (de) | 2007-01-25 |
DE102005034572B4 true DE102005034572B4 (de) | 2016-07-28 |
Family
ID=37575741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102005034572.7A Expired - Fee Related DE102005034572B4 (de) | 2005-07-22 | 2005-07-22 | Verfahren zur Fehleranalyse bei der Speicherung von Daten in elektronischen Steuergeräten |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102005034572B4 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009012142B4 (de) * | 2008-03-12 | 2020-02-13 | GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) | Verfahren zur Sicherung sicherheitskritischer Variablen |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19802728A1 (de) * | 1998-01-24 | 1999-07-29 | Heidenhain Gmbh Dr Johannes | Verfahren und Schaltungsanordnung zur Überwachung von Maschinenparametern |
DE19947251A1 (de) * | 1999-09-30 | 2001-05-31 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Steuerung von Prozessen in Verbindung mit einem Antrieb |
US20030056065A1 (en) * | 2001-09-15 | 2003-03-20 | Thilo Jahn | Method and device for memory monitoring, in particular for RAM monitoring |
DE10316951A1 (de) * | 2003-04-12 | 2004-10-21 | Daimlerchrysler Ag | Verfahren zur Überprüfung der Datenintegrität von Software in Steuergeräten |
US20050198002A1 (en) * | 2004-03-04 | 2005-09-08 | Toyota Jidosha Kabushiki Kaisha | Data processing device in vehicle control system |
-
2005
- 2005-07-22 DE DE102005034572.7A patent/DE102005034572B4/de not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19802728A1 (de) * | 1998-01-24 | 1999-07-29 | Heidenhain Gmbh Dr Johannes | Verfahren und Schaltungsanordnung zur Überwachung von Maschinenparametern |
DE19947251A1 (de) * | 1999-09-30 | 2001-05-31 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Steuerung von Prozessen in Verbindung mit einem Antrieb |
US20030056065A1 (en) * | 2001-09-15 | 2003-03-20 | Thilo Jahn | Method and device for memory monitoring, in particular for RAM monitoring |
DE10316951A1 (de) * | 2003-04-12 | 2004-10-21 | Daimlerchrysler Ag | Verfahren zur Überprüfung der Datenintegrität von Software in Steuergeräten |
US20050198002A1 (en) * | 2004-03-04 | 2005-09-08 | Toyota Jidosha Kabushiki Kaisha | Data processing device in vehicle control system |
Also Published As
Publication number | Publication date |
---|---|
DE102005034572A1 (de) | 2007-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2318920B1 (de) | Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug | |
DE4040927C2 (de) | Verfahren und Vorrichtung zur Fehlerspeicherung in einer Steuereinrichtung eines Kraftfahrzeugs | |
DE19839680B4 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
EP1854007A2 (de) | Verfahren, betriebssysem und rechengerät zum abarbeiten eines computerprogramms | |
DE102015210651B4 (de) | Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit | |
EP1588380A1 (de) | Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens | |
DE102005034572B4 (de) | Verfahren zur Fehleranalyse bei der Speicherung von Daten in elektronischen Steuergeräten | |
DE102005016801A1 (de) | Verfahren und Rechnereinheit zur Fehlererkennung und Fehlerprotokollierung in einem Speicher | |
EP1595212B1 (de) | Verfahren und vorrichtung zur überwachung einer elektronischen steuerung | |
DE102013202961A1 (de) | Verfahren zum Überwachen eines Stackspeichers in einem Betriebssystem eines Steuergeräts eines Kraftfahrzeuges | |
DE60035022T2 (de) | Prüfungsverfahren einer Zwischenspeicherschaltung in einer elektronischen Steuereinheit | |
DE102009002898A1 (de) | Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs | |
WO2004057465A2 (de) | Verfahren und vorrichtung zur änderung von software in einem steuergerät sowie entsprechendes steuergerät | |
DE102006037810A1 (de) | Sichere Programmcodeausführung | |
DE102008040366A1 (de) | System und Verfahren zum Steuern von Funktionskomponenten eines Kraftfahrzeugs | |
DE10148047A1 (de) | Verfahren und Vorrichtung zur Sicherung von Daten in einem Speicherbaustein und Speicherbaustein | |
WO2009103728A1 (de) | Verfahren und vorrichtung zum speichern von informationsdaten | |
DE10340236A1 (de) | Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher | |
DE102018219700B4 (de) | Steuervorrichtung | |
DE10148157B4 (de) | Programmgesteuerte Einheit | |
DE10113319A1 (de) | Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems | |
DE102015204172A1 (de) | Programmverwaltungsvorrichtung, fahrzeugsteuervorrichtung und programmverwaltungsprogramm | |
DE102020216481A1 (de) | Verfahren zum Betreiben eines Steuergeräts und Steuergerät | |
DE102006040644A1 (de) | Korrekturverfahren für einen neu-programmierbaren Mikroprozessor | |
DE102023208646A1 (de) | Parametrierungsprozess und -system für ein fahrzeug |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
R012 | Request for examination validly filed |
Effective date: 20120508 |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R084 | Declaration of willingness to licence | ||
R081 | Change of applicant/patentee |
Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: CONTINENTAL TEVES AG & CO. OHG, 60488 FRANKFURT, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |