PatentDe  


Dokumentenidentifikation DE19536490C2 21.01.1999
Titel Verfahren zum Einschreiben von Daten in einen Speicher eines Steuergerätes
Anmelder Daimler-Benz Aktiengesellschaft, 70567 Stuttgart, DE;
Siemens AG, 80333 München, DE
Erfinder Dirnberger, Reinhold, 93053 Regensburg, DE;
Grutza, Roman, 71384 Weinstadt, DE
Vertreter Epping, W., Dipl.-Ing. Dr.-Ing., Pat.-Anw., 82131 Gauting
DE-Anmeldedatum 29.09.1995
DE-Aktenzeichen 19536490
Offenlegungstag 03.04.1997
Veröffentlichungstag der Patenterteilung 21.01.1999
Veröffentlichungstag im Patentblatt 21.01.1999
IPC-Hauptklasse G06F 9/24

Beschreibung[de]

Verfahren zum Einschreiben von Daten in einen Speicher eines Steuergerätes.

Die Erfindung betrifft ein Verfahren zum Einschreiben von Daten in den Speicher eines Steuergerätes. Entsprechende Steuergeräte mit Speicher werden z. B. in einem Kraftfahrzeug zur Steuerung von verschiedenen Funktionen wie z. B. Antiblockiersystem (ABS), Airbag, Benzineinspritzung und Zündeinstellung verwendet.

Aus der DE 40 03 507 A1 ist bereits ein Verfahren zum Einschreiben von Daten und Programmen in den Speicher eines Steuergerätes bekannt, bei dem auf einen Ladebefehl hin ein Basisprogramm das Einschreiben von Daten und Programmen in einen Hauptspeicher steuert, wobei die einzuprogrammierenden Daten und Programme über eine Schnittstelle aus einem externen Datenträger ausgelesen werden. Das Basisprogramm ist in einem Hilfsspeicher abgelegt. Hierdurch können nachträglich Änderungen im Programm des Steuergerätes durchgeführt werden. Das beschriebene Verfahren weist keinen ausreichenden Schutz gegen einen unberechtigten Zugriff auf die Daten und Programme des Steuergerätes auf.

Aus der DE 40 13 727 A1 ist ein Steuergerät für Brennkraftmaschinen mit einem Mikroprozessor, einem Festspeicher und einem extern programmierbaren Speicher bekannt, in der vor dem Beschreiben des programmierbaren Speichers eine Zugangsroutine abläuft, bei der ein externes Programmiergerät einen Fragebefehl aussendet, auf den das Steuergerät eine Antwort zurücksendet. Das externe Programmiergerät wandelt die Antwort in ein von der Antwort abhängiges Zugangssignal um, das es an das Steuergerät sendet. Anhand des Vergleichs von Antwort und Zugangssignal entscheidet das Steuergerät über die Zugangsberechtigung des externen Programmiergerätes. Die Zugangsroutine muß innerhalb einer vorgegebenen Dialogzeit abgeschlossen sein.

Aus der DE 34 08 904 A1 ist eine Schaltungsanordnung zur Abwehr eines unberechtigten Zugangs zu einem durch teilnehmerindividuelle Paßworte gesicherten Kommunikationssystems bekannt, wobei ein empfangenes Paßwort mit einem in einem Speicher enthaltenen Paßwort verglichen wird. Bei Nichtübereinstimmung des empfangenen mit dem gespeicherten Paßwort wird eine Verzögerungsschaltung aktiviert, die für einen vorgegebenen Blockierzeitraum die Auswertung weiterer Paßworte blockiert. Nach Ablauf des Blockierzeitraums ist das System bereit zum Empfang weiterer Paßworte.

Die Aufgabe der Erfindung liegt darin, ein Verfahren zum Einschreiben von Daten und Programmen in den Speicher eines Steuergerätes anzugeben, das die Daten und Programme des Steuergerätes sicher vor einem unberechtigten Zugriff schützt, ein fehlerhaftes Einschreiben vermeidet und ein Betreiben des Steuergerätes mit fehlerhaften Daten oder mit einem fehlerhaften Programm sicher verhindert.

Die Aufgabe der Erfindung wird durch die Merkmale des Anspruchs 1 gelöst.

Ein wesentlicher Vorteil der Erfindung liegt darin, daß ein Testintervall vorgesehen ist, innerhalb dessen nach dem Einschalten des Steuergerätes vorgegebene Signale nach einem vorgegebenen Verfahren ausgetauscht werden müssen, bevor ein Zugriff auf die Programme des Steuergerätes möglich ist.

Vorteilhafte Weiterbildungen und Verbesserungen der Erfindung sind in den Unteransprüchen beschrieben.

Ein weiterer Vorteil der Erfindung beruht darin, daß ein Berechtigungsnachweis vor dem Einschreiben in den Speicher durch eine Abfrage eines codierten Sicherheitssignals gefordert wird und dadurch der Speicher zusätzlich gegen einen unbefugten Zugriff geschützt ist.

Die Erfindung wird anhand der Figuren näher erläutert; es zeigen:

Fig. 1: ein Steuergerät

Fig. 2: einen ersten Programmablauf

Fig. 3: einen zweiten Programmablauf und

Fig. 4: Datenbytes.

Gemäß Fig. 1 ist das Steuergerät 1, das unter anderem eine Recheneinheit umfaßt, über Datenleitungen mit einer Schnittstelle 6, mit einem ersten Speicher 2, mit einem zweiten Speicher 3 und über eine Steuerleitung mit einem Stellglied 9 verbunden. Das Steuergerät 1 ist über eine Signalleitung mit einem Sensor 11 verbunden. Zudem ist das Steuergerät 1 über einen ersten Schalter 5 mit einer Versorgungsspannung 4, beispielsweise einer Batterie eines Kraftfahrzeuges, verbunden. Zudem weist das Steuergerät 1 einen Masseanschluß 10 auf.

Die Schnittstelle 6, die z. B. als serielle Schnittstelle ausgebildet ist, ist über eine Eindrahtleitung 12 über einen zweiten Schalter 8 mit einer Ein- und Ausgabeeinheit 7 verbunden. Die Ein- und Ausgabeeinheit 7 ist beispielsweise als tragbarer Computer (PC) ausgebildet.

In dem ersten Speicher 2 sind Daten abgelegt, die das Steuergerät 1 zur Steuerung von Funktionen eines Kraftfahrzeuges wie z. B. ABS, Zündung und Einstellung des Einspritzwinkels verwendet. Unter dem Oberbegriff Daten werden im Rahmen der Erfindung Werte, Konstanten, Variablen, Kennfelder, Kennlinien, Programmteile, Programme usw. verstanden, die beim Betreiben eines Steuergerätes 1 Verwendung finden, das insbesondere zum Steuern von Funktionen eines Kraftfahrzeuges eingesetzt wird.

Das Steuergerät 1 nimmt Sensorsignale des Sensors 11 auf, wandelt die Sensorsignale mit Hilfe der Daten wie z. B. Variablen, Konstanten, Kennfelder und Steuerprogramme usw. in Steuersignale um und gibt diese über die Steuerleitung an das Stellglied 9 weiter. Da der Inhalt des ersten Speichers auch zur Steuerung sicherheitsrelevanter Vorrichtungen wie z. B. dem ABS verwendet werden, ist ein unbefugter Zugriff auf den Inhalt des ersten Speichers sicher zu verhindern. Trotzdem ist es erforderlich, daß z. B. bei einer nachträglichen Änderung der Steuerprogramme eine Änderung des Inhalts des Speichers vorgenommen werden muß.

In vorteilhafter Weise ist ein Programm zum Einschreiben von Daten in den ersten Speichers 2 in einem schreib- und löschgeschützten Bereich des ersten Speichers 2 oder in einem schreib- und löschgeschützten zweiten Speicher 3 abgelegt.

Das Verfahren zum Einschreiben von Daten in den ersten Speicher 2 wird anhand der Fig. 2, 3 und 4 erläutert. Fig. 2 zeigt einen ersten schematischen Programmablauf zur Programmierung des Steuergerätes 1. Bei Programmpunkt 20 wird ein Testintervall vorgegebener zeitlicher Länge gestartet. Dies erfolgt z. B. durch Eingabe eines Steuerbefehls an die Steuereinheit 1, durch einen Start eines Steuerprogrammes oder durch die Betätigung einer Resettaste. Im folgenden Ausführungsbeispiel wird das Testintervall durch das Anlegen einer Versorgungsspannung an das Steuergerät 1 gestartet, indem der erste Schalter 5 geschlossen wird.

Daraufhin wird bei Programmpunkt 21 von dem Steuergerät 1 überprüft, ob an der Schnittstelle 6 ein Startsignal A anliegt. Ist dies nicht der Fall, so wird nach Programmpunkt 31 verzweigt und das Steuergerät 1 geht in einen normalen Betriebszustand, d. h. in einen Steuerbetrieb über, in dem die Steuerprogramme vom Steuergerät 1 abgearbeitet werden und eine Änderung der Daten im ersten Speicher 2, insbesondere eine Änderung der Steuerprogramme, gesperrt ist. Im Steuerbetrieb führt das Steuergerät 1 beispielsweise Motorfunktionen oder ABS-Funktionen durch.

Ergibt die Abfrage bei Programmpunkt 21, daß das Startsignal A über die Schnittstelle 6 empfangen wurde, so wird bei Programmpunkt 22 von dem Steuergerät 1 ein Antwortsignal B über die Schnittstelle 6 an die Ein-/Ausgabegeeinheit 7 abgegeben. Die Ein-/Ausgabegeeinheit 7 sendet nach Empfang des Antwortsignals B ein Bestätigungssignal C an das Steuergerät 1.

Bei Programmpunkt 23 überprüft das Steuergerät 1, ob von der Ein-/Ausgabegeeinheit 7 das Bestätigungssignal C innerhalb des Testintervalls empfangen wird. Wird das Bestätigungssignal C nicht innerhalb des Testintervalls erhalten, so wird bei Programmpunkt 24 vom Steuergerät 1 über die Schnittstelle 6 eine Fehlerkennung abgegeben. Diese Fehlerkennung wird von der Ein-/Ausgabegeeinheit 7 in Form eines Textes:

"Programmierversuch fehlerhaft!" ausgegeben. Anschließend geht das Steuergerät 1 entsprechend dem Programmpunkt 31 in einen Steuerbetrieb über.

Ergibt die Abfrage bei Programmpunkt 23, daß das Bestätigungssignal C innerhalb des Testintervalls vom Steuergerät 1 empfangen wird, so wird in einer ersten vorteilhaften Ausführung der Erfindung direkt zu Programmpunkt 29 verzweigt, bei dem Daten in den ersten Speichers 2 eingeschrieben werden.

Vorzugsweise werden vor Programmpunkt 29 wahlweise weitere Programmpunkte 25, 26 und 27 durchgeführt.

Die Länge des Testintervalls, innerhalb dessen das Bestätigungssignal C von dem Steuergerät 1 empfangen werden muß, um eine Programmierung des ersten Speichers 2 durchführen zu können, ist entsprechend den technischen Gegebenheiten anzupassen und liegt beispielsweise zwischen 5 ms und 1 s, vorzugsweise bei 10 ms.

Bei Programmpunkt 25 wird überprüft, ob der Motor des Fahrzeuges in Betrieb ist, d. h. ob die Drehzahl gleich null ist. Ist die Drehzahl des Motors ungleich null, so ist ein Einschreiben von Daten, d. h. eine Programmierung des ersten Speichers 2, gesperrt und es wird zu Programmpunkt 31 verzweigt, bei dem das Steuergerät 1 in einen Steuerbetrieb übergeht.

Ergibt die Abfrage bei Programmpunkt 25, daß die Drehzahl des Motors gleich null ist, so wird entweder nach Programmpunkt 29 oder wahlweise nach Programmpunkt 26 verzweigt. Bei Programmpunkt 26 führt das Steuergerät 1 eine Überprüfung der Schnittstelle 6 durch. Anschließend erfolgt bei Programmpunkt 27 eine Abfrage, ob die Schnittstelle 6 ordnungsgemäß funktioniert. Ist dies nicht der Fall, so wird nach Programmpunkt 28 verzweigt, bei dem über die Ein-/Ausgabeeinheit 7 eine Fehlermeldung ausgegeben wird. Daraufhin wird nach Programmpunkt 31 verzweigt.

Ergibt die Abfrage bei Programmpunkt 27, daß die Schnittstelle 6 ordnungsgemäß funktioniert, so wird nach Programmpunkt 29 verzweigt. Bei Programmpunkt 29 wird die Programmierung, d. h. das Einschreiben von Daten in den Speicher 2, das im einzelnen in Fig. 3 dargestellt ist, durchgeführt.

Nach dem Abschluß der Progammierung bei Programmpunkt 29 wird nach Programmpunkt 30 verzweigt. Bei Programmpunkt 30 wird eine zweite Kontrollsumme über die im ersten Speicher 2 neu einprogrammierten Daten berechnet. Die zweite Kontrollsumme wird mit einer ersten Kontrollsumme, die bei Programmpunkt 29 in den ersten Speicher 2 eingelesen wurde, verglichen. Die erste Kontrollsumme ist vor dem Einschreiben der Daten in den ersten Speicher 2 über die bei Programmpunkt 29 neu in den ersten Speicher 2 einzuschreibenden Daten gebildet worden. Ergibt der Vergleich, daß die erste und die zweite Kontrollsumme nicht übereinstimmen, wodurch ein Fehler beim Einschreiben der Daten in den ersten Speicher 2 angezeigt wird, so wird nach Programmpunkt 20 zurückverzweigt.

Bei einer bevorzugten Ausführung des Verfahrens wird der gesamte Inhalt des ersten Speichers 2 vor dem Sprung nach Programmpunkt 20 gelöscht, wenn die erste und die zweite Kontrollsumme nicht übereinstimmen.

Das Steuergerät 1 geht bei einer fehlerhaften Programmierung des ersten Speichers 2 nicht einen Steuerbetrieb 31 über.

Ergibt die Abfrage bei Programmpunkt 30, daß die erste und die zweite Kontrollsumme übereinstimmen, so wird anschließend nach Programmpunkt 31 verzweigt, bei dem das Steuergerät 1 in einen Steuerbetrieb übergeht und die neu eingeschriebenen Daten für Steuerungsverfahren verwendet werden.

Anhand der Fig. 3 wird im folgenden das Einschreiben der Daten in den ersten Speicher 2 des Steuergerätes 1, d. h. der Programmpunkt 29 der Fig. 2, beschrieben. Bei Programmpunkt 261 werden vom Steuergerät 1 Daten wie z. B. Werte, Konstanten, Variablen, Kennfelder, Kennlinien, Programmteile, Programme usw. über die Schnittstelle von der Ein-/Ausgabeeinheit 7 empfangen. Anschließend wird bei Programmpunkt 262 überprüft, ob die Daten entsprechend einem vorgegebenen Zeittakt und entsprechend einem vorgegebenen Format empfangen werden. Ist dies nicht der Fall, so wird nach Programmpunkt 272 verzweigt. Bei Programmpunkt 272 wird vom Steuergerät 1 eine Kennung über die Ein-/Ausgabegeeinheit 7 ausgegeben, die anzeigt, daß die Datenübertragung fehlerhaft ist. Anschließend wird nach Programmpunkt 31 verzweigt.

Ergibt die Abfrage bei Programmpunkt 262, daß die Datenübertragung zwischen dem Steuergerät 1 und der Ein-/Ausgabeeinheit 7 ordnungsgemäß verläuft, so wird nach Programmpunkt 263 verzweigt. Bei Programmpunkt 263 wird überprüft, ob eine Sperrzeit abgelegt ist. Eine Sperrzeit wird dann im zweiten Speicher 2 abgelegt, wenn mit einem falschen Sicherheitssignal versucht wird, Zugriff auf den ersten Speicher 2 zu bekommen. Die Sperrzeit ist entsprechend den Gegebenheiten zu wählen und beträgt vorzugsweise 30 Minuten, in denen ein Zugriff auf den ersten Speicher 2 gesperrt ist.

Ergibt die Abfrage bei Programmpunkt 263, daß eine Sperrzeit vorliegt, so wird nach Programmpunkt 31 verzweigt. Ist keine Sperrzeit im zweiten Speicher 3 vermerkt, so wird anschließend bei Programmpunkt 264 von der Ein-/Ausgabeeinheit 7 eine erste Kontrollsumme übertragen, die über die Daten gebildet wurde, die in den ersten Speicher 2 des Steuergerätes 1 neu einprogrammiert werden sollen. Die erste Kontrollsumme wird von der Ein-/Ausgabeeinheit 7 ermittelt. Die erste Kontrollsumme wird im zweiten Speicher 3 abgelegt.

Als nächstes wird bei Programmpunkt 265 das Sicherheitssignal von der Ein-/Ausgabeeinheit 7 an das Steuergerät 1 übertragen. Daraufhin überprüft das Steuergerät 1, das Sicherheitssignal mit einem im zweiten Speicher 3 abgelegten Bezugssignal übereinstimmt. Das Bezugssignal besteht aus einer vorgegebenen Anzahl von Datenbits und weist vorzugsweise mindestens 32 Bits auf.

Weist der erste Speicher 2 einen Bereich auf, der nicht lösch-, nicht beschreib- und nicht lesbar ist, so kann das Bezugssignal auch in diesem Bereich des ersten Speichers 2 abgelegt sein.

Ergibt der Vergleich bei Programmpunkt 266, daß das Sicherheitssignal und das Bezugssignal nicht übereinstimmen, so wird bei Programmpunkt 268 von dem Steuergerät 1 an die Ein- /Ausgabegeeinheit 7 die Information übertragen, erneut ein Sicherheitssignal einzugeben. Bei Programmpunkt 269 werden das erneut eingegebene Sicherheitssignal und das Bezugssignal miteinander verglichen. Ergibt der Vergleich, daß das Sicherheitssignal und das Bezugssignal wieder nicht übereinstimmen, so wird beim folgenden Programmpunkt 271 eine Sperrzeit, vorzugsweise 30 Minuten, im zweiten Speicher 3 oder in einem nicht lösch- und nicht beschreibaren Bereich des ersten Speichers 2 abgelegt. Daraufhin wird nach Programmpunkt 31 verzweigt.

Ergibt der Vergleich der Sicherheitscodes bei Programmpunkt 269, daß das erneut eingegebene Sicherheitssignal und das Bezugssignal übereinstimmen, so wird nach Programmpunkt 267 verzweigt.

Ergibt der Vergleich bei Programmpunkt 266, daß das Sicherheitssignal und das Bezugssignal übereinstimmen, so wird nach Programmpunkt 267 verzweigt.

Bei Programmpunkt 267 wird der Ein-/Ausgabeeinheit 7 ein Zugriff auf den ersten Speicher 2 erlaubt. Die Ein-/Ausgabeeinheit 7 führt eine Programmierung des ersten Speichers 2 oder eine Programmierung von Teilen des ersten Speichers 2 durch. Bei der Programmierung des ersten Speichers 2 werden Daten, insbesondere Parameter, Variablen, Konstanten, Kennfeldern oder Teilen von Steuerprogrammen oder gesamten Steuerprogrammen usw. in den ersten Speicher 2 eingeschrieben.

In einer bevorzugten Ausführung der Erfindung ist ein Programm zur Programmierung des ersten Speichers 2 in einem nicht lösch- und nicht beschreibbaren Bereich des ersten Speichers 2 oder in einem nicht lösch- und nicht beschreibbaren zweiten Speicher 3 abgelegt. Die Ein-/Ausgabeeinheit 7 gibt dem Programm zur Programmierung des ersten Speichers 2 nur einen Steuerbefehl und das Programm zur Programmierung des ersten Speichers 2 führt die Programmierung des ersten Speichers 2 selbständig durch, wobei die neu einzuprogrammierenden Daten von der Ein-/Ausgabeeinheit 7 zur Verfügung gestellt werden.

In einem besonderen Ausführungsbeispiel, bei dem auch das Programm zur Programmierung im zweiten Speicher 3 abgelegt ist, wird immer zuerst der gesamte Inhalt des ersten Speichers 2 gelöscht und anschließend die neuen Daten in den ersten Speicher 2 eingeschrieben.

Nach dem Abschluß der Programmierung des ersten Speichers 2 wird nach Programmpunkt 30 (Fig. 2) zurückverzweigt.

Der erste Speicher 2 ist vorzugsweise als Flash-Speicher, insbesondere als Flash-EPROM oder E2PROM ausgebildet.

Im zweiten Speicher 3 oder in einem nicht löschbaren Bereich des ersten Speichers 2 ist ein Programm abgelegt, das die Sperrzeit abbaut. Die Sperrzeit wird z. B. in Form einer Zahl festgelegt, die nach der Eintragung der Sperrzeit entsprechend einem vorgegebenen Zeittakt dekrementiert wird und bei dem Wert 0 eine Eingabe des Sicherheitssignals wieder möglich ist.

Die Schnittstelle 6 ist vorzugsweise als serielle Schnittstelle ausgebildet. Der Datenaustausch zwischen dem Steuergerät 1 und der Ein-/Ausgabeeinheit 7 erfolgt in Form von Datenblöcken, wobei abwechselnd ein Datenblock von der Ein- /Ausgabeeinheit 7 und ein Datenblock von dem Steuergerät 1 gesendet wird. Ein Datenblock besteht maximal aus 256 Bytes. Der Austausch der Daten wird abgebrochen, wenn innerhalb einer vorgegebenen Zeitdauer, insbesondere innerhalb von 3 Sekunden keine Daten ausgetauscht werden. Nach Abbruch des Datenaustausches wird nach Programmpunkt 20 zurückverzweigt.

Fig. 4 zeigt in Abhängigkeit von der Zeit den Aufbau des Datenaustausches zwischen der Ein-/Ausgabeeinheit 7 und dem Steuergerät 1. Die Ein-/Ausgabegeeinheit 7 sendet vorzugsweise schon vor dem Einschalten des Steuergerätes 1 das Startsignal A, das vorzugsweise ein Byte A mit einem Startbit darstellt, das dem Hexadezimalwert FAH entspricht: Startbit, 0, 1, 0, 1, 1, 1, 1, 1, Schlußbit. Die Bits werden in zeitlicher Reihenfolge von links nach rechts ausgesendet. Die Zeitachse t verläuft deshalb von links nach rechts. Die Ein-/Ausgabeeinheit 7 sendet das Startsignal A solange, bis von dem Steuergerät 1 das Antwortsignal B zurückgesendet wird. Das Antwortsignal B besteht in dem folgenden Beispiel aus einem Byte B, das dem Hexadezimalcode AAH, d. h. der Bitfolge: Startbit, 0, 1, 0, 1, 0, 1, 0, 1, Schlußbit entspricht. Das Byte B wird von dem Steuergerät 1 dadurch gebildet, daß die von der Ein-/Ausgabeeinheit 7 gesendeten rezessiven Bits(High-Pegel) vier und sechs des Startsignals A, die in Fig. 4 zwischen den Zahlen 3 und 4 bzw. 5 und 6 angeordnet sind, mit jeweils einem dominanten Bit (Low-Pegel) überschrieben werden.

Nach dem Erhalt des Antwortsignals B sendet die Ein-/Ausgabeeinheit 7 das Bestätigungssignal C, das aus einem Byte C besteht, das dem Hexadezimalwert 55 H entspricht, d. h. dessen Bits im Vergleich zum Antwortsignal B invertiert sind: Startbit, 1, 0, 1, 0, 1, 0, 1, 0, Schlußbit.

Die Übertragung des Startsignals A und des Bestätigungssignals C wird von der Ein-/Ausgabeeinheit 7 mit einer Bitrate von 9600 Bits pro Sekunde durchgeführt. Das Steuergerät 1 muß innerhalb des vorgegebenen Testintervalls, vorzugsweise innerhalb von 10 ms, das Startsignal A und das Bestätigungssignal C empfangen. Ist dies nicht der Fall, so wird vom Steuergerät 1 der Datenaustausch mit der Ein-/Ausgabeeinheit 7 abgebrochen.

In Fig. 4 sind über den Bits der einzelnen Bytes die Kennungen für das Startbit 5 und für das Schlußbit s und die Nummern der Bits von 0 bis 7 angegeben.

Dadurch, daß das Steuergerät 1 bei der Erzeugung des Antwortsignals B aus dem Startsignal A rezessive Bits in dominante Bits umwandelt, wird sichergestellt, daß die Ein-/Ausgabeeinheit 7 das Antwortsignal B sicher erkennt, da sich die dominanten Bits gegenüber den rezessiven Bits durchsetzen. Durch dieses Verfahren wird erreicht, daß die Ein-/Ausgabeeinheit 7 die Startsignale A hintereinander ohne Pause senden kann, da das Antwortsignal B des Steuergerätes 1 durch ein Gegenlesen des Startsignals A erhalten wird. Dadurch wird die Zeitdauer, innerhalb der die Steuereinheit 1 das Bestätigungssignal C empfangen kann, vorteilhaft minimiert.

Bei einem anderen Verfahren, bei dem kein Gegenlesen und Überschreiben der rezessiven Bits erfolgt, müßte nach jedem Startsignal A eine Wartezeit für den Empfang des Antwortsignals B abgewartet werden, da eine Eindrahtleitung 12 verwendet wird.

Die Erfindung beschreibt ein Verfahren, das ein Steuergerät 1 mit einer Recheneinheit, insbesondere einen Speicher des Steuergerätes 1 vor einer unberechtigten Programmierung schützt. Die Berechtigung zur Programmierung des Steuergerätes wird dadurch überprüft, daß innerhalb eines vorgegebenen Testintervalls ein Startsignal A von dem Steuergerät 1 empfangen wird, daraufhin ein Antwortsignal B von dem Steuergerät 1 abgegeben wird und anschließend ein Bestätigungssignal C empfangen wird. Ist dies nicht der Fall, so wird der Datenaustausch zwischen dem Steuergerät 1 und der Ein-/Ausgabeeinheit 7 abgebrochen. Zudem wird durch die Überprüfung eines Sicherheitssignals die Berechtigung zum Zugriff auf das Steuergerät, insbesondere auf den ersten Speicher überprüft, bevor Daten neu in das Steuergerät, insbesondere in den ersten Speicher 2 des Steuergerätes 1 eingeschrieben werden.


Anspruch[de]
  1. 1. Verfahren zum Einschreiben von Daten in einen ersten Speicher (2) eines Steuergerätes (1), das eine Schnittstelle (6) aufweist, mit folgenden Programmschritten:
    1. 1. es wird ein Testintervall vorgegebener Zeitlänge gestartet,
    2. 2. über die Schnittstelle (6) wird dem Steuergerät (1) ein Startsignal (A) zugeführt,
    3. 3. vom Steuergerät (1) wird nach Erhalt des Startsignals (A) ein Antwortsignal (B) über die Schnittstelle (6) abgegeben,
    4. 4. dem Steuergerät (1) wird über die Schnittstelle (6) ein Bestätigungssignal (C) zugeführt,
    5. 5. vom Steuergerät (1) wird die Signalein- und die Signalausgabe über die Schnittstelle (6) abgebrochen, wenn das Bestätigungssignal (C) nicht innerhalb des Testintervalls, insbesondere innerhalb von 10 ms nach dem Start des Testintervalls, empfangen wird,
    6. 6. dem Steuergerät (1) wird ein codiertes Sicherheitssignal über die Schnittstelle (6) zugeführt, wenn die Signalein- und die Signalausgabe nicht abgebrochen wird,
    7. 7. vom Steuergerät (1) wird das codierte Sicherheitssignal mit einem abgespeicherten Bezugssignal verglichen und ein Einschreiben von Daten in den ersten Speicher (2) freigegeben, wenn das codierte Sicherheitssignal gleich dem Bezugssignal ist,
    8. 8. vom Steuergerät (1) wird nach dem Vergleich des Sicherheitssignals mit dem Bezugssignal eine Sperrzeit festgelegt, wenn das codierte Sicherheitssignal nicht gleich dem Bezugssignal ist, wobei während der Sperrzeit ein Einschreiben von Daten in den ersten Speicher (2) gesperrt ist, wobei
    9. 9. das Bezugssignal in einem zweiten Speicher (3) abgelegt ist, und
    10. 10. vor dem Einschreiben von Daten in den ersten Speicher (2) der gesamte Inhalt des ersten Speichers (2) gelöscht wird.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
    1. 1. daß das Steuergerät (1) in einen Steuerbetrieb übergeht, in dem Steuerprogramme vom Steuergerät (1) ausgeführt werden, wenn nicht innerhalb des Testintervalls das Bestätigungssignal (C) empfangen wird, und
    2. 2. daß während des Steuerbetriebes ein Einschreiben von Daten in den ersten Speicher (2) gesperrt ist.
  3. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
    1. 1. daß im zweiten Speicher (3) ein Programmierprogramm abgelegt ist,
    2. 2. daß von dem Programmierprogramm nach dem Erkennen eines Steuersignals das Einschreiben der Daten in den ersten Speicher (2) durchgeführt wird, und
    3. 3. daß die Daten über die Schnittstelle (6) eingelesen werden.
  4. 4. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
    1. 1. daß vor dem Einschreiben der Daten in den ersten Speicher (2) eine erste Kontrollsumme über die in den ersten Speicher (2) neu einzuschreibenden Daten gebildet wird,
    2. 2. daß die erste Kontrollsumme in den ersten oder in den zweiten Speicher (2, 3) abgelegt wird,
    3. 3. daß nach dem Einschreiben der Daten in den zweiten Speicher (2) eine zweite Kontrollsumme über die in den zweiten Speicher (2) eingeschriebenen Daten gebildet wird,
    4. 4. daß die erste und die zweite Kontrollsumme miteinander verglichen werden, und
    5. 5. daß das Steuergerät (1) nicht in einen Steuerbetrieb übergeht, wenn die erste und die zweite Kontrollsumme verschieden sind.
  5. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
    1. 1. daß eine Fehlerkennung über die Schnittstelle (6) abgegeben wird, wenn die erste und die zweite Kontrollsumme verschieden sind.
  6. 6. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
    1. 1. daß der Inhalt des ersten Speichers (2) gelöscht wird, wenn die erste und die zweite Kontrollsumme verschieden sind.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com