DE102009028871A1 - Verfahren zum Überprüfen eines Speichers - Google Patents

Verfahren zum Überprüfen eines Speichers Download PDF

Info

Publication number
DE102009028871A1
DE102009028871A1 DE200910028871 DE102009028871A DE102009028871A1 DE 102009028871 A1 DE102009028871 A1 DE 102009028871A1 DE 200910028871 DE200910028871 DE 200910028871 DE 102009028871 A DE102009028871 A DE 102009028871A DE 102009028871 A1 DE102009028871 A1 DE 102009028871A1
Authority
DE
Germany
Prior art keywords
memory
check
testing
routine
predetermined
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.)
Ceased
Application number
DE200910028871
Other languages
English (en)
Inventor
Chengxuan Fu
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200910028871 priority Critical patent/DE102009028871A1/de
Priority to CN201010263912.XA priority patent/CN102005251B/zh
Publication of DE102009028871A1 publication Critical patent/DE102009028871A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T2270/00Further aspects of brake control systems not otherwise provided for
    • B60T2270/40Failsafe aspects of brake control systems
    • B60T2270/406Test-mode; Self-diagnosis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Überprüfen zumindest eines Speichers, insbesondere eines Funktionsüberwachungsspeichers eines Funktionsüberprüfungssystems, mit Ausführen (101) einer Speicherüberprüfungsroutine, bei der der zumindest eine Speicher n-mal überprüft wird, wobei n eine vorbestimmbare Anzahl von Überprüfungen (103) ist, und erneutem Ausführen (105) der Speicherüberprüfungsroutine nach Ablauf eines vorbestimmten Zeitintervalls.

Description

  • Stand der Technik
  • Die vorliegende Erfindung betrifft das Gebiet der Speicherüberprüfung.
  • Zur Überprüfung einer Funktionalität eines komplexen Systems, beispielsweise einer Fahrzeugsteuerung, werden üblicherweise Funktionstests durchgeführt, um im Falle eines Funktionsfehlers diesen schnell zu erkennen und daraufhin eine sicherheitsrelevante Aktion, beispielsweise ein Abschalten eines elektrischen Fahrzeugantriebs, vorzunehmen. Hierzu wird beispielsweise in Fahrzeugen mit elektronischen Motorfüllungssteuerungssystemen, so genannten E-Gas-Systemen, üblicherweise ein 3-Ebenen-Überwachungskonzept in die Motorsteuergeräte implementiert. Der Kerngedanke des 3-Ebenen-Konzepts ist eine gegenseitige Überwachung zwischen einem in dem Motorsteuergerät eingesetzten Funktionsrechner und beispielsweise einem separaten Modul, das als so genannter Watchdog eingesetzt wird. Dabei kommunizieren beispielsweise der Funktionsrechner und das Überwachungsmodul über ein Frage-Antwort-Kommunikationsprotokoll und weisen bevorzugt getrennte Abschaltpfade auf, über die die Leistungsendstufen im Falle eines Fehlers abgeschaltet werden können, um die Fahrzeugsicherheit zu gewährleisten.
  • Die Ebene 1 bezeichnet die eigentliche Funktionssoftware, die zum Motorbetrieb eingesetzt und beispielsweise auf dem Funktionsrechner des Motorsteuergerätes ausgeführt wird. In der zweiten Ebene, die ebenfalls auf dem Funktionsrechner ausgeführt wird, wird üblicherweise ein anhand eines gegebenenfalls vereinfachten Motormodells abgeleitetes, zulässiges Drehmoment mit einem Ist Drehmoment verglichen. Die Ebene 2 wird in einem durch die Ebene 3 abgesicherten Hardwarebereich ausgeführt, wobei die Ebene 3 einen Befehlstest, eine Programmablaufkontrolle, einen Analog-zu-Digital-Wandlertest sowie beispielsweise zyklische und vollständige Speichertests umfasst. In der Norm ECE-R100 ist ferner festgelegt, dass sich ein Fahrzeug nicht ungewollt aus dem Stillstand um mehr als 10 cm bewegen darf. Diese Anforderung gilt insbesondere für neuere Fahrzeuge mit Hybrid- oder Elektro-Antrieben.
  • Ein elektrischer Antrieb kann jedoch aufgrund der kürzeren Verzögerungszeit schneller als ein Verbrennungsmotor ein hohes Drehmoment aufbauen, das darüber hinaus negativ sein kann, so dass ein Elektrofahrzeug bereits aus dem Stillstand mit maximaler Beschleunigung sowohl vor- als auch rückwärts fahren kann. Dies kann im Falle eines ungewollt erzeugten Drehmomentes zu sicherheitskritischen Situationen führen, weil eine Kupplung und ein Getriebe mit beispielsweise variablen Übersetzungen in einem Elektrofahrzeug in der Regel nicht vorhanden sind. Die Welle des elektrischen Antriebs wird vielmehr über eine starre Verbindung mit dem Antriebsstrang und damit mit den Erregern verbunden. Bei Hybrid- oder Elektrofahrzeugen müssen die Überwachungsmechanismen daher viel schneller in der Lage sein, etwaige Funktionsfehler zu erkennen und im Falle erkannter Funktionsfehler rasch zu reagieren, um die Normanforderungen zu erfüllen. Während beispielsweise bei Fahrzeugen mit Verbrennungsmotoren eine Fehlerreaktionszeit von 500 ms ausreichend ist, ist es bei Elektrofahrzeugen notwendig, eine Fehlerreaktionszeit zu erreichen, welche kürzer als 70 ms ist.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung basiert auf der Erkenntnis, dass eine rasche und effiziente Funktionsüberwachung auf der Basis einer Überwachung der digitalen Speicher, welche beispielsweise zur Speicherung von Funktionstests eingesetzt werden, realisiert werden kann.
  • So werden beispielsweise im Falle des vorgenannten 3-Ebenen-Konzeptes sowohl RAM-(Random Access Memory) als auch ROM-(Read Only Memory)Speicherzellen eingesetzt, um die in der jeweiligen Ebene erhaltenen Überwachungsergebnisse zu speichern bzw. zwischenzuspeichern. Hierzu können die Speicher deterministisch innerhalb vorbestimmter Zeitintervalle überprüft werden, so dass eine Gewährleistung des Echtzeitverhaltens des Systems möglich ist.
  • Durch eine derartige Speicherüberwachung innerhalb der vorbestimmten Zeitfenster wird zudem erreicht, dass andere Aufgaben, welche beispielsweise kooperativ ausgeführt werden können, nicht unnötig verzögert werden. Durch die deterministische Speicherüberwachung wird ferner eine bessere Reproduzierbarkeit sowie eine bessere Vorhersehbarkeit der Fehlerreaktionszeit insbesondere im Falle einer zyklischen Speicherüberwachung erreicht. Darüber hinaus ermöglicht das erfindungsgemäße Speicherüberwachungskonzept eine komfortable Konfigurierungsmöglichkeit hinsichtlich der Fehlerreaktionszeit der Speichertests insbesondere in Abhängigkeit von dem tatsächlichen Speicherbedarf der Funktionen der Ebene 2 und 3. Das Speicherüberwachungskonzept kann flexibel eingesetzt werden und ist beispielsweise auch zur Überwachung von funktionsrelevanten Ereignissen in beliebigen Echtzeitkommunikationssystemen oder Echtzeitsteuerungssystemen geeignet.
  • Gemäß einem Aspekt betrifft die Erfindung ein Verfahren zum Überprüfen eines Speichers, beispielsweise eines Funktionsüberwachungsspeichers eines Funktionsüberprüfungssystems, das ein Echtzeitsystem sein kann, mit den Schritten des Ausführens einer Speicherüberprüfungsroutine, bei der der zumindest eine Speicher n-mal überprüft wird, wobei n eine vorbestimmte Anzahl von Überprüfungen ist, und des erneuten Ausführens der Speicherüberprüfungsroutine nach Ablauf eines vorbestimmten Zeitintervalls. Somit wird der zumindest eine Speicher beim Ablauf der Speicherüberprüfungsroutine mehrmals ausgeführt, wobei die Speicherüberprüfungsroutine selbst mehrmals ausgeführt werden kann. Somit wird nicht nur das Ausführen der Speicherüberprüfungsroutine, sondern auch die Überprüfung des Speichers bei der Ausführung der Speicherüberprüfungsroutine deterministisch und nicht etwa zufällig wiederholt. Dadurch wird in vorteilhafter Weise eine schnelle und sichere Erfassung der Fehlerreaktionszeit ermöglicht.
  • Gemäß einer Ausführungsform wird die Speicherüberprüfungsroutine innerhalb eines vorbestimmten Routinenzeitintervalls, das variabel sein kann, ausgeführt. Dadurch wird in vorteilhafter Weise ein bestimmtes Zeitfenster zur Ausführung der Speicherüberprüfungsroutine festgelegt, so dass weitere, beispielsweise kooperative, Aufgaben oder Tasks dennoch ausgeführt werden können.
  • Gemäß einer Ausführungsform wird die Speicherüberprüfungsroutine periodisch innerhalb einer vorbestimmten Periodendauer oder zyklisch innerhalb einer vorbestimmten Zyklusdauer ausgeführt. Durch die wiederholte Ausführung der übergeordneten Speicherüberprüfungsroutine wird eine determinierte Speicherüberprüfung durchgeführt, welche eine rasche Erfassung von Fehlerreaktionszeiten bzw. von Fehlern ermöglicht.
  • Gemäß einer Ausführungsform werden beim Ausführen der Speicherüberprüfungsroutine, d. h. innerhalb des Routinezeitintervalls, die Überprüfungen des zumindest einen Speichers periodisch oder zyklisch, beispielsweise unmittelbar aufeinanderfolgend, ausgeführt, wodurch in vorteilhafter Weise eine rasche Erfassung der Fehlerreaktionszeit innerhalb eines Routinezeitintervalls ermöglicht wird.
  • Gemäß einer Ausführungsform ist eine Zeitdauer einer oder jeder der n Überprüfungen des zumindest einen Speichers beim Ausführen der Speicherüberprüfungsroutine vorbestimmt. Dadurch wird in vorteilhafter Weise erreicht, dass jede Überprüfung länger oder kürzer in Abhängigkeit von beispielsweise der Anzahl der Überprüfungen oder der Anzahl der zu überprüfenden Speicher variabel gestaltet werden kann.
  • Gemäß einer Ausführungsform wird der zumindest eine Speicher nach n Überprüfungen bis zum erneuten Ausführen der Speicherüberprüfungsroutine nicht mehr überprüft. Dadurch wird in vorteilhafter Weise erreicht, dass die zwischen dem Ausführen der jeweiligen Speicherüberprüfungsroutine liegende, überprüfungsfreie Zeit zum Ausführen von anderen Aufgaben genutzt werden kann.
  • Gemäß einer Ausführungsform wird eine oder jede Überprüfung des zumindest einen Speichers innerhalb eines vorbestimmbaren Überprüfungszeitintervalls durchgeführt. Somit kann in vorteilhafter Weise die Gesamtzeit der innerhalb einer Speicherüberprüfungsroutine ausgeführten Überprüfungen festgelegt werden.
  • Gemäß einer Ausführungsform ist eine Zeitdauer des vorbestimmten Zeitintervalls zur Ausführung der Speicherüberprüfungsroutine vorbestimmt. Dadurch wird in vorteilhafter Weise sichergestellt, dass die Speicherüberprüfungsroutine die Ausführung weiterer Routinen nicht unnötig behindert.
  • Gemäß einer Ausführungsform ist ein Zeitabstand zwischen den Ausführungen von zwei aufeinanderfolgenden Speicherüberprüfungsroutinen vorbestimmt oder von einer Art der in dem zumindest einen Speicher speicherbaren Daten abhängig. Wird der zumindest eine Speicher beispielsweise für die Speicherung in den vorgenannten Ebenen 2 und 3 eingesetzt, so kann dieser beispielsweise zyklisch überprüft werden, wobei die Zyklusdauer durch den Zeitabstand vorgegeben ist. Wird der zumindest eine Speicher hingegen beispielsweise von den Funktionen der Ebene 1 verwendet, so kann dieser beispielsweise nur einmal pro Fahrzyklus überprüft werden. In dem letztgenannten Fall ist der Zeitabstand zwischen den Ausführungen von zwei aufeinanderfolgenden Speicherüberprüfungsroutinen beispielsweise durch einen Fahrzyklusabstand bestimmt.
  • Gemäß einer Ausführungsform wird bei jeder Überprüfung des zumindest einen Speichers eine Anzahl von Speichern überprüft. Dadurch wird in vorteilhafter Weise erreicht, dass beim Ablauf der Speicherüberprüfungsroutine ein Speicherblock mit der Anzahl von Speichern überprüft werden kann.
  • Gemäß einer Ausführungsform hängt ein zu einer Überprüfung des zumindest einen Speichers zur Verfügung stehendes Überprüfungszeitintervall von einer Anzahl in diesem Überprüfungszeitintervall ebenfalls zu überprüfenden Speichern ab. Dadurch wird in vorteilhafter Weise sichergestellt, dass innerhalb desselben Überprüfungszeitintervalls mehrere Speicher überprüft werden können.
  • Gemäß einer Ausführungsform ist der Speicher ein RAM-Speicher oder ein ROM-Speicher.
  • Gemäß einer Ausführungsform werden bei einer oder bei jeder Überprüfung des zumindest einen Speichers, welcher beispielsweise ein RAM-Speicher sein kann, die Schritte des Übertragens der Speicherinhalte des zumindest einen Speichers in einen Zwischenspeicher, des Überschreibens der Speicherinhalte in dem zumindest einen Speicher mit einem vorbestimmten digitalen Muster, um einen Musterspeicherinhalt zu erzeugen, des Auslesens des Musterspeicherinhalts aus dem zumindest einen Speicher und des Vergleichens des digitalen Musters mit dem Musterspeicherinhalt, um den Speicher zu überprüfen. Dadurch wird in vorteilhafter Weise erreicht, dass die relevanten Speicherbereiche, welche zur Speicherung der Speicherinhalte eingesetzt werden, dezidiert überprüft werden.
  • Gemäß einer Ausführungsform werden bei einer oder bei jeder Überprüfung des zumindest einen Speichers, welcher ein ROM-Speicher sein kann, die Schritte des Verknüpfens, beispielsweise des Addierens, der Speicherinhalte des zumindest einen Speichers mit Speicherinhalten zumindest eines weiteren Speichers, um ein Verknüpfungsergebnis zu erhalten, und des Vergleichens des Verknüpfungsergebnisses mit einem Referenzverknüpfungsergebnis, das beispielsweise vorbestimmt sein kann, um den zumindest einen Speicher, beispielsweise Funktionsspeicher, und den zumindest einen weiteren Speicher, beispielsweise Funktionsspeicher, zu überprüfen. Die Überprüfung wird somit in vorteilhafter Weise auf der Basis des Verknüpfungsergebnisses, das beispielsweise eine Checksumme sein kann, einfach durchgeführt.
  • Gemäß einem weiteren Aspekt betrifft die Erfindung ein Steuergerät eines Fahrzeugantriebs, insbesondere eines elektrischen Fahrzeugantriebs, welches programmtechnisch eingerichtet ist, das erfindungsgemäße Verfahren zum Überprüfen zumindest eines Speichers auszuführen. Das Steuergerät kann beispielsweise ausgebildet sein, die vorstehend genannten drei Funktionsebenen auszuführen, um eine Fahrzeugantrieb zu überprüfen.
  • Gemäß einem weiteren Aspekt betrifft die Erfindung ein Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens zum Überprüfen zumindest eines Speichers, wenn das Computerprogramm auf einem elektronischen Computer ausgeführt wird.
  • Weitere Ausführungsbeispiele werden Bezug nehmend auf die beiliegenden Zeichnungen erläutert. Es zeigen:
  • 1 ein Ablaufdiagramm des Verfahrens zur Überprüfung eines Speichers gemäß einer Ausführungsform; und
  • 2 ein Ablaufdiagramm des Verfahrens zum Überprüfen eines Speichers gemäß einer weiteren Ausführungsform.
  • 1 zeigt ein prinzipielles Ablaufdiagramm eines Verfahrens zum Überprüfen zumindest eines Speichers, beispielsweise eines Funktionsüberwachungsspeichers eines Funktionsüberwachungssystems. Das Verfahren umfasst den in 1a dargestellten Schritt 101 des Ausführens einer Speicherüberprüfungsroutine, während deren Ausführung der Schritt 103 des Überprüfens des zumindest einen Speichers beispielsweise mehrfach ausgeführt wird. Nach Ablauf eines vorbestimmten Zeitintervalls oder unmittelbar anschließend wird die Speicherüberprüfungsroutine in Schritt 105 erneut ausgeführt.
  • Das Ausführen der Speicherüberprüfungsroutine 101 kann beispielsweise durch eine übergeordnete Steuerung, beispielsweise durch einen übergeordneten Softwaretask, periodisch, beispielsweise alle 10 ms, ausgeführt werden. Zur Festlegung der Anzahl n der Wiederholungen des Schrittes 103 des Überprüfens des zumindest einen Speichers kann ferner im Schritt 107 ein Zählerstand erhöht bzw. verringert werden. Nach n-fachem Ausführen des Schrittes 103 des Überprüfens des zumindest einen Speichers wird der Zählerstand 107 wieder zurückgesetzt. Der Schritt 107 kann jedoch innerhalb des Schrittes 103 ausgeführt werden.
  • 1B verdeutlicht die zyklische Ausführung des Schrittes 103 des Überwachens des zumindest einen Speichers, wobei die Anzahl der Zyklen beispielsweise mittels einer Routine 109 sichergestellt wird. Beginnend mit einem Startzustand 111 wird dabei im Schritt 113 zunächst geprüft, ob ein Zählerstand kleiner als ein vorgegebener Grenzzählerstand ist. Ist der Zählerstand größer als der oder gleich dem Grenzzählerstand, so wird in einen Endzustand 115 übergegangen, in dem der Schritt 103 nicht mehr ausgeführt wird. Andernfalls wird im Schritt 117 der Zählerstand um 1 erhöht. Anschließend kann beispielsweise im Schritt 119 die Überprüfung eines ersten Speichers oder einer ersten Gruppe von Speichern, beispielsweise ein RAM-Test für X RAM-Zellen ausgeführt werden. Anschließend oder parallel hierzu kann im Schritt 121 eine weitere Überprüfung eines weiteren Speichers oder einer weiteren Gruppe von Speichern, beispielsweise ein ROM-Test für Y ROM-Zellen, ausgeführt werden. Anschließend wird im Schritt 123 der Schritt 103 des Überprüfens des zumindest einen Speichers erneut ausgeführt.
  • Die in 1 dargestellten Verfahrensschritte können beispielsweise mithilfe eines auf einem elektronischen Rechner ausgeführten oder ausführbaren Programms in Software als Software-Tasks implementiert werden.
  • In diesem Falle ruft der Software-Task 103 die Funktion 109 auf. In dieser Funktion wird zunächst geprüft, ob der Zählerstand („Counter”) kleiner als der Grenzzählerstand („Counter_Limit”) ist nicht. Falls ja, dann wird er inkrementiert; für X RAM-Zellen wird dann der RAM-Test durchgeführt und für Y ROM-Zellen wird dann der ROM-Test durchgeführt. Anschließend wird der Software-Task 103 wieder gestartet. Falls ”Counter” bereits gleich oder größer als ”Counter_Limit” ist, dann wird der Software-Task 103 nicht wieder gestartet. Erst in einem nächsten Zyklus, beispielsweise in einem 10-ms-Zyklus, wird der Software-Task 103. wieder von der Funktion 101 gestartet.
  • 2 verdeutlicht die zeitlichen Abläufe der in 2 dargestellten Verfahrensschritte. Dabei kann beispielsweise der Schritt 101 jeweils nach Ablauf eines Zeitintervalls 201, beispielsweise nach Ablauf von 10 ms, erneut ausgeführt werden. Ferner kann die Laufzeit 203 des jeweiligen Überprüfungsschrittes 103 parametrierbar sein. Darüber hinaus kann die Anzahl 205 der Wiederholungen des Überprüfungsschrittes 103 parametrierbar sein.
  • Durch die Parameter bzw. Kalibrierungsvariablen X und Y kann nun die Laufzeit von dem jeden Aufruf der Funktion 109 variiert werden. Man kann X und Y durch Versuche so festlegen, dass jeder Aufruf von der Funktion 109 nicht länger als ”Laufzeit_Limit”, beispielsweise nicht länger als 150 μs, andauert, mit dem Ziel, dass das Echtzeitverhalten des gesamten Systems sich nicht verschlechtert, sodass: Laufzeit(X, Y) ≤ Laufzeit_Limit
  • Dabei ist bevorzugt ”Laufzeit” proportional zu ”X” und ”Y”, d. h. je mehr RAM/ROM-Zellen überprüft werden, desto länger die Laufzeit ist.
  • Dann kann die Anzahl der RAM- und ROM-Zellen (N_RAM bzw. N_ROM) ermittelt werden, die beispielweise von den Ebene-2- und -3-Funktionen benutzt werden. Dabei können die Grenzen der RAM/ROM-Bereiche nach einem SW-Build durch eine Analyse eines MAP Files ermittelt werden. Anschließend kann der Parameter ”Counter Limit” so gewählt werden, dass alle dieser RAM- und ROM-Zellen innerhalb der gewünschten Zeit geprüft werden können: X·Counter_Limit ≤ N_RAM / Debouncing_Limit Y·Counter_Limit ≤ N_ROM / Debouncing_Limit
  • ”Debouncing_Limit” dient dazu, bei sporadischen Fehlern eine Entprellung sicherzustellen, sodass transiente Fehler toleriert werden können, um die Verfügbarkeit des Systems zu erhöhen. Das bedeutet, dass eine Fehlerreaktion erst wenn ein RAM- oder ROM-Fehler mehrmals hintereinander detektiert wird, ausgelöst wird.
  • Bei dem 3-Ebenen-Konzept werden die RAM- und ROM-Speicherzellen, d. h. Überwachungsspeicher, die von den Ebene-2- und Ebene-3-Funktionen benutzt werden zyklisch geprüft. Die RAM- und ROM-Speicherzellen, die von den Ebene-1-Funktionen benutzt werden, können dagegen nur einmal pro Fahrzyklus geprüft werden. Die Überwachungsspeicher können vorteilhaft zyklisch geprüft werden, weil sie von den Ebene-2- und Ebene-3-Funktionen benutzt werden und weil ein Fehler im Überwachungsspeicher dazu führen könnte, dass die Ebene-2- und Ebene-3-Funktionen nicht korrekt reagieren, so dass ein Fehler zu einer Gefährdung führen könnte.
  • Um die RAM-Speicherzellen zu prüfen, werden die eigentlichen Inhalte zunächst in einen anderen Speicherbereich kopiert; dann wird ein bestimmtes Pattern, z. B. 0x5A5A5A5A, in den gerade geprüften Zellen geschrieben; anschließend wird geprüft, ob das Pattern wie gewünscht in den Zellen geschrieben worden ist, indem man die Inhalte ausliest. Zum Schluss, wenn es keine Fehler gibt, werden die ursprünglichen Inhalte wieder zurückkopiert.
  • Um die ROM-Speicherzellen zu prüfen, werden die Inhalte eines ROM-Bereichs miteinander verknüpft, beispielsweise addiert, und zum Schluss mit einer vorher offline berechneten Checksumme verglichen. Falls die Checksumme, die in Laufzeit berechnet worden ist, nicht mit der vorher offline berechneten Checksumme übereinstimmt, wird eine Fehlerreaktion, z. B. ein Steuergerät-Reset, ausgelöst.
  • Diese Testabläufe benötigen Laufzeiten, vor allem weil die Speicherzugriffe Laufzeit kosten. Die Fehlerreaktionszeit von diesen zyklischen RAM/ROM-Tests hängt daher von dem Speicherverbrauch der Ebene-2 und -3 ab. Je mehr RAM/ROM-Zellen überprüft werden, desto länger ist die Zeit, während der alle diese Zellen einmal geprüft werden können. Die Fehlerreaktionszeit hängt ferner auch vom CPU-Takt und von weiteren Faktoren ab.
  • In manchen Projekten werden so viele RAM/ROM-Zellen von Ebene 2 und Ebene 3 gebraucht, so dass eine Fehlerreaktionszeit von ca. 70 ms dann erreicht werden kann, wenn bis zu 30% der CPU-Laufzeit für die zyklischen RAM/ROM-Tests zur Verfügung steht. Die zyklischen RAM/ROM-Tests laufen in der Regel in dem 10-ms-Task. 30% der CPU-Laufzeit bedeutet, dass für jeden 10-ms-Zyklus die RAM/ROM-Tests allein 3 ms Laufzeit benötigen.
  • Grundsätzlich besteht die Möglichkeit, die zyklischen RAM/ROM-Tests beispielsweise ergänzend oder zwischen den zyklischen Überprüfungen in einem so genannten Background-Task laufen zu lassen. Das bedeutet, dass dieser Taks dann von dem Betriebssystem aufgerufen wird, wenn keine anderen Tasks aufgerufen werden müssen, also erst dann, wenn das Betriebssystem ”idle” ist. Derartiger Background-Task kann jedoch die erfindungsgemäße, deterministische Speicherüberprüfung nicht vollständig ersetzen, weil die Reaktionszeit von den zyklischen RAM/ROM-Tests schwer vorherzusagen ist. Denn während der Entwicklung eines Embedded-Control-Projekts werden die Softwaremodule in der Regel noch bis zum Serienstart (SOP, Start of Production) verändert. Das führt dazu, dass die für den Background-Task zur Verfügung stehende Rechenkapazität nicht konstant und erst kurz vor SOP bekannt ist. Darüber hinaus kann keine Aussage bezüglich der Fehlerreaktionszeit getroffen werden, weil der Background-Task die niedrigste Priorität in dem Betriebssystem hat und es ist nicht sichergestellt, dass er innerhalb einer bestimmten Zeit oft genug aufgerufen wird. Wenn man dann feststellt, dass die Rechenkapazität nicht ausreicht, um die geforderte Fehlerreaktionszeit zu gewährleisten, dann ist es schon zu spät, noch an anderen Stellen zu optimieren.
  • Deshalb kommt die Lösung mit Background-Task nicht oder nicht ausschließlich in Frage, sodass die erfindungsgemäßen RAM/ROM-Tests bevorzugt deterministisch zyklisch aufgerufen werden, um die geforderte Fehlerreaktionszeit sicher gewährleisten zu können. Bevorzugt kann hierzu in der frühen Phase der Entwicklung bereits den RAM/ROM-Verbrauch von den Ebene-2- und -3-Funktionen abgeschätzt werden, sodass eine genügende Rechenkapazität für die zyklischen RAM/ROM-Tests reserviert werden kann, indem die zyklischen RAM/ROM-Tests schon in der frühen Phase der Entwicklung nahezu genau die Rechenkapazität bzw. Laufzeit verbrauchen wie in Serienanwendungen, so dass, wenn andere Softwaremodule mehr Laufzeit verbrauchen würden, die zu einer Überlastung des Prozessors führt, dieses Problem in Echtzeit erkannt und Optimierungsmaßnahmen eingeleitet werden können.
  • Die zyklischen Speicherüberprüfungen, beispielsweise die RAM/ROM-Tests, können in einem so genannten ”Cooperative-Task” aufgerufen werden. Wenn die zyklischen RAM/ROM-Tests, die z. B. 3 ms Laufzeit in einem 10-ms-Zyklus verbrauchen können, an einem Stück ausgeführt werden, dann werden bevorzugt andere Cooperative-Tasks so lange nicht aufgerufen, solange die zyklischen RAM/ROM-Tests noch ausgeführt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Norm ECE-R100 [0003]

Claims (15)

  1. Verfahren zum Überprüfen zumindest eines Speichers, insbesondere eines Funktionsüberwachungsspeichers eines Funktionsüberprüfungssystems, mit: Ausführen (101) einer Speicherüberprüfungsroutine, bei der der zumindest eine Speicher n-mal überprüft wird, wobei n eine vorbestimmbare Anzahl von Überprüfungen (103) ist; und erneutem Ausführen (105) der Speicherüberprüfungsroutine nach Ablauf eines vorbestimmten Zeitintervalls.
  2. Verfahren gemäß Anspruch 1, wobei die Speicherüberprüfungsroutine innerhalb eines vorbestimmten Routinenzeitintervalls ausgeführt wird.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei die Speicherüberprüfungsroutine periodisch innerhalb einer vorbestimmten Periodendauer oder zyklisch innerhalb einer vorbestimmten Zyklusdauer ausgeführt wird.
  4. Verfahren gemäß einem der vorstehenden Ansprüche, wobei beim Ausführen der Speicherüberprüfungsroutine die Überprüfungen (103) des zumindest einen Speichers periodisch oder zyklisch, insbesondere unmittelbar aufeinanderfolgend, ausgeführt werden.
  5. Verfahren gemäß einem der vorstehenden Ansprüche, wobei der zumindest eine Speicher nach n Überprüfungen bis zum erneuten Ausführen der Speicherüberprüfungsroutine nicht mehr überprüft wird.
  6. Verfahren gemäß einem der vorstehenden Ansprüche, wobei eine, insbesondere genau eine, Überprüfung (103) des zumindest einen Speichers innerhalb eines vorbestimmbaren Überprüfungszeitintervalls durchgeführt wird.
  7. Verfahren gemäß einem der vorstehenden Ansprüche, wobei eine Zeitdauer des vorbestimmten Zeitintervalls vorbestimmt ist oder von einer Art der in dem zumindest einem Speicher speicherbaren Daten abhängt.
  8. Verfahren gemäß einem der vorstehenden Ansprüche, wobei ein Zeitabstand zwischen den Ausführungen (101, 105) von zwei aufeinanderfolgenden Speicherüberprüfungsroutinen vorbestimmt ist oder von einer Art der in dem zumindest einem Speicher speicherbaren Daten abhängt.
  9. Verfahren gemäß einem der vorstehenden Ansprüche, wobei bei jeder Überprüfung (103) des zumindest einen Speichers eine Anzahl von Speichern überprüft wird.
  10. Verfahren gemäß einem der vorstehenden Ansprüche, wobei ein zu einer Überprüfung (103) des zumindest einen Speichers zur Verfügung stehendes Überprüfungszeitintervall von einer Anzahl der in diesem Überprüfungszeitintervall ebenfalls zu überprüfenden Speichern abhängt.
  11. Verfahren gemäß einem der vorstehenden Ansprüche, wobei der Speicher ein RAM-Speicher oder ein ROM-Speicher ist.
  12. Verfahren gemäß einem der vorstehenden Ansprüche, wobei bei einer Überprüfung (103), insbesondere bei jeder Überprüfung, des zumindest einen Speichers, insbesondere eines RAM-Speichers, folgende Schritte ausgeführt werden: Übertragen der Speicherinhalte des zumindest einen Speichers in einen Zwischenspeicher; Überschreiben der Speicherinhalte in dem zumindest einen Speicher mit einem vorbestimmten digitalen Muster, um einen Musterspeicherinhalt zu erzeugen; Auslesen des Musterspeicherinhalts aus dem zumindest einen Speicher; und Vergleichen des digitalen Musters mit dem Musterspeicherinhalt, um den Speicher zu überprüfen.
  13. Verfahren gemäß einem der vorstehenden Ansprüche, wobei bei einer Überprüfung (103), insbesondere bei jeder Überprüfung, des zumindest einen Speichers, insbesondere eines ROM-Speichers, folgende Schritte ausgeführt werden: Verknüpfen der Speicherinhalte des zumindest einen Speichers mit Speicherinhalten zumindest eines weiteren Speichers, um ein Verknüpfungsergebnis zu erhalten; und Vergleichen des Verknüpfungsergebnisses mit einem Referenzverknüpfungsergebnis, um den zumindest einen Funktionsspeicher und den zumindest einen weiteren Funktionsspeicher zu überprüfen.
  14. Steuergerät eines Fahrzeugantriebs, insbesondere eines elektrischen Fahrzeugantriebs, welches programmtechnisch eingerichtet ist, das Verfahren gemäß einem der Ansprüche 1 bis 13 auszuführen.
  15. Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 13, wenn das Computerprogramm auf einem elektronischen Computer ausgeführt wird.
DE200910028871 2009-08-26 2009-08-26 Verfahren zum Überprüfen eines Speichers Ceased DE102009028871A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200910028871 DE102009028871A1 (de) 2009-08-26 2009-08-26 Verfahren zum Überprüfen eines Speichers
CN201010263912.XA CN102005251B (zh) 2009-08-26 2010-08-25 用于检验存储器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910028871 DE102009028871A1 (de) 2009-08-26 2009-08-26 Verfahren zum Überprüfen eines Speichers

Publications (1)

Publication Number Publication Date
DE102009028871A1 true DE102009028871A1 (de) 2011-03-03

Family

ID=43524754

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910028871 Ceased DE102009028871A1 (de) 2009-08-26 2009-08-26 Verfahren zum Überprüfen eines Speichers

Country Status (2)

Country Link
CN (1) CN102005251B (de)
DE (1) DE102009028871A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3023047A1 (fr) * 2014-06-27 2016-01-01 Continental Automotive France Procede de gestion de messages de panne d'un vehicule automobile
WO2017021507A1 (de) * 2015-08-06 2017-02-09 Continental Automotive Gmbh Verfahren zum betreiben einer steuervorrichtung und diagnosesystem
DE102021205172A1 (de) 2021-05-20 2022-11-24 Robert Bosch Gesellschaft mit beschränkter Haftung Speichervorrichtung und Verfahren zur Überprüfung von Speicherinhalten

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0945799B1 (de) * 1998-01-29 2002-07-03 Siemens Aktiengesellschaft Verfahren und Einrichtung zum Verhindern der Einlagerung nicht mehr aktueller Datentelegramme aus einer Datenvorverarbeitung in die Speicher eines Rechners
DE50211572D1 (de) * 2001-11-12 2008-03-06 Siemens Ag Speichertest
CN100375197C (zh) * 2002-03-28 2008-03-12 华邦电子股份有限公司 非挥发性存储器的测试方法
CN100536031C (zh) * 2006-01-25 2009-09-02 华为技术有限公司 随机存储器失效的检测处理方法及其***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Norm ECE-R100

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3023047A1 (fr) * 2014-06-27 2016-01-01 Continental Automotive France Procede de gestion de messages de panne d'un vehicule automobile
US9355506B2 (en) 2014-06-27 2016-05-31 Continental Automotive France Method for managing fault messages of a motor vehicle
WO2017021507A1 (de) * 2015-08-06 2017-02-09 Continental Automotive Gmbh Verfahren zum betreiben einer steuervorrichtung und diagnosesystem
CN107921966A (zh) * 2015-08-06 2018-04-17 大陆汽车有限公司 用于运行控制装置的方法以及诊断***
CN107921966B (zh) * 2015-08-06 2021-03-09 大陆汽车有限公司 用于运行控制装置的方法以及诊断***
DE102021205172A1 (de) 2021-05-20 2022-11-24 Robert Bosch Gesellschaft mit beschränkter Haftung Speichervorrichtung und Verfahren zur Überprüfung von Speicherinhalten

Also Published As

Publication number Publication date
CN102005251B (zh) 2016-06-01
CN102005251A (zh) 2011-04-06

Similar Documents

Publication Publication Date Title
DE102006028992B4 (de) Elektronische Steuervorrichtung
DE102006028695B4 (de) Elektronisches Steuersystem mit Fehlfunktionsüberwachung
DE102013203358A1 (de) System und verfahren zum verifizieren der integrität eines sicherheitskritischen fahrzeugsteuerungssystems
EP2770434B1 (de) Verfahren zur Durchführung einer Inventarisierung der an ein Steuergeräte-Testsystem angeschlossenen Hardware-Komponenten
DE10230834A1 (de) Verfahren zum Betreiben einer Brennkraftmaschine
EP2907072B1 (de) Verfahren zur steuerung eines getrennten ablaufs von verknüpften programmblöcken und steuergerät
DE102006016891A1 (de) Erweiterung der Funktionalität einer Serien-Software in einem Steuergerät
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
EP3709166A1 (de) Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten
WO2000063546A1 (de) Verfahren und vorrichtung zur überwachung eines rechenelements in einem kraftfahrzeug
DE102009028871A1 (de) Verfahren zum Überprüfen eines Speichers
EP1860565A1 (de) Verfahren zur Funktionsprüfung eines Steuergeräts für ein Kraftfahrzeug
DE102012104322A1 (de) Verfahren und Vorrichtung zum Überprüfen von wenigstens zwei Recheneinheiten
DE102008043374A1 (de) Vorrichtung und Verfahren zur Generierung redundanter, aber unterschiedlicher Maschinencodes aus einem Quellcode zur Verifizierung für ein sicherheitskritisches System
WO2006108849A1 (de) Verfahren und rechnereinheit zur fehlererkennung und fehlerprotokollierung in einem speicher
DE102015213831A1 (de) Verfahren zum Außer-Betrieb-Setzen einer elektrisch angesteuerten Komponente eines Fahrzeugs in einem Fehlerfall einer die Komponente ansteuernden Recheneinheit
EP2387660B1 (de) Verfahren zum durchführen einer anzahl einspritzungen
DE102020213809A1 (de) Verfahren zum Betreiben eines Steuergeräts beim Testen einer Software des Steuergeräts und Verfahren zum Betreiben eines Testcomputers beim Testen einer Software eines Steuergeräts
WO2017080942A1 (de) Verfahren zum betreiben eines steuergeräts eines kraftfahrzeugs
WO2018192840A1 (de) Steuergerät und betriebsverfahren hierfür
DE102014209316A1 (de) Verfahren und Steuervorrichtung zum Ausführen abgasrelevanter Diagnosen
DE102011079786A1 (de) Verfahren und Vorrichtung zum Testen eines auf einem Speicher eines elektrischen Gerätes gespeicherten Programms
DE102018219700B4 (de) Steuervorrichtung
DE102008042894A1 (de) Verfahren und Vorrichtung zum Testen eines Rechnerkerns in einer mindestens zwei Rechnerkerne aufweisenden Recheneinheit
DE102021203278A1 (de) Verfahren zum Testen eines Steuergeräts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R125 Request for further processing filed
R126 Request for further processing allowed
R002 Refusal decision in examination/registration proceedings
R125 Request for further processing filed
R126 Request for further processing allowed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final