DE10133439A1 - Elektronisches Steuergerät für Fahrzeugbremssysteme - Google Patents
Elektronisches Steuergerät für FahrzeugbremssystemeInfo
- Publication number
- DE10133439A1 DE10133439A1 DE2001133439 DE10133439A DE10133439A1 DE 10133439 A1 DE10133439 A1 DE 10133439A1 DE 2001133439 DE2001133439 DE 2001133439 DE 10133439 A DE10133439 A DE 10133439A DE 10133439 A1 DE10133439 A1 DE 10133439A1
- Authority
- DE
- Germany
- Prior art keywords
- eeprom
- memory
- data
- electronic control
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000012986 modification Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000003936 working memory Effects 0.000 claims description 3
- 238000012806 monitoring device Methods 0.000 claims 4
- 230000006870 function Effects 0.000 description 25
- 230000000295 complement effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Das Steuergerät weist eine Speichereinrichtung (1) auf, bei der die physikalsichen Lese- und Schreiboperationen, die relativ zeitaufwendig sind, von den zeitlich nicht vorhersehbaren Zugriffen externer Anwendungsfunktionen bzw. Komponenten auf die Speichereinrichtung entkoppelt sind. Hierzu sind zwei hintereinander geschaltete Speicherebenen (2, 3) vorgesehen, nämlich ein EEPROM-Speicher (2) und ein RAM-Speicher (3), wobei ein Austausch von Betriebsdaten zwischen der Speichereinrichtung (1) und externen Modulen im Normalbetrieb ausschließlich über den RAM-Speicher (3) erfolgt.
Description
- Die vorliegende Erfindung betrifft ein elektronisches Steuergerät für Fahrzeugbremssysteme gemäß den Merkmalen des Patentanspruches 1.
- Moderne Nutzfahrzeuge sind mit einem elektronischen Fahrstabilitätsprogramm (ESP) ausgestattet, was die Speicherung einer Reihe von veränderlichen Fahrzustandsgrößen in einem nicht flüchtigen Speicher erforderlich macht.
- Aus anmeldeinternem Stand der Technik sind verschiedene ESP-Steuergeräte bekannt, die speziell für die besonderen Einsatzbedingungen in einem Nutzfahrzeug konzipiert sind, wobei im Hinblick auf sicherheitskritische Anwendungen eine hohe Zuverlässigkeit ein wichtiges "Gütekriterium" ist. Ablaufroutinen bzw. Algorithmen eines solchen Steuergerätes müssen einerseits robust gegen Störungen sein, wie z. B. elektromagnetische Störfelder, plötzlichen Spannungsabfall etc. Andererseits müssen während der "Programmlaufzeit", d. h. während des Betriebes nicht behebbare Fehler erkannt und geeignete Fehlerreaktionen eingeleitet werden. Des weiteren dürfen andere Systemkomponenten durch das Laufzeitverhalten des Steuergerätes bzw. der Speichereinrichtung des Steuergerätes nicht beeinträchtigt werden, um das Echtzeitverhalten des Gesamtsystems nicht zu stören.
- Aufgabe der Erfindung ist es, eine Speichereinrichtung für Fahrzeugsteuergeräte zu schaffen, die den eingangs genannten Anforderungen gerecht wird.
- Diese Aufgabe wird durch die Merkmale des Patentanspruches 1 gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
- Das Grundprinzip der Erfindung besteht in einer Speichereinrichtung, bei der die physikalischen Lese- und Schreiboperationen, die relativ zeitaufwendig sind, von den zeitlich nicht vorhersehbaren Zugriffen externer Anwendungsfunktionen bzw. Komponenten auf die Speichereinrichtung entkoppelt sind.
- Hierzu weist die Speichereinrichtung zwei "hintereinander geschaltete" Speicherebenen auf. Konkret sind eine Dauerspeicherebene, die durch einen EEPROM-Speicher gebildet ist, und eine Arbeitsspeicherebene, die durch einen RAM- Speicher gebildet ist, hintereinander geschaltet. Der RAM-Speicher bildet vereinfacht ausgedrückt ein "virtuelles" EEPROM. Anders ausgedrückt kann der RAM-Speicher als "gespiegelter" EEPROM-Speicher angesehen werden.
- Das virtuelle EEPROM dient dazu, die Konsistenz zwischen physikalisch in das EEPROM geschriebenen Daten und den Daten zu gewährleisten, die von bzw. für "externe" Funktionen bzw. Module zur Verfügung gestellt werden. Unter "externen Funktionen bzw. Modulen" sind ganz allgemein Systemkomponenten, wie z. B. Sensoren, Steuergeräte etc. zu verstehen, die der Speichereinrichtung Daten liefern und/oder Daten aus der Speichereinrichtung auslesen.
- Hierzu ist vorgesehen, daß ein Austausch von Betriebsdaten zwischen der Speichereinrichtung und externen "Modulen" ausschließlich über den "RAM-Speicher" erfolgt. Hierdurch wird ein reibungsloser Datenaustausch, d. h. eine hohe "Zugriffsverfügbarkeit" für externe Module gewährleistet. Der EEPROM-Speicher kommuniziert im Normalbetrieb also nicht direkt mit externen Modulen, sondern arbeitet im "Hintergrund".
- Applikationsfunktionen bzw. externen Modulen werden lediglich zwei Funktionsaufrufe für den Zugriff auf das EEPROM zur Verfügung gestellt, nämlich eine Lese- und eine Schreibfunktion. Diese können zu beliebigen Zeitpunkten aufgerufen werden. Die Synchronisation konkurrierender EEPROM-Zugriffe wird dabei im Hintergrund durch EEPROM-Routinen realisiert.
- Konkreter gesagt kommunizieren externe Module nur mit einem ersten Teilspeicherbereich des RAM, in dem "aktuelle" Betriebsdaten gespeichert sind. Bei einer Veränderung tatsächlicher Betriebsdaten des Fahrzeugs, was z. B. durch im Fahrzeug vorgesehene Sensoren erfaßt wird, werden die im ersten Teilbereich des RAM gespeicherten Daten praktisch in Echtzeit aktualisiert. In einem anderen bzw. zweiten Teilbereich des RAM sind "ältere" Betriebsdaten gespeichert. Diese älteren Betriebsdaten repräsentieren einen "eingefrorenen" zeitlich zurückliegenden Betriebsdatenzustand, der ständig wiederholend mit den aktuellen Betriebsdaten verglichen wird. Wenn die aktuellen Betriebsdaten bezüglich der "älteren" Betriebsdaten eine bestimmte als zulässig angesehene "Abweichung" überschreiten erfolgt ein "Update". Hierbei werden die aktuellen (geänderten) Betriebsdaten in den EEPROM und in den anderen Teilspeicherbereich des RAM geschrieben, wobei nun diese Daten den älteren eingefrorenen Betriebsdatenzustand repräsentieren.
- Bei der Konzipierung der Datenstruktur des EEPROM wurden die Erfordernisse für einen sicheren Betrieb und eine sichere Fehlererkennung und Fehlerbehebung berücksichtigt. Hierzu ist vorgesehen, daß Daten, die sich während der Systemlaufzeit bzw. während des Betriebes nicht ändern, wie z. B. "Header-Informationen", Konfigurationsdaten etc., im EEPROM durch eine geeignet gewählte Prüfsumme geschützt sind. Mittels der Prüfsumme können dann mögliche Fehler in der EEPROM- Hardware aufgedeckt werden.
- Demgegenüber können Daten, die während der Systemlaufzeit "gelernt" werden und sich somit ändern, nicht über dieselbe Prüfsumme geschützt werden. Um eine Verfälschung bzw. einen Verlust solcher Daten beispielsweise bei einem Spannungsabfall während des Programmiervorganges des EEPROM zu vermeiden, werden sie durch eine "redundante Ablage" gegen Verfälschung gesichert, was noch detaillierter erläutert wird.
- Während des "Power-on-Zyklus", d. h. beim Einschalten der Speichereinrichtung, wird der Speicherinhalt des physikalischen EEPROM in das virtuelle EEPROM gespiegelt und dabei auf Korrektheit überprüft. Für die unveränderlichen Daten wird die Prüfsumme kontrolliert und für die redundant abgelegten Daten wird die "Redundanz" auf Korrektheit überprüft. Die im EEPROM redundant abgelegten Daten werden beim Spiegeln in das virtuelle EEPROM im virtuellen EEPROM jedoch nur einfach abgelegt und zwar in einem speziellen RAM-Speicherbereich, der im folgenden als "Wertespeicherbereich" des virtuellen EEPROM bezeichnet wird. Anschließend wird der Wertespeicherbereich in einem weiteren Speicherbereich des virtuellen EEPROM kopiert, der im folgenden als "Modifizierungsspeicherbereich" bezeichnet wird.
- Nach einer Weiterbildung der Erfindung bildet der Modifizierungsspeicherbereich eine "Anwendungsschnittstelle", über die die Speichereinrichtung mit externen Funktionen bzw. Modulen kommuniziert. Applikationsfunktionen haben also im Normalbetrieb ausschließlich Zugriff auf den Modifizierungsspeicherbereich. Daten, die in den Modifizierungsspeicherbereich des RAM geschrieben werden, stehen ohne Zeitverzögerung den angeschlossenen Applikationen zur Verfügung und zwar auch dann, wenn der physikalische Speichervorgang im EEPROM noch nicht abgeschlossen wurde.
- In der Speichereinrichtung laufen diverse Steuer- und Überwachungsroutinen ab, die im folgenden als "EEPROM-Service-Routinen" bezeichnet werden. Eine dieser Routinen wird als "Zustandsautomat" bezeichnet. Der Zustandsautomat führt unabhängig von der jeweiligen Applikation "im Hintergrundbetrieb" die notwendigen Überwachungs- und Steueroperationen aus.
- Der Zustandsautomat durchläuft dabei zyklisch parallel die beiden oben genannten Speicherbereiche des virtuellen EEPROM, d. h. den Wertespeicherbereich und den Modifizierungsspeicherbereich und sucht nach eventuellen Abweichungen korrespondierender Dateneinträge. Wenn die Abweichungen einen vordefinierten parameterabhängigen Wert überschreiten, löst der Zustandsautomat eine physikalische Schreiboperation aus. Dabei werden gelernte Daten, die im Modifizierungsspeicherbereich des Arbeitsspeichers abgelegt sind, im EEPROM abgespeichert und zwar mehrfach, d. h. in separierten Speicherbereichen. Hierbei wird bei jedem Schreibvorgang überprüft, ob er erfolgreich ausgeführt wurde.
- Die mehrfach separierte Abspeicherung hat wesentliche Vorteile hinsichtlich der Datensicherheit. Fällt nämlich während des Schreibvorganges die Programmierspannung z. B. bei einer Betätigung der Zündung des Fahrzeuges aus, so wird im ungünstigsten Fall ein Datum der "redundanten Ablage" fehlerhaft gespeichert. Beim nächsten "Power-on-Zyklus" wird dann das fehlerhafte Datum anhand der unverfälschten redundanten Daten wieder restauriert. Für die Art und Weise der redundanten Datenablage gibt es unterschiedliche Verfahren. Beispielsweise kann eine Mehrfachablage vorgesehen sein oder es können geeignete fehlerkorrigierende Codes verwendet werden.
- Ergänzend kann eine Diagnoseschnittstelle vorgesehen sein, die einen direkten physikalischen Zugriff auf das EEPROM zuläßt. Eine solche Diagnoseschnittstelle bietet die Möglichkeit, einen in einem ROM gespeicherten Standarddatensatz in das EEPROM einzuprogrammieren.
- Im folgenden wird die Erfindung anhand eines Ausführungsbeispieles im Zusammenhang mit der Zeichnung näher erläutert.
- Die einzige Fig. 1 zeigt schematisch die Funktionsweise der Speichereinrichtung des elektronischen Steuergerätes gemäß der Erfindung und verdeutlicht das der Erfindung zugrundeliegende Verfahren zum Betrieb der Steuereinrichtung.
- Fig. 1 zeigt eine Speichereinrichtung 1 eines elektronischen Steuergerätes. Die Speichereinrichtung 1 weist zwei hintereinander geschaltete "Speicherebenen" auf nämlich eine Dauerspeicherebene, die durch einen EEPROM-Speicher 2 gebildet ist und eine Arbeitsspeicherebene, die hier als "virtuelles EEPROM" bzw. als "gespiegeltes EEPROM" bezeichnet wird und die durch einen RAM-Speicher 3 gebildet ist.
- Der EEPROM-Speicher 2 ist hier schematisch in einen ersten Speicherbereich 2.1 und in einen zweiten Speicherbereich 2.2 unterteilt. Das "virtuelle EEPROM" 3 ist hier schematisch in drei Speicherbereiche 3.1, 3.2 und 3.3 unterteilt.
- Im Speicherbereich 2.1 des EEPROM 2 sind solche Daten gespeichert, die sich während des Betriebes nicht verändern, wie z. B. Header-Daten, Konfigurationsdaten und Testdaten, z. B. für einen zyklisch wiederholt durchgeführten Redundanzcheck.
- Im Speicherbereich 2.2 hingegen sind sog. "selbstgelernte Daten" abgespeichert. Hierbei handelt es sich um Betriebsdaten, also um Daten, die sich während des Betriebes der Speichereinrichtung bzw. des Fahrzeugsteuergerätes ändern können. Diese Daten werden der Speichereinrichtung während des Betriebs von externen "Modulen" zugeführt, worauf noch nähereingegangen wird. Die selbstgelernten Daten sind hier aus Sicherheitsgründen dreifach im Speicherbereich 2.2 abgespeichert (3- Tupel).
- Im Speicherbereich 3.1 des virtuellen EEPROM 3 sind während des Betriebes unveränderliche Daten abgespeichert, z. B. "Header-Daten". Im Speicherbereich 3.2, der im folgenden als Modifizierungsspeicherbereich bezeichnet wird und im Speicherbereich 3.3, der im folgenden als Wertespeicherbereich bezeichnet wird, sind jeweils Betriebsdaten abgespeichert, worauf noch detaillierter eingegangen wird.
- Der Modifizierungsspeicherbereich 3.2 des RAM bzw. virtuellen EEPROM bildet eine Anwendungsschnittstelle 4 zu ganz allgemein gesprochen "externen elektronischen Komponenten", d. h. anderen "Funktionen" bzw. Modulen des Steuergerätes, im Fahrzeug angeordneten Sensoren, anderen Steuergeräten etc.
- Die externen elektronischen Komponenten können Daten in den Modifizierungsspeicherbereich 3.2 schreiben und aus dem Modifizierungsspeicherbereich 3.2 auslesen, was durch die beiden Pfeile angedeutet ist, die mit WriteEEPROM bzw. ReadEEPROM beschriftet sind.
- Des weiteren ist eine Schnittstelle 5 vorgesehen, die ausschließlich zu Diagnosezwecken dient. Über diese "Diagnoseschnittstelle" 5 können Daten in den EEPROM-Speicher 2 geschrieben bzw. ausgelesen werden, was durch die Pfeile dargestellt ist, die mit WriteEE Physical bzw. ReadEE Physical beschriftet sind.
- Ferner ist ein ROM-Speicherbaustein 6 vorgesehen, in dem "Default-Daten" bzw. sonstige Codedaten gespeichert sind, die zu Diagnosezwecken in die Speicherbereiche 3.1 und 3.3 des virtuellen EEPROM 3 geladen werden können.
- Weiter ist ein Speicher 7 vorgesehen, aus dem feste vorgegebene Daten in die Speicherbereiche 2.1 und 2.2 des EEPROM 2 geladen werden können.
- Im folgenden werden die oben bereits erwähnten "EEPROM-Service-Routinen" näher erläutert, die primär den Datenaustausch zwischen den beiden Speicherebenen steuern und überwachen, d. h. zwischen dem EEPROM 2 und dem virtuellen EEPROM 3.
- Die EEPROM-Service-Routinen stellen Funktionen zum Lesen und Schreiben von EEPROM-Daten zur Verfügung. Diese Funktionen ermöglichen es an die Speichereinrichtung 1 angeschlossenen Modulen (nicht dargestellt), Parameterdatensätze oder gelernte Daten während normaler Steuergeräteoperationen zu speichern. Die Verwendung kunden- bzw. fahrzeugspezifischer EEPROM-Datensätze ermöglicht eine einfache Anpassung von Parametersätzen, ohne eine Modifizierung des ROM-Codes.
- Um einen einfachen Zugriff auf das EEPROM zu ermöglichen und die Wartung von Anwendungsfunktionen zu verbessern, welche die EEPROM-Service-Routinen benutzen, ist eine "kleine" kompakte Anwendungsschnittstelle 4 vorgesehen. Die Anwendungsschnittstelle 4 stellt die Funktionen "ReadEEPROM", "WriteEEPROM" zum Lesen und Schreiben zur Verfügung sowie den primär zwischen den beiden Speicherebenen agierenden sog. "Zustandsautomaten".
- Im Prinzip sind zwei Schnittstellen für den Zugriff auf den EEPROM-Speicher vorgesehen.
- Die Anwendungsschnittstelle 4 stellt Verfahren für den Zugriff auf Datensätze des EEPROM 2 für alle externen angeschlossenen Module zur Verfügung und zwar ohne daß diese die interne Repräsentierung der Daten kennen.
- Die Diagnoseschnittstelle 5 kann als "Expertenschnittstelle" bezeichnet werden und wird ausschließlich von Diagnoseroutinen benutzt, d. h. nicht im Normalbetrieb. Andere Module sind nicht berechtigt, Funktionen der Diagnoseschnittstelle 5 zu verwenden.
- Diese Schnittstellenarchitektur "verdeckt" also die interne Repräsentierung der Daten im EEPROM. Somit wirken sich Änderungen der "internen" Datenrepräsentierung nicht nach außen hin aus.
- Es gibt verschiedene Möglichkeiten, komplette EEPROM-Datensätze in das EEPROM zu schreiben.
- 1. Die Funktion "GetDefaultEEData" liest einen Default-Datensatz aus dem ROM-
Speicher 6 und kopiert diesen Datensatz in das virtuelle EEPROM, d. h. in den RAM-
Speicher 3. Anschließend können die Inhalte des virtuellen EEPROM 3 physikalisch in
das EEPROM 2 geschrieben werden und zwar durch mehrmalige Aufrufe der Funktion
"RAM To-EEPROM".
Die Verwendung dieser Funktionen ist auf Diagnosezwecke beschränkt. Da der Betriebszustand des Zustandsautomat während des gesamten Ladevorganges unterbrochen werden muß, kann die Funktion GetDefaultEEData nicht während des normalen Betriebes verwendet werden. - 2. Die Funktion WriteEE Physical kann zum Schreiben von Daten in eine Speicherzelle des EEPROM 2 verwendet werden. Hierzu sind jedoch spezielle Informationen über die interne Datenrepräsentation im EEPROM 2 erforderlich. Die Verwendung dieser Funktionen ist auf Diagnosezwecke beschränkt. Sie kann nicht im Normalbetrieb verwendet werden.
- Das EEPROM 2 enthält feste Datensätze, wie beispielsweise "Hardware ID, Customer ID" und gelernte Daten.
- Feste Daten sind teilweise durch eine Prüfsumme geschützt. Dadurch können mögliche Fehler in EEPROM-Zellen detektiert werden. Daten, die bereits bei der Herstellung in das EEPROM geschrieben werden, sind nicht durch eine Prüfsumme geschützt.
- Da gelernte Daten ständig modifiziert werden, können sie nicht in effizienter Weise durch eine Prüfsumme geschützt werden. Im Unterschied zu festen Daten werden gelernte Daten dadurch geschützt, daß sie dreifach abgespeichert werden. Wenn ein redundantes Datum zerstört worden ist, kann der korrekte Wert aus den beiden anderen Werte rekonstruiert werden. Betrachtet man den prinzipiellen Aufbau eines EEPROM-Datensatzes, so läßt er sich folgendermaßen unterteilen:
- - EEPROM-Header
- - EOL-Parameter (einschließlich Prüfsumme)
- - ungeschützte Daten
- - selbstgelernte Daten.
- Bei Verwendung eines Echtzeitbetriebssystems muß der Zustandsautomat in bestimmten Zeittakten von beispielsweise 10 ms arbeiten. Da eine einzige Schreiboperation im EEPROM ca. 14 ms dauert, ist es nicht möglich, die gesamte Schreibfunktion des EEPROM während eines Taktzyklus abzuarbeiten. Aus diesem Grund wird die Funktion auf mehrere Zustände des Zustandsautomaten aufgeteilt.
- Dies ist insbesondere für den uneingeschränkten Zugriff von Anwendungsfunktionen auf Werte der selbstgelernten Daten notwendig. Der Zustandsautomat führt physikalische Schreiboperationen daher unabhängig bzw. entkoppelt von Anwendungsfunktionen aus, was ein wesentliches Charakteristikum der Erfindung ist. Ein "Ausgabewert" des Zustandsautomaten zeigt dabei an, ob eine physikalische Schreiboperation notwendig ist oder nicht. Der Zustandsautomat "verdeckt" auch die interne Datenrepräsentierung des EEPROM.
- Im folgenden werden Arbeitszustände erläutert, die der Zustandsautomat einnehmen kann. Diese sind:
- - POWER ON
- - TEST FOR-WRITE
- - WRITE VALUE
- - TEST WRITE OK
- - WAIT-STATE.
- Nach dem Einschalten wird beim ersten Aufruf des Zustandsautomaten das virtuelle EEPROM "initialisiert". Das heißt, es werden Daten in das virtuelle EEPROM 3 geschrieben, die physikalisch aus dem physikalischen EEPROM 2 ausgelesen werden. Dieser Zustand wird bei jedem Einschaltvorgang genau einmal eingenommen.
- Anschließend laufen die folgenden Operationen ab. Die im EEPROM 3 gespeicherte Prüfsumme wird überprüft. Der EEPROM-Header wird in den RAM-Speicher, d. h. in das virtuelle EEPROM 3 "gespiegelt". Danach werden die selbstgelernten Daten gelesen und auf ihre Konsistenz überprüft. Die redundant gespeicherten selbstgelernten Daten werden hierbei jedoch nicht vollständig gespiegelt. Das heißt, es werden nur die Werte und nicht die Trippel der selbstgelernten Parameter in den Wertespeicherbereich 3.3 und in den Modifizierungsspeicherbereich 3.2 gespeichert.
- Am Ende des POWER ON-Zustandes enthalten der Wertespeicherbereich 3.3 und der Modifizierungsspeicherbereich 3.2 dann die gleichen Daten. Die Schreib- und Lesefunktion "WriteEEPROM" und "ReadEEPROM", die von den "externen" Anwendungsmodulen benutzt werden, arbeiten jedoch ausschließlich mit dem Modifizierungsspeicherbereich 3.2.
- Nachdem das virtuelle EEPROM initialisiert worden ist, geht der Zustandsautomat in den Zustand TEST FOR WRITE über.
- Für den Fall, daß das EEPROM gelöscht worden ist, meldet der Zustandsautomat einen Prüfsummenfehler. Die Prüfsumme wird im EEPROM nicht korrigiert. Während der nachfolgenden Operationen des Zustandsautomaten werden alle selbstgelernten Daten "repariert" und zwar hinsichtlich Trippelkonsistenz.
- Nachdem die Initialisierung des virtuellen EEPROM durchgeführt worden ist, überwacht der Zustandsautomat die im Modifizierungsspeicherbereich 3.2 und im Wertespeicherbereich 3.3 gespeicherten Daten. Im Zustand TEST FOR WRITE werden alle einander zugeordneten Wertepaare der beiden Bereiche verglichen. Wenn sich zwei einander zugeordnete Werte um mehr als einen vorgegebenen Differenzwert (delta value) unterscheiden, ist ein "Update" des physikalischen EEPROM 2 erforderlich. In einem solchen Fall geht der Zustandsautomat in den Zustand WRITE VALUE über. Ansonsten bleibt der Zustandsautomat im Zustand TEST FOR WRITE.
- In diesem Zustand werden die physikalischen Schreiboperationen durchgeführt. Um Probleme beispielsweise bei einem Stromausfall zu vermeiden, werden alle selbstgelernten Parameter physikalisch dreifach gespeichert (Wert, Komplement, Wert). Die "Komponenten" eines solchen Wertetrippels müssen aus Sicherheitsgründen separat gespeichert werden. Somit sind für einen einzigen selbstgelernten Parameter drei Schreiboperationen erforderlich. Wenn eine einzelne Komponente des Trippels geschrieben wurde, geht der Zustandsautomat in den Zustand WAIT STATE über.
- Während Schreiboperationen ist eine Leseoperation auf dem EEPROM nicht erlaubt. Der Zustandsautomat muß also einen 10 ms-Zyklus nach dem Start von Schreiboperationen warten, bevor überprüft wird, ob die Schreiboperation erfolgreich durchgeführt wurde. Der nächste Zustand ist TEST WRITE OK.
- Der Zustand TEST WRITE OK überprüft, ob die Schreiboperation erfolgreich durchgeführt worden ist. Wenn kein Fehler detektiert worden ist, geht der Zustandsautomat in den Zustand WRITE VALUE oder TEST FOR WRITE über. Wenn die letzte Komponente des selbstgelernten Trippels geschrieben worden ist, d. h. wenn das letzte redundante Datum des selbstgelernten Parameters korrekt geschrieben worden ist, geht der Zustandsautomat in den Zustand TEST FOR WRITE über. Andernfalls geht der Zustandsautomat in den Zustand WRITE VALUE über, um die nächste Trippelkomponente zu schreiben.
- Wenn während des Schreibvorganges ein Fehler auftritt, geht der Zustandsautomat in den Zustand WRITE VALUE über, um die gleiche Schreiboperation noch einmal zu versuchen. Wenn dieser Fehler dreimal auftritt, wird eine Fehlernachricht an einen "Fehlermanager" gesandt und der Zustandsautomat geht in den Zustand TEST FOR WRITE über. Um beim Schreiben ein- und desselben Parameters eine Endlosschleife zu vermeiden, wird der TEST FOR WRITE-Zustand für den nächsten selbstgelernten Parameter aufgerufen.
- Die EEPROM-Service-Routinen führen verschiedene Laufzeittests durch, um Fehler zu detektieren. Wenn ein Fehler auftritt, dann wird eine entsprechende Fehlernummer an den Fehlermanager gesandt.
- Beim Einschalten wird überprüft, ob die DatensatzversionsID (Datensatzversionsnummer), die im EEPROM gespeichert ist, der DatensatzversionsID im ROM entspricht. Somit ist es nicht möglich, daß die Software mit einem falschen EEPROM-Datensatz läuft.
- Am Ende des EEPROM-Header-Datensatzes ist eine Prüfsumme gespeichert. Diese Summe wird verwendet um zu bestimmen, ob die EEPROM-Speicherzellen, die den Header enthalten, fehlerhaft sind oder nicht. Die Prüfsumme wird während des Einschaltzustandes berechnet und mit dem im EEPROM gespeicherten Wert verglichen.
- Wie bereits erwähnt, werden Daten, die während des Systembetriebs "gelernt", d. h. der Speichereinrichtung von externen Modulen zugeführt werden, redundant gespeichert und zwar trippelweise (Wert, Komplement, Wert). Wenn eine Komponente des Trippels beschädigt ist, kann der korrekte Wert unter Verwendung der beiden anderen Komponenten wiederhergestellt werden. Insbesondere wenn bei einer EEPROM-Schreiboperation ein Stromausfall auftritt, kann es zu einem fehlerhaften Schreibvorgang kommen. Aus diesem Grund muß das Trippel, wie oben bereits erwähnt, in drei separaten Schritten geschrieben werden.
- Wenn zwei Komponenten des Trippels beschädigt sind, dann nimmt der Zustandsautomat den ersten Wert als korrekt an. Dies kann passieren, wenn die Schreiboperation von Komplementwerten gestört ist. In diesem Fall enthält die erste Komponente den tatsächlich zu speichernden Wert. Die Komplementkomponente kann ein korruptes Datum enthalten und die dritte Komponente enthält den "alten" Parameterwert.
- Bei diesem Fehler handelt es sich nicht um einen Steuergerätefehler und somit soll das Steuergerät auch nicht in einen passiven Zustand übergehen. Vielmehr muß der zugeordnete selbstgelernte Parameter erneut gelernt werden.
- Wenn eine Komponente des redundanten Datentrippels beschädigt ist, dann wird die zerstörte Komponente des selbstgelernten Parameters repariert. Der Fehler wird im Einschaltzustand detektiert. Da zwei der drei Komponenten korrekt sind, kann der Originalwert rekonstruiert werden. Anstatt der Durchführung spezieller Reparaturzyklen ist der Zustandsautomat zu einem "Update" des beschädigten selbstgelernten Datums gezwungen. Dies wird folgendermaßen durchgeführt. Wenn genau eine korrupte Komponente detektiert worden ist, wird zunächst der korrekte Parameterwert in den Modifizierungsspeicherbereich geschrieben. Anschließend wird ein Wert, der um mehr als der zugeordnete Deltawert abweicht, im Wertespeicherbereich gespeichert.
Claims (18)
1. Elektronisches Steuergerät für Fahrzeugbremssysteme mit einer
Speichereinrichtung (1), die zwei hintereinander geschaltete Speicherebenen (2, 3) aufweist,
nämlich eine Dauerspeicherebene, die durch einen EEPROM-Speicher (2) gebildet ist
und eine Arbeitsspeicherebene, die durch einen RAM-Speicher (3) gebildet ist, wobei
ein Austausch von Betriebsdaten zwischen der Speichereinrichtung (1) und externen
Modulen im Normalbetrieb ausschließlich über den RAM-Speicher (3) erfolgt.
2. Elektronisches Steuergerät nach Anspruch 1, dadurch gekennzeichnet, daß der
RAM-Speicher (3) mehrere separate Speicherbereiche (3.1, 3.2, 3.3) aufweist, wobei
externe Module ausschließlich mit einem dieser Speicherbereiche (3.2) kommunizieren,
und zwar über eine Anwendungsschnittstelle (4), die einen Leseanschluß
(ReadEEPROM) und einen Schreibanschluß (WriteEEPROM) aufweist.
3. Elektronisches Steuergerät nach Anspruch 2, dadurch gekennzeichnet, daß
über die Anwendungsschnittstelle (4) zu jedem Zeitpunkt ein Datenaustausch möglich
ist und zwar unabhängig von einem eventuellen Datenaustausch zwischen den beiden
Speicherebenen (2, 3), insbesondere entkoppelt von Schreibe- und Leseoperationen
auf dem EEPROM-Speicher (2).
4. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß das EEPROM (2) einen ersten Speicherbereich (2.1) aufweist, in
dem Daten gespeichert sind, die während des Betriebes unveränderlich sind und daß
diesen Daten Prüfdaten zugeordnet sind, zur Diagnose von Fehlern der
Speichereinrichtung (1).
5. Elektronisches Steuergerät nach Anspruch 4, dadurch gekennzeichnet, daß im
ersten Speicherbereich (2.1) Konfigurationsdaten und Prüfdaten gespeichert sind.
6. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß das EEPROM (2) einen zweiten Speicherbereich (2.2) aufweist, in
dem mehrfach separat Betriebsdaten gespeichert sind, die sich während des Betriebes
ändern können.
7. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß während des Einschaltvorganges der Speicherinhalt des
EEPROM (2) in den RAM-Speicher (3) kopiert wird.
8. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 7, dadurch
gekennzeichnet, daß der RAM-Speicher (3) einen ersten Speicherbereich (3.1)
aufweist, in den die während der Systemlaufzeit unveränderlichen Daten aus dem
EEPROM (2) kopiert werden, einen Wertespeicherbereich (3.3), in den die
Betriebsdaten aus dem EEPROM (2) kopiert werden, und einen
Modifizierungsspeicherbereich (3.2), in den die Betriebsdaten aus dem
Wertespeicherbereich (3.3) kopiert werden.
9. Elektronisches Steuergerät nach Anspruch 8, dadurch gekennzeichnet, daß
von den Betriebsdaten, die im EEPROM (2) in mehreren redundanten Datensätzen
gespeichert sind, nur ein Betriebsdatensatz in den Wertespeicherbereich (3.3)
kopiert wird.
10. Elektronisches Steuergerät nach einem der Ansprüche 7 bis 9, dadurch
gekennzeichnet, daß beim Kopieren von Daten aus dem EEPROM (2) in den RAM-
Speicher (3) überprüft wird, ob die Daten korrekt übertragen werden.
11. Elektronisches Steuergerät nach einem der Ansprüche 8 bis 10, dadurch
gekennzeichnet, daß externe Module ausschließlich mit dem
Modifizierungsspeicherbereich (3.2) kommunizieren.
12. Elektronisches Steuergerät nach einem der Ansprüche 8 bis 11, dadurch
gekennzeichnet, daß eine Zustandsüberwachungseinrichtung vorgesehen ist, die
zyklisch parallel den Wertespeicherbereich (3.3) und den Modifizierungsspeicherbereich
(3.2) miteinander vergleicht und nach Abweichungen in den korrespondierenden Daten
sucht.
13. Elektronisches Steuergerät nach Anspruch 12, dadurch gekennzeichnet, daß
die Zustandsüberwachungseinrichtung festgestellte Abweichungen zwischen den
Einträgen des Wertespeicherbereiches (3.3) und des Modifizierungsspeicherbereiches
(3.2) größenmäßig bewertet, daß zulässige Grenzwerte für Abweichungen zwischen
Einträgen des Wertespeicherbereiches (3.3) und des Modifizierungsspeicherbereiches
(3.2) vorgegeben sind und daß die Zustandsüberwachungseinrichtung bei
Überschreiten der zulässigen Grenzwerte ein Update des EEPROM (2) durchführt,
wobei Daten vom Modifizierungsspeicherbereich (3.2) in das EEPROM (2) kopiert
werden.
14. Elektronisches Steuergerät nach Anspruch 13, dadurch gekennzeichnet, daß
die vom Modifizierungsspeicherbereich (3.2) in das EEPROM (2) kopierten Daten im
EEPROM (2) mehrfach separiert gespeichert werden.
15. Elektronisches Steuergerät nach einem der Ansprüche 12 bis 14, dadurch
gekennzeichnet, daß die Zustandsüberwachungseinrichtung bei Überschreiten der
zulässigen Grenzwerte Daten vom Modifizierungsspeicherbereich (3.2) in den
Wertespeicherbereich (3.3) kopiert.
16. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 15, dadurch
gekennzeichnet, daß eine Diagnoseschnittstelle (5) mit einem Lese- und einem
Schreibanschluß vorgesehen ist, über die bei einer Störung ein unmittelbarer
physikalischer Zugriff auf das EEPROM (2) ermöglicht wird.
17. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 16, dadurch
gekennzeichnet, daß die Speichereinrichtung (1) einen ROM-Speicher (7) aufweist,
wobei über die Diagnoseschnittstelle (5) unmittelbar Daten aus dem ROM-Speicher (7)
in das EEPROM (2) übertragbar sind.
18. Elektronisches Steuergerät nach einem der Ansprüche 1 bis 17, dadurch
gekennzeichnet, daß eine Steuereinrichtung zur Überwachung von Zuständen der
Speichereinrichtung (1) und zur Steuerung des Datenaustausches zwischen dem
EEPROM (2) und dem RAM (3) vorgesehen ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001133439 DE10133439A1 (de) | 2001-07-10 | 2001-07-10 | Elektronisches Steuergerät für Fahrzeugbremssysteme |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001133439 DE10133439A1 (de) | 2001-07-10 | 2001-07-10 | Elektronisches Steuergerät für Fahrzeugbremssysteme |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10133439A1 true DE10133439A1 (de) | 2003-01-23 |
Family
ID=7691253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001133439 Withdrawn DE10133439A1 (de) | 2001-07-10 | 2001-07-10 | Elektronisches Steuergerät für Fahrzeugbremssysteme |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10133439A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007048493A1 (de) * | 2005-10-28 | 2007-05-03 | Vector Informatik Gmbh | Messvorrichtung und messverfahren zur erfassung von steuergerät-variablen |
-
2001
- 2001-07-10 DE DE2001133439 patent/DE10133439A1/de not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007048493A1 (de) * | 2005-10-28 | 2007-05-03 | Vector Informatik Gmbh | Messvorrichtung und messverfahren zur erfassung von steuergerät-variablen |
DE102005051673A1 (de) * | 2005-10-28 | 2007-05-03 | Vector Informatik Gmbh | Messvorrichtung und Messverfahren zur Erfassung von Steuergerät-Variablen |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10341786B4 (de) | Elektronische Fahrzeugsteuervorrichtung | |
DE602004005642T2 (de) | Sicherheitssteuerung zur Durchführung von Standard- und Sicherheitssteuerungsprogrammen | |
EP0629773A1 (de) | Diagnoseverfahren für Kraftfahrzeuge zum Überprüfen elektronisch gesteuerter Systeme | |
DE19839680B4 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
EP2359204A1 (de) | Adaptives zentrales wartungssystem und verfahren zum planen von wartungsvorgängen von systemen | |
DE2225841C3 (de) | Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers | |
EP1639603A2 (de) | Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat | |
DE3382810T2 (de) | Mikroprozessorsysteme für Frankiermaschinenanordnungen | |
EP1110130B1 (de) | Steuergerät | |
EP1043641A2 (de) | Fehlersicheres Automatisierungssystem mit Standard-CPU und Verfahren für ein fehlersicheres Automatisierungssystem | |
EP3709166B1 (de) | Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten | |
EP0624843B1 (de) | Adressierfehlererkennungsverfahren für ein elektrisches Gerät | |
DE3200626C2 (de) | Verfahren zur Überprüfung, ob ein außer dem Hauptspeicher vorgesehener weiterer Speicher in ein Mikrocomputersystem eingefügt ist | |
EP1359485B1 (de) | Steuer- und Überwachungssystem | |
DE10133439A1 (de) | Elektronisches Steuergerät für Fahrzeugbremssysteme | |
DE102007052106A1 (de) | Elektronische Fahrzeug-Steuereinrichtung und Steuerungsspezifikations-Festlegungsverfahren für dieselbe | |
WO2007071590A1 (de) | Verfahren zur erkennung einer versorgungsunterbrechung in einem datenspeicher und zur wiederherstellung des datenspeichers | |
DE102020200141A1 (de) | Fehlertolerantes Regelsystem | |
DE19545645A1 (de) | Sicherheitskonzept für Steuereinheiten | |
DE4223398C2 (de) | Verfahren und Vorrichtung zur Programmierung von nichtflüchtigen Speichern | |
DE102018219700B4 (de) | Steuervorrichtung | |
EP1176508B1 (de) | Anordnung zur Überwachung des ordnungsgemässen Betriebes von die selben oder einander entsprechende Aktionen ausführenden Komponenten eines elektrischen Systems | |
DE102019220156A1 (de) | Verfahren zum Betreiben einer Speichereinheit einer Recheneinheit | |
DE10148157B4 (de) | Programmgesteuerte Einheit | |
DE112017006135T5 (de) | Ersetzungseinrichtung, informationsverarbeitungssystem und ersetzungsverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |