DE102014006446A1 - Verfahren zur Programmierung einer elektronischen Steuereinheit - Google Patents

Verfahren zur Programmierung einer elektronischen Steuereinheit Download PDF

Info

Publication number
DE102014006446A1
DE102014006446A1 DE102014006446.8A DE102014006446A DE102014006446A1 DE 102014006446 A1 DE102014006446 A1 DE 102014006446A1 DE 102014006446 A DE102014006446 A DE 102014006446A DE 102014006446 A1 DE102014006446 A1 DE 102014006446A1
Authority
DE
Germany
Prior art keywords
programming
control unit
memory
status
process status
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
Application number
DE102014006446.8A
Other languages
English (en)
Inventor
Ralf Schmidgall
Stephan Römer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mercedes Benz Group AG
Original Assignee
Daimler AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daimler AG filed Critical Daimler AG
Priority to DE102014006446.8A priority Critical patent/DE102014006446A1/de
Publication of DE102014006446A1 publication Critical patent/DE102014006446A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Programmierung einer elektronischen Steuereinheit (1), bei dem während eines Programmiervorgangs Daten mittels einer Diagnoseeinheit (2) in einem Speicher der elektronischen Steuereinheit (1) hinterlegt werden,
dadurch gekennzeichnet, dass während des Programmiervorgangs ein Prozessstatus initialisiert und aktualisiert wird, wobei
– der Prozessstatus einen Zustand und eine Speicheradresse zumindest eines Speicherbereichs des Speichers aufweist, wobei
– der Prozessstatus nach einer Unterbrechung des Programmiervorgangs mittels der Diagnoseeinheit (2) ausgewertet wird, und wobei
– der Programmiervorgang nach Unterbrechung an einer Position fortgeführt wird, die anhand des ausgewerteten Prozessstatus von der Diagnoseeinheit (2) ermittelt wird.

Description

  • Die Erfindung betrifft Verfahren zur Programmierung einer elektronischen Steuereinheit gemäß dem Oberbegriff des Anspruchs 1.
  • Die DE 10 2008 051 391 A1 offenbart ein Verfahren und eine Vorrichtung zum Verwalten eines nichtflüchtigen, wiederbeschreibbaren Speichers in mindestens einem Speicherbaustein, bei dem der Speicher in Speicherbereiche aufgeteilt wird. Jedem Speicherbereich wird ein Hardware-Statusregister zugeordnet. Ein aktueller Status jedes Speicherbereichs, der signalisiert, ob der Speicherbereich gelöscht ist oder nicht, wird im jeweils zugeordneten Hardware-Steuerregister gespeichert. Der Status wird durch eine Hardware des mindestens einen Speicherbausteins aktualisiert.
  • Weiterhin ist in der DE 10 2013 003 593 A1 ein Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement offenbart, wobei der gesamte Speicher in eine Mehrzahl von Speicherbereichen aufgeteilt und jedem Speicherbereich ein binäres Statusflag zugeordnet wird. In dem jeweiligen Statusflag kann ein erster Statuszustand, z. B. „Speicher nicht gelöscht”, oder ein zum ersten Statuszustand komplementärer, zweiter Statuszustand, z. B. „Speicher gelöscht”, eingestellt werden. Vor dem Durchführen des eigentlichen Gesamt-Löschungsvorgangs werden zunächst alle Statusflags der jeweiligen Speicherbereiche evaluiert. Beim eigentlichen Durchführen des Gesamt-Löschungsvorgangs werden nur mehr diejenigen Speicherbereiche gelöscht, deren zugeordnete Statusflags den ersten Statuszustand aufweisen. Damit werden die bereits vor Durchführung des Gesamt-Löschungsvorgangs gelöschten Speicherbereiche nicht erneut, also „doppelt”, gelöscht.
  • Der Erfindung liegt die Aufgabe zu Grunde, ein gegenüber dem Stand der Technik verbessertes Verfahren zur Programmierung einer elektronischen Steuereinheit anzugeben.
  • Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den in Anspruch 1 angegebenen Merkmalen gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
  • Bei einem Verfahren zur Programmierung einer elektronischen Steuereinheit werden während eines Programmiervorgangs Daten mittels einer Diagnoseeinheit in einem Speicherelement der elektronischen Steuereinheit hinterlegt. Erfindungsgemäß ist vorgesehen, dass während des Programmiervorgangs ein Prozessstatus initialisiert und aktualisiert wird, wobei der Prozessstatus einen Zustand und eine Speicheradresse zumindest eines Speicherbereichs des Speicherelements aufweist, wobei der Prozessstatus nach einer Unterbrechung des Programmiervorgangs mittels der Diagnoseeinheit ausgewertet wird, und wobei der Programmiervorgang nach Unterbrechung an einer Position fortgeführt wird, die anhand des ausgewerteten Prozessstatus von der Diagnoseeinheit ermittelt wird.
  • Das Verfahren ermöglicht es, den Programmiervorgang nach Unterbrechung desselben, z. B durch Stromunterbrechung, an genau der Position fortzuführen, an der zuvor die Unterbrechung erfolgte. Das Verfahren ermöglicht somit eine Reduktion einer Programmierzeit und einer Übertragungszeit im Falle einer Unterbrechung des Programmiervorgangs gegenüber dem Stand der Technik, da bereits hinterlegte Daten, insbesondere Datenelemente, Steuerbefehle und/oder Software-Programme, nicht erneut and das Steuergerät übermittelt und in das Speicherelement hinterlegt werden müssen. Weiterhin ist eine Löschzeit zum Löschen eines Arbeitsspeichers gegenüber dem Stand der Technik verringert, da der Arbeitsspeicher bereits beim unmittelbar vor der Unterbrechung erfolgten Programmiervorgang gelöscht wurde.
  • Ausführungsbeispiele der Erfindung werden im Folgenden anhand von Zeichnungen näher erläutert.
  • Dabei zeigen:
  • 1 ein Blockschaltbild mit einer elektronischen Steuereinheit und einer elektronischen Diagnoseeinheit,
  • 2 ein weiteres Blockschaltbild mit der elektronischen Steuereinheit und der elektronischen Diagnoseeinheit und
  • 3 ein Ablaufdiagramm eines Verfahrens zur Reprogrammierung der elektronischen Steuereinheit nach Unterbrechung eines Programmiervorgangs.
  • Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.
  • 1 zeigt ein Blockschaltbild mit einer elektronischen Steuereinheit 1 und einer elektronischen Diagnoseeinheit 2.
  • Bei der Steuereinheit 1 handelt es sich insbesondere um ein Steuergerät zur Anordnung in einem Fahrzeug. Die Steuereinheit 1 umfasst ein beschreibbares Speicherelement 1.1, welches einen einzigen Speicherbereich bildet oder insbesondere in eine Mehrzahl von Speicherbereichen aufgeteilt ist.
  • Die Steuereinheit 1 ist gemäß der Erfindung über einen Datenbus 3, z. B. ein CAN-Bus, mit der Diagnoseeinheit 2 elektrisch gekoppelt.
  • Bei der Diagnoseeinheit 2 handelt es sich insbesondere um ein Diagnose- und Testgerät zur Programmierung der Steuereinheit 1, wobei mittels der Diagnoseeinheit 2 Datenelemente, Steuerbefehle und/oder Software-Programme zur Ansteuerung mit der Steuereinheit 1 zusammenwirkenden Komponenten, insbesondere Fahrzeugkomponenten, z. B. ein Motor, in den Speicherbereichen abgelegt werden. Im Folgenden sind derartige Datenelemente, Steuerbefehle und/oder Software-Programme als „Daten” zusammengefasst.
  • Beim Programmieren der Steuereinheit 1 wird ein Programmiervorgang durchlaufen, mittels welchem die Daten in den jeweiligen Speicherbereichen hinterlegt werden. D. h., der Programmiervorgang beinhaltet Schreibroutinen und gegebenenfalls Löschroutinen für die Speicherbereiche des Speicherelements 1.1.
  • Weiterhin wird in der Steuereinheit 1 ein Prozessstatus initialisiert und aktualisiert, welcher Informationen bezüglich einer aktuellen Speicheradresse sowie eines Status der jeweiligen Speicherbereiche beinhaltet, der besagt, ob die jeweiligen Speicherbereiche gelöscht sind oder nicht.
  • Der Prozessstatus ist insbesondere in einem Software-Register der Steuereinheit 1 hinterlegt. Alternativ kann der Prozessstatus auch in einem Hardware-Register hinterlegt sein. Darüber hinaus ist es möglich, dass der Prozessstatus ausschließlich in der Diagnoseeinheit 2 hinterlegt ist.
  • Die Initialisierung und Aktualisierung des Prozessstatus erfolgt dabei mittels der Steuereinheit 1, z. B mittels einer Hardware der Speicherbereiche oder mittels einer in der Steuereinheit 1 integrierten Recheneinheit. Alternativ oder zusätzlich erfolgt die Initialisierung und Aktualisierung des Prozessstatus in der Diagnoseeinheit 2.
  • Bei dem Speicherelement 1.1 handelt es sich insbesondere um einen nichtflüchtigen Datenspeicher, dessen gespeicherte Daten auch dann erhalten bleiben, wenn die Steuereinheit 1 nicht in Betrieb ist. Damit bleiben die Daten auch nach einer Unterbrechung des Programmiervorgangs, z. B. bei Stromausfall, erhalten. Zudem kann die Diagnoseeinheit 2 nach Unterbrechung des Programmiervorgangs auf den zuletzt vor der Unterbrechung aktualisierten Prozessstatus zugreifen.
  • Damit sind im Rahmen der Erfindung drei Ausführungsbeispiele möglich. In einem ersten Ausführungsbeispiel fordert die Diagnoseeinheit 2 bei einem nach Unterbrechung des Programmiervorgangs erfolgten Neustarts den Prozessstatus von der Steuereinheit 1 ab, wertet diesen aus und setzt den Programmiervorgang an der korrekten Position wieder auf.
  • In einem zweiten Ausführungsbeispiel ist der Prozessstatus nach Unterbrechung des Programmiervorgangs nur in der Diagnoseeinheit 2 abgespeichert. Die Diagnoseeinheit 2 wertet den Prozessstatus anschließend aus und setzt den Programmiervorgang an der korrekten Position wieder auf.
  • In einem dritten Ausführungsbeispiel ist der Status nach Unterbrechung des Programmiervorgangs sowohl in der Steuereinheit 1 als auch in der Diagnoseeinheit 2 hinterlegt. Die Diagnoseeinheit 2 verifiziert den Prozessstatus, den diese in ihrem Speicher hinterlegt hat mit dem Prozessstatus, der in der Steuereinheit 1 hinterlegt ist, wertet diesen entsprechend der Verifizierung aus und setzt den Programmiervorgang an der korrekten Position wieder auf.
  • Im Rahmen der Erfindung kann somit ein zuvor unterbrochener und erneut gestarteter Programmiervorgang der Steuereinheit 1 gegenüber dem Stand der Technik beschleunigt werden. Beispielsweise müssen bei einem Fortschritt des Programmiervorgangs von bspw. 90% zum Zeitpunkt des Abbruchs beim Neustart des Programmiervorgangs nicht erneut 90% der Daten übertragen werden, sondern der Programmiervorgang setzt bei 90% Fortschritt wieder auf und überträgt die verbleibenden 10% der Daten.
  • 2 zeigt ein weiteres Blockschaltbild mit der Steuereinheit 1 und der Diagnoseeinheit 2, wobei jeweils eine Protokollebene P der Steuereinheit 1 und der Diagnoseeinheit 2 dargestellt ist.
  • Die Protokollebenen P umfassen jeweils ein Diagnoseprotokoll P1, ein Transportprotokoll P1 und ein Busprotokoll P3.
  • Die Diagnoseeinheit 2 kommuniziert dabei mit der Steuereinheit 1 über das Diagnoseprotokoll P1, welches auf dem Transportprotokoll P2 aufsetzt und an das Busprotokoll P3, in welchem spezifische Hardwareverbindungen definiert sind, angepasst ist.
  • 3 zeigt ein Ablaufdiagramm eines Neustarts des Programmiervorgangs nach zuvor erfolgter Unterbrechung.
  • In einem ersten Schritt S1 überprüfen die Steuereinheit 1 und die Diagnoseeinheit 2 ob alle Voraussetzungen zur Durchführung eines erneuten Programmiervorgangs erfüllt sind. Dazu gehört beispielsweise die Prüfung einer ausreichenden Spannungsversorgung.
  • In einem zweiten Schritt S2 wird der Prozessstatus von der Diagnoseeinheit 2 gelesen und entsprechend ausgewertet. In einem dritten Schritt S3 wird in Abhängigkeit des ausgewerteten Prozessstatus von der Diagnoseeinheit 2 eine Entscheidung über den nächsten Schritt getroffen. Ergibt die Auswertung des Prozessstatus, dass die Datenübertragung vor der Unterbrechung fehlerhaft und/oder unvollständig war, so wird der entsprechende Speicherbereich in einem vierten Schritt S4 vollständig gelöscht.
  • Beinhaltet der Prozessstatus im dritten Schritt S3, dass die Übertragung der Daten bis zu einer bestimmten Position erfolgreich war, so wird der vierte Schritt S4 übersprungen.
  • In einem fünften Schritt S5 wird ausgehend vom vierten Schritt S4 ein Fortschritt der Übertragung der Daten vor der Unterbrechung überprüft. Ergibt die Prüfung einen Fortschritt von weniger als 100%, so wird der erneute Programmiervorgang mit einem sechsten Schritt S6 fortgeführt.
  • Im sechsten Schritt S6 werden die verbleibenden Daten an die Steuereinheit 1.1 übertragen und in den jeweiligen Speicherbereichen hinterlegt. Der sechste Schritt S6 ist zudem der Folgeschritt des vierten Schritts S4, sofern dieser beim erneuten Programmiervorgang durchgeführt wird.
  • Wird im fünften Schritt S5 ausgehend vom vierten Schritt S4 ein Fortschritt der Übertragung der Daten vor der Unterbrechung von 100% ermittelt, so wird der sechste Schritt S6 übersprungen und der erneute Programmiervorgang mit einem siebten Schritt S7 fortgeführt.
  • Im siebten Schritt S7 wird überprüft, ob gemäß einem achten Schritt S8 eine Überprüfung der zu 100% übertragenen Daten auf Vollständigkeit und Fehler bereits durchgeführt wurde. Falls keine Überprüfung ermittelt wird, so wird der erneute Programmiervorgang mit dem achten Schritt S8 fortgesetzt. Der achte Schritt S8 ist zudem ein Folgeschritt des sechsten Schritts S6, sofern dieser beim erneuten Programmiervorgang durchgeführt wird Im Falle, dass die Überprüfung gemäß dem achten Schritt S8 bereits erfolgte, wird der achte Schritt S8 übersprungen und gemäß einem neunten Schritt S9 der Programmiervorgang mit nachbereitenden Maßnahmen beendet. Zu den nachbereitenden Maßnahmen gehören z. B. die Rücknahme von Softwaremodulen, die nicht mehr gebraucht werden, wie beispielsweise Gerätetreiber und Authentifizierungsinformationen. Der neunte Schritt S9 ist zudem ein Folgeschritt des achten Schritts S8, sofern dieser beim erneuten Programmiervorgang durchgeführt wird.
  • Bezugszeichenliste
  • 1
    Steuereinheit
    1.1
    Speicherelement
    2
    Diagnoseeinheit
    3
    Datenbus
    P
    Protokollebene
    P1
    Diagnoseprotokoll
    P2
    Transportprotokoll
    P3
    Busprotokoll
    S1
    erster Schritt
    S2
    zweiter Schritt
    S3
    dritter Schritt
    S4
    vierter Schritt
    S5
    fünfter Schritt
    S6
    sechster Schritt
    S7
    siebter Schritt
    S8
    achter Schritt
    S9
    neunter Schritt
  • 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 Patentliteratur
    • DE 102008051391 A1 [0002]
    • DE 102013003593 A1 [0003]

Claims (4)

  1. Verfahren zur Programmierung einer elektronischen Steuereinheit (1), bei dem während eines Programmiervorgangs Daten mittels einer Diagnoseeinheit (2) in einem Speicherelement (1.1) der elektronischen Steuereinheit (1) hinterlegt werden, dadurch gekennzeichnet, dass während des Programmiervorgangs ein Prozessstatus initialisiert und aktualisiert wird, wobei – der Prozessstatus einen Zustand und eine Speicheradresse zumindest eines Speicherbereichs des Speicherelements (1.1) aufweist, wobei – der Prozessstatus nach einer Unterbrechung des Programmiervorgangs mittels der Diagnoseeinheit (2) ausgewertet wird, und wobei – der Programmiervorgang nach Unterbrechung an einer Position fortgeführt wird, die anhand des ausgewerteten Prozessstatus von der Diagnoseeinheit (2) ermittelt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Prozessstatus während des Programmiervorgangs in vorgegebenen Zeitabständen aktualisiert wird.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Prozessstatus bei Änderung der Speicheradresse aktualisiert wird.
  4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass der Prozessstatus bei Änderung des Zustands des mindestens einen Speicherbereichs aktualisiert wird.
DE102014006446.8A 2014-05-02 2014-05-02 Verfahren zur Programmierung einer elektronischen Steuereinheit Withdrawn DE102014006446A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014006446.8A DE102014006446A1 (de) 2014-05-02 2014-05-02 Verfahren zur Programmierung einer elektronischen Steuereinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014006446.8A DE102014006446A1 (de) 2014-05-02 2014-05-02 Verfahren zur Programmierung einer elektronischen Steuereinheit

Publications (1)

Publication Number Publication Date
DE102014006446A1 true DE102014006446A1 (de) 2014-10-23

Family

ID=51629024

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014006446.8A Withdrawn DE102014006446A1 (de) 2014-05-02 2014-05-02 Verfahren zur Programmierung einer elektronischen Steuereinheit

Country Status (1)

Country Link
DE (1) DE102014006446A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008051391A1 (de) 2008-10-11 2009-06-10 Daimler Ag Verfahren zum Verwalten eines nichtflüchtigen, wiederbeschreibbaren Speichers
DE102013003593A1 (de) 2013-03-01 2013-09-19 Daimler Ag Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008051391A1 (de) 2008-10-11 2009-06-10 Daimler Ag Verfahren zum Verwalten eines nichtflüchtigen, wiederbeschreibbaren Speichers
DE102013003593A1 (de) 2013-03-01 2013-09-19 Daimler Ag Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement

Similar Documents

Publication Publication Date Title
DE112017003641T5 (de) Datenüberschreibvorrichtung und Datenüberschreibprogramm
DE102008021030B4 (de) Verfahren zum Betreiben eines Fahrzeugs sowie entsprechende Vorrichtung und entsprechendes Fahrzeug
DE4332499A1 (de) Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers
DE102005013285A1 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
EP2008179B1 (de) Erweiterung der funktionalität einer serien-software in einem steuergerät
DE102017211433A1 (de) Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät
DE19911794B4 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
EP2326959B1 (de) Verfahren zum freischalten von funktionen eines tachographen
DE102009051675A1 (de) In ein Fahrzeug einbaubare elektronische Steuervorrichtung
DE102016201769A1 (de) Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
DE102011122344A1 (de) Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug
DE102014006446A1 (de) Verfahren zur Programmierung einer elektronischen Steuereinheit
EP1187011A2 (de) Verfahren zur Programmierung eines Steuergerätes
DE102013214795A1 (de) Tachografenanordnung und Verfahren zum Betreiben einer Tachografenanordnung
DE10228610A1 (de) Verfahren zum Überprüfen eines auf einer elektronischen Recheneinheit ablaufenden Steuerprogramms
DE102017206752A1 (de) Elektronische steuereinheit und datenumschreibesystem
EP3797352B1 (de) Verfahren zum austauschen eines ersten ausführbaren programm-codes und eines zweiten ausführbaren programm-codes und steuergerät
DE102012016169A1 (de) Verfahren zur Daten-Aktualisierung eines Steuergeräts
DE102009002898A1 (de) Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs
DE102009047974B4 (de) Verfahren zur Programmierung eines Steuergeräts
DE102013003593A1 (de) Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement
DE102019004608A1 (de) Verfahren zum Aktualisieren einer elektronischen Recheneinrichtung mittels eines Energiemanagementsystems sowie Energiemanagementsystem
WO2009103728A1 (de) Verfahren und vorrichtung zum speichern von informationsdaten
DE102015214389A1 (de) Verfahren und Vorrichtung zum Aktualisieren einer auf einer physischen Maschine unter einem Hypervisor betriebenen virtuellen Maschine
DE102018005762A1 (de) Verfahren zur Übertragung von Computerprogrammen auf ein Steuergerät eines Fahrzeugs

Legal Events

Date Code Title Description
R230 Request for early publication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee