DE102006059632A1 - Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations - Google Patents

Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations Download PDF

Info

Publication number
DE102006059632A1
DE102006059632A1 DE200610059632 DE102006059632A DE102006059632A1 DE 102006059632 A1 DE102006059632 A1 DE 102006059632A1 DE 200610059632 DE200610059632 DE 200610059632 DE 102006059632 A DE102006059632 A DE 102006059632A DE 102006059632 A1 DE102006059632 A1 DE 102006059632A1
Authority
DE
Germany
Prior art keywords
eol
control unit
eol1
areas
eoln
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
DE200610059632
Other languages
German (de)
Inventor
Rocco Gonzalez Vaz
Klaus Schwarze
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 DE200610059632 priority Critical patent/DE102006059632A1/en
Priority to ITMI20072272 priority patent/ITMI20072272A1/en
Publication of DE102006059632A1 publication Critical patent/DE102006059632A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23214Checksum CRC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Circuits Of Receivers In General (AREA)
  • Programmable Controllers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The method involves storing a control unit dataset (DS) in a control unit, where DS is partitioned into end of line (EOL)-areas (EOL1-EOLn), which are released in response to a program request for alterations. Checksums (C1-Cn) are formed and stored over each EOL area of the DS, which is readout, changed and stored again on a place of the actual DS. Another checksums are formed over each EOL area of a changed dataset, where the checksum is compared with the stored checksum of the respective EOL area of the actual DS. An independent claim is also included for a control unit with an administrative unit for a memory to receive a control unit dataset.

Description

Stand der TechnikState of the art

Die vorliegende Erfindung betrifft ein Verfahren zur Programmierung eines Steuergeräts nach Anspruch 1 und ein dazu geeignetes Steuergerät nach Anspruch 11.The The present invention relates to a method of programming a control unit according to claim 1 and a suitable controller according to claim 11th

Die Herstellung von Fahrzeugen bei OEMs (Original Equipment Manufacturer) basiert heutzutage auf komplexen Fertigungslinien, die von der Motorenfertigung bis zu den Flottenanwendungen reichen.The Manufacture of vehicles at OEMs (Original Equipment Manufacturer) Today it is based on complex production lines, that of engine production extend to the fleet applications.

Die 1 zeigt eine Kette von Fertigungslinien L1...L5, die über ein gemeinsames Netzwerk N verwaltet werden, mit einem Datenbankserver DBS (DataBase Server) zum Erkennen einer Fahrzeugkonfiguration, und weiteren Rechnern CDC (Calibration and Diagnosis Computer) zur Kalibrierung und Diagnose von Steuergeräten. Zu produzierende Fahrzeuge werden dabei in jeder Linie L1...L5 über Sensoren S identifiziert und deren jeweilige Ausstattung am Server DBS erfragt, eine entsprechende Diagnose und Kalibrierung zugehöriger Steuergeräte-Datensätze an den Rechnern CDC vorgenommen, die wiederum über eine EOL-Programmierstation PD (Programming Device) in den Steuergeräten hinterlegt werden. Diese EOL(End of Line)-Programmierung, dh die Programmierung der Steuergeräte am Ende einer jeweiligen Fertigungslinie L1...L5 wird dazu benutzt, um zB in Linie L1 und L2 die Eigenschaften von Motoren abzugleichen, deren Verhalten auf Grund mechanischer Toleranzen von dem typgleicher Maschinen abweicht. Der Fahrwerksausrüster kann darüber hinaus in Linie 2 eine Anpassung an unterschiedliche Chassistypen vornehmen, in denen zB jeweils anderer Sensoren, Aktuatoren usw verbaut sind. Beim Aufbauausrüster in Linie 4 werden dann möglicherweise weitere Anpassungen an unterschiedliche Fahrzeugtypen, zB Lastwagen, Bus, Betonpumpen, Kräne usw vorgenommen. In Linie 5 können schließlich im Umfang der Flottenanwendung für den Endkunden reservierte Werte, zB eine Höchstgeschwindigkeitsbegrenzung, ein Drehzahlsollwert usw eingestellt werden. Die Anpassungen der Steuergeräte in den Fertigungslinien L1...L5 werden dabei EOL-Leveln EOL1...EOLn zugeordnet, die gleichzeitig Bereiche eines Datensatzes bilden.The 1 shows a chain of production lines L1 ... L5, which are managed via a common network N, with a database server DBS (Data Base Server) for detecting a vehicle configuration, and other computers CDC (Calibration and Diagnosis Computer) for calibration and diagnosis of ECUs. In this case, vehicles to be produced are identified in each line L1... L5 via sensors S and their respective equipment is queried on the server DBS, a corresponding diagnosis and calibration of associated control unit data records is carried out on the computers CDC, which in turn are transmitted via an EOL programming station PD (FIG. Programming Device) are stored in the control units. This EOL (End of Line) programming, ie the programming of the control units at the end of a respective production line L1 ... L5 is used, for example, in line L1 and L2 to match the characteristics of motors whose behavior due to mechanical tolerances of the deviates from machines of the same type. The chassis supplier can also make an adjustment to different types of chassis in line 2, in which, for example, each other sensors, actuators, etc. are installed. The bodybuilder on line 4 may then make further adjustments to different types of vehicles, such as trucks, buses, concrete pumps, cranes, etc. Finally, in line 5, values reserved for the end customer, for example a maximum speed limit, a speed setpoint, etc., can be set in the scope of the fleet application. The adjustments of the control units in the production lines L1... L5 are assigned to EOL levels EOL1... EOLn, which simultaneously form areas of a data record.

Die 2 zeigt den Speicher SE (Storage ECU) eines Steuergeräts ECU (Electronic Control Unit), mit einem darin hinterlegten Steuergeräte-Datensatz DS (DataSet), der entsprechende EOL-Bereiche EOL1...EOLn für die genannten EOL-Level umfasst. Der ändernde Zugriff auf die Daten des Speichers SE kann über das EOL-Protokoll kwp2000 zB via serieller Leitung oder CAN(Controller Area Network)-Bus von der externen Programmierstation PD aus erfolgen. Dabei besteht in diesem Fall eine Zugriffshierarchie, die zB bei einer Berechtigung für den Bereich EOL3 auch eine Berechtigung für den Bereich EOL4 vorsieht, dh der Aufbauausrüster kann auch auf die Einstellungen des Endkunden zugreifen.The 2 shows the memory SE (storage ECU) of an ECU (Electronic Control Unit), with a stored therein control unit data set DS (DataSet), the corresponding EOL ranges EOL1 ... EOLn for said EOL level comprises. The changing access to the data of the memory SE can be done via the EOL protocol kwp2000 eg via serial line or CAN (Controller Area Network) bus from the external programming station PD. In this case, there is an access hierarchy which, for example, also provides authorization for the area EOL4 in the case of an authorization for the area EOL3, ie the body builder can also access the settings of the end customer.

Üblicherweise wird der Datensatz DS dabei in einem nichtflüchtigen Speicher, einem sogenannten Flash-Speicher gehalten. Inhalte dieses Speichertyps lassen sich im Gegensatz zu einem RAM-Baustein allerdings nur Segmentweise ändern, dh löschen oder aktualisieren. Das bedeutet, dass der Inhalt nicht betroffener Zellen eines Segments an anderer Stelle zwischengespeichert werden muss, um einem potentiellen Datenverlust zB durch Stromausfall während eines ändernden Zugriffs vorzubeugen. Eine andere Möglichkeit besteht darin, ein sogenanntes Copy-Page durchzuführen. Dies erfordert jedoch wenigstens zwei Flash-Segmente, wobei eines als aktive Page für Prozessorzugriffe dient, während die andere als Spiegel der ersten dient.Usually the data set DS is stored in a non-volatile memory, a so-called Flash memory kept. Contents of this memory type can be in contrast to a RAM block, however, only change segmentwise, ie Clear or update. This means that the content is not affected Cells of a segment are cached elsewhere must be in order to avoid a potential loss of data eg due to power failure during a change Prevent access. Another possibility is a so-called Copy-page. However, this requires at least two flash segments, with one as active page for Processor access serves while the other serves as a mirror of the first.

Die deutsche Offenlegungsschrift DE 103 17 465 offenbart ein Verfahren zum Aktualisieren eines Speicherbausteins mit einer Vektortabelle, die eine Verknüpfung von aktuellen und zugehörigen nicht mehr aktuellen Datensätzen erlaubt, um eine Speicherreserve zu minimieren.The German patent application DE 103 17 465 discloses a method for updating a memory device with a vector table that allows a combination of current and associated out of date data sets to minimize memory overhead.

Die deutsche Offenlegungsschrift DE 198 39 680 offenbart ein Verfahren zum Verändern des Speicherinhalts von Steuergeräten, bei dem vor jeder Datenänderung eine jeweilige Sicherungskopie in einem zweiten Speicher angelegt wird, der neben einem ersten Speicher vorgesehen ist.The German patent application DE 198 39 680 discloses a method for modifying the memory contents of controllers, wherein before each data change, a respective backup copy is applied in a second memory provided adjacent to a first memory.

Allen vorstehend beschriebenen, Konzepten ist allerdings gemeinsam, dass sie eine Reserve an freiem Speicher wenigstens in der Größe eines Flash-Segments erfordern.all However, the concepts described above are common in that It reserves a spare of free memory at least the size of a flash segment require.

Offenbarung der ErfindungDisclosure of the invention

Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren zur Programmierung eines Steuergeräts zur Verfügung zu stellen, das eine effiziente Speichernutzung auf sichere, einfache und kostengünstige Art zulässt. Es ist auch Aufgabe der vorliegenden Erfindung, ein dazu geeignetes Steuergerät zur Verfügung zu stellen.It It is an object of the present invention to provide a method for programming a control unit to disposal to put that efficient memory usage to safe, easy and cost-effective Kind allows. It is also an object of the present invention to provide a suitable one Control unit for disposal to deliver.

Diese Aufgabe wird durch ein Verfahren gelöst, bei dem in Ansprechen auf eine Programmieranforderung EOL-Bereiche eines Steuergeräte-Datensatzes zum Ändern freigegeben werden, über jeden EOL-Bereich des Datensatzes eine Prüfsumme gebildet und abgespeichert wird, der Datensatz ausgelesen, geändert und an Stelle des ursprünglichen Datensatzes wieder abgespeichert wird, über jeden EOL-Bereich des geänderten Datensatzes eine Prüfsumme gebildet wird, die mit der gespeicherten Prüfsumme des jeweiligen EOL-Bereichs des ursprünglichen Datensatzes verglichen wird, und eine EOL-OK-Meldung ausgegeben wird, wenn die jeweiligen Prüfsummen von wenigstens einem der freigegebenen EOL-Bereiche ungleich, ansonsten aber die jeweiligen Prüfsummen aller verbleibenden EOL-Bereiche gleich sind.This object is achieved by a method in which, in response to a programming request, EOL areas of a control unit data record are released for modification, a checksum is formed and stored over each EOL area of the data record, the data record is read out, changed and replaced the original data record, a check is made on each EOL area of the changed data set sum is compared with the stored checksum of the respective EOL area of the original record, and an EOL OK message is output if the respective checksums of at least one of the shared EOL areas are unequal, but otherwise the respective checksums of all remaining EOL areas are the same.

Ein wesentlicher Punkt der Erfindung besteht dabei darin, dass zum Absichern einer erfolgreichen EOL-Programmierung des Steuergeräts nicht mehr der gesamte ursprüngliche Datensatz, sondern lediglich Prüfsummen dieser Daten im Steuergerät gehalten werden müssen. Der Datensatz selbst wird dabei in einem externen Programmiergerät zwischengespeichert und dort geändert. Dadurch entsteht zunächst der entscheidende Vorteil, dass eine im Stand der Technik noch notwendige Copy-Page entfällt, dh der üblicherweise erforderliche Datenspeicher eines Steuergeräts auf die Hälfte reduziert werden kann. Da kleinere Flash-Bausteine verwendet werden können, geht eine solche Halbierung direkt mit einer entsprechenden Kostensenkung im Speicherbereich einher. Durch das Zwischenspeichern der Daten in einem externen Gerät ist zudem ein (Total-)Datenverlust ausgeschlossen, der zB durch einen Stromausfall während des Programmierens hervorgerufen sein könnte. Das Prüfsummenkonzept erlaubt dabei nicht nur ein zuverlässiges Erkennen von Informationsverlusten zB durch Bitkipper, sondern auch eine Angabe dahingehend, welche EOL-Bereiche geändert werden dürfen. Das erfindungsgemäße Verfahren lässt damit eine effiziente Speichernutzung auf gleichsam sichere, einfache und kostengünstige Art zu. Die zeitlichen Vorteile einer EOL-Programmierung gegenüber einer reinen Flash-Programmierung bleiben dabei erhalten.One essential point of the invention is that for hedging a successful EOL programming the controller not more the entire original Data record, but only checksums this data in the control unit must be kept. The data record itself is buffered in an external programming device and changed there. This initially creates the decisive advantage that a still necessary in the prior art Copy-page is omitted, ie the usual required data memory of a controller reduced to half can be. Since smaller flash devices can be used, it works such a halving directly with a corresponding cost reduction in the storage area. By caching the data in an external device In addition, a (total) data loss is excluded, for example by a power failure during of programming. The checksum concept not only allows a reliable detection of information losses eg by Bitkipper, but also an indication as to which EOL areas are changed allowed to. The inventive method lets it go an efficient memory usage in a way safe, simple and cost-effective Kind too. The temporal benefits of EOL programming over one Pure flash programming is retained.

Bevorzugte Weiterbildungen des erfindungsgemäßen Verfahrens sind in den Unteransprüchen 2 bis 10 angegeben.preferred Further developments of the method according to the invention are in the dependent claims 2 to 10 indicated.

Danach ist es in einer vorteilhaften Ausführungsform vorgesehen, dass eine EOL-FAILED-Meldung ausgegeben wird, wenn die jeweiligen Prüfsummen von wenigstens einem der gesperrten EOL-Bereiche ungleich sind. Damit ist eine besonders einfache und schneller Erkennung möglich, ob zB Daten beschädigt wurden oder verloren gingen, oder ob das Berechtigungskonzept verletzt wurde. Bevorzugt ist es dabei, wenn im Fall der EOL-FAILED-Meldung Funktionen des Steuergeräts gesperrt werden, bei einem Motorsteuergerät zB die Kraftstoffeinspritzung.After that it is provided in an advantageous embodiment that an EOL-FAILED message is issued when the respective checksums of at least one of the locked EOL areas are unequal. For a particularly simple and quick detection is possible, for example Data corrupted were lost or lost, or whether the authorization concept violated has been. It is preferred if, in the case of the EOL-FAILED message Functions of the control unit blocked be with an engine control unit eg the fuel injection.

In einer besonders bevorzugten Ausführungsform des Verfahrens ist es vorgesehen, dass eine Berechtigung festgestellt wird, welche EOL-Bereiche geändert werden dürfen. Ein solches Berechtigungskonzept kann zB darauf beruhen, dass aus einer von dem Steuergerät erzeugten Zufallszahl (random seed) in einem externen Programmiergerät ein Schlüssel errechnet wird, der wiederum mit einem auf gleiche Art berechneten Schlüssel des Steuergeräts übereinstimmen muss, um den Datenzugriff auf bestimmte EOL-Bereiche zu erlauben. Dies lässt zB den gezielten Ausschluss von Änderungen im Datensatz zu, die nur dem Hersteller eines Steuergeräts vorbehalten sein sollen, womit unerlaubte Manipulationen der Steuergeräte zB beim Endkunden unterbunden sind. Bevorzugt ist es dabei, wenn das Konzept eine besonders feine Aufschlüsselung vorsieht, dh auch Angaben darüber enthält, in welchem Umfang einzelne EOL-Bereiche zB für Fahrwerksausrüster geändert werden dürfen. Dadurch werden zB landesspezifisch andere Zugriffsrechte auf den gleichen EOL-Bereich möglich. Um unerlaubte Manipulationen an einem Steuergerät möglichst frühzeitig zu blockieren, wird die Berechtigung vorzugsweise schon in Ansprechen des Geräts auf die Programmieranforderung festgestellt. Zudem können Berechtigungen für unterschiedliche Anwender wie auch Prüfsummen in dem Steuergerät abgespeichert werden, zB ab Werk. Der Datensatz des Steuergeräts kann des weiteren beim Auslesen und Zurückspeichern verschlüsselt werden.In a particularly preferred embodiment of the procedure it is provided that an authorization is established will change which EOL ranges be allowed to. Such an authorization concept can for example be based on that one of the controller generated random number in an external programmer a key calculated which, in turn, is charged with a key of the same kind Match the controller need to allow data access to certain EOL areas. This leaves eg the targeted exclusion of changes in the record too, which reserved only the manufacturer of a control unit should be, with which unauthorized manipulations of the control devices eg when End customers are prevented. It is preferred if the concept a particularly fine breakdown provides, ie also information about it contains to what extent individual EOL areas eg for chassis equipment changed be allowed to. This will, for example, country specific other access rights to the same EOL range possible. To block unauthorized manipulation of a control unit as early as possible, is the authorization preferably already in response of the device to the Programming request detected. In addition, permissions for different Users as well as checksums in the control unit be stored, eg ex works. The record of the controller can Furthermore, be encrypted when reading and restoring.

Zur einfachen und zuverlässigen Berechnung der Prüfsummen ist es von Vorteil, einen Hash-Algorithmus zu verwenden, da dieser darauf optimiert ist Kollisionen zu vermeiden.to simple and reliable Calculation of the checksums it is an advantage to use a hash algorithm because of this optimized to avoid collisions.

Bevorzugt werden die Prüfsummen auch zum Prüfen der Datenkonsistenz eines Steuergeräts herangezogen, um schon beim Hochlaufen die ordnungsgemäße Funktion seines Speichers festzustellen.Prefers become the checksums also for testing the data consistency of a control unit used to already at Ramp up the proper function of his store.

Die eingangs genannte Aufgabe wird auch durch ein Steuergerät gelöst, mit einer Verwaltungseinheit für einen Speicher zum Aufnehmen eines Steuergeräte-Datensatzes, der in EOL-Bereiche untergliedert ist, sowie für einen Speicher zum Aufnehmen von Prüfsummen dieser EOL-Bereiche, bei dem die Verwaltungseinheit zum Durchführen des erfindungsgemäßen Verfahrens angepasst ist.The The object mentioned above is also achieved by a control unit, with an administrative unit for a memory for recording a control unit data set in EOL areas is subdivided, as well as for a memory for taking checksums of these EOL areas, in which the administrative unit for carrying out the method according to the invention is adjusted.

Ein wesentlicher Punkt des erfindungsgemäßen Steuergeräts besteht darin, dass die Verwaltungseinheit für den Speicher ein Überprüfungs- und Berechtigungskonzept bietet, dass eine Reduzierung der Speicherkapazität mit den schon genannten Vorteilen zulässt. Die Verwaltungseinheit kann dabei ein Mikroprozessor mit dem darin verwirklichten Verfahren sein, oder sich auch aus dem Zusammenspiel einzelner Komponenten ergeben, zB einer Speichereinheit zum Aufnehmen eines Steuergeräte-Datensatzes, der in EOL-Bereiche untergliedert ist, einer Prüfsummeneinheit zum Berechnen einer Prüfsumme über einzelne EOL-Bereiche dieses Datensatzes, einer Kommunikationseinheit zum Übertragen und Empfangen des Datensatzes an ein externes Programmiergerät, und einer Vergleichseinheit zum Vergleichen von gespeicherten und neuen Prüfsummen.An essential point of the control device according to the invention is that the management unit for the memory offers a verification and authorization concept that allows a reduction of the storage capacity with the already mentioned advantages. The administrative unit can be a microprocessor with the method implemented therein, or can also result from the interaction of individual components, eg a memory unit for recording a control unit data record which is subdivided into EOL areas, a checksum unit for calculating a checksum via individual EOL areas of this data set, a communication unit for transmitting and receiving the data record to an external programming device, and a comparison unit for comparing stored and new checksums.

Bevorzugte Weiterbildungen des erfindungsgemäßen Steuergeräts sind in den Unteransprüchen 11 bis 14 angegeben.preferred Further developments of the control device according to the invention are in the subclaims 11 to 14 indicated.

Danach ist in einer vorteilhaften Ausführungsform vorgesehen, dass das Steuergerät mit einer Verschlüsselungseinheit zum Verschlüsseln bzw Entschlüsseln des Datensatzes ausgestattet ist, womit die Kommunikationsstrecke zwischen dem Steuergerät und einem externen Programmiergerät gegen unerlaubte Manipulationen abgesichert wird.After that is in an advantageous embodiment provided that the control unit with an encryption unit to encrypt or decrypting the data set is equipped with what the communication line between the controller and an external programmer against unauthorized manipulation is secured.

Bevorzugt ist es weiterhin, wenn eine Speichermaske vorgesehen ist, insbesondere von einem Byte Länge, die Berechtigungen kodiert, welche EOL-Bereiche geändert werden dürfen. Eine solche Maske lässt im einfachsten Fall die Adressierung von 8 EOL-Bereichen zu, was in der Praxis ausreichend ist. Anwendungsabhängig kann die Maske aber auch über eine Speicherlänge von einem Halb-Byte (Wort) gewählt werden, sollte sich dies als ausreichend erweisen.Prefers it is furthermore, if a memory mask is provided, in particular of one byte in length, the permissions encode which EOL ranges are changed allowed to. Such a mask leaves in the simplest case, the addressing of 8 EOL ranges to what is sufficient in practice. Depending on the application, however, the mask may also have a memory length chosen from a half-byte (word) should this prove sufficient.

Bei einem üblicherweise vorgesehenen Speicher von ungefähr 2MB, davon etwa 1 MB für Programmkode und zwei Mal 500 MB für Daten lassen sich erfindungsgemäß 500 MB einsparen. Besonders bevorzugt weist das Steuergerät deshalb eine Speicherkapazität von weniger als 1,5 MB auf.at one usually provided memory of about 2MB, of which about 1 MB for program code and two times 500 MB for Data can be inventively 500 MB save on. Therefore, the control unit particularly preferably has one memory of less than 1.5 MB.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Das erfindungsgemäße Verfahren wird im folgenden anhand eines Ausführungsbeispiels näher erläutert. Gleiche oder gleichwirkende Teile sind mit gleichen Bezugszeichen versehen. Es zeigen:The inventive method will be explained in more detail below with reference to an embodiment. Same or equivalent parts are provided with the same reference numerals. Show it:

1 eine Kette von Fertigungslinien, die über ein gemeinsames Netzwerk verwaltet werden, wobei den einzelnen Linien jeweilige EOL-Level zum Programmieren der Steuergeräte von Fahrzeugen zugeordnet sind; 1 a chain of production lines managed over a common network, each line being associated with respective EOL levels for programming the control units of vehicles;

2 den Speicher eines Steuergeräts mit einem darin hinterlegten Steuergeräte-Datensatz, wobei der Datensatz entsprechende EOL-Bereiche für die in 1 gezeigten EOL-Level umfasst, und 2 the memory of a controller with a stored therein control unit data record, wherein the record corresponding EOL ranges for in 1 includes EOL level shown, and

3A3G eine Schrittfolge des erfindungsgemäßen Verfahrens zur Programmierung eines Steuergeräts mit einem Speicher und einem darin hinterlegten Steuergeräte-Datensatz, der in EOL-Bereiche unterteilt ist. 3A - 3G a sequence of steps of the inventive method for programming a control device with a memory and a stored therein control device data set, which is divided into EOL areas.

Ausführungsformen der ErfindungEmbodiments of the invention

Die 1 zeigt eine Kette von Fertigungslinien L1...L5, die über ein gemeinsames Netzwerk N verwaltet werden, wobei den Linien L1...L5 jeweilige EOL-Level EOL1...EOL4 zum Programmieren der Steuergeräten von Fahrzeugen zugeordnet sind. Die grundsätzliche Funktionsweise eines solchen Systems mit Datenbankserver DBS sowie Kalibrierungs- und Diagnoserechnern CDC wurde schon einleitend beschrieben. Entscheidend ist, dass in den einzelnen Produktionsschritten die Steuergeräte jedes Fahrzeugs an die jeweils vorgesehene Konfiguration wie zB Baureihe, Variante, Sonderausstattung usw angepasst werden.The 1 shows a chain of production lines L1 ... L5, which are managed via a common network N, wherein the lines L1 ... L5 EOL levels EOL1 ... EOL4 are assigned to program the control units of vehicles. The basic operation of such a system with database server DBS and calibration and diagnostic computers CDC has already been described in the introduction. It is crucial that in the individual production steps, the control units of each vehicle are adapted to the intended configuration such as series, variant, special equipment, etc.

Die 2 zeigt den Speicher SE eines Steuergeräts ECU mit einem darin hinterlegten Steuergeräte-Datensatz DS, wobei der Datensatz entsprechende EOL-Bereiche EOL1...EOL4 für die in 1 gezeigten EOL-Level umfasst. Auch dieses System mit seiner Anbindung an ein externes Programmiergerät PD wurde schon eingangs erläutert.The 2 shows the memory SE of a control unit ECU with a stored therein control unit data set DS, wherein the record corresponding EOL areas EOL1 ... EOL4 for the in 1 includes shown EOL level. This system with its connection to an external programming device PD was already explained at the beginning.

Die 3A bis 3G zeigen eine Schrittfolge des erfindungsgemäßen Verfahrens zur Programmierung eines Steuergeräts mit einem Speicher SE (Storage ECU) und einem darin hinterlegten Steuergeräte-Datensatz DS, der in EOL-Bereiche EOL1...EOLn unterteilt ist.The 3A to 3G show a sequence of steps of the inventive method for programming a control device with a memory SE (Storage ECU) and a stored therein control device data set DS, which is divided into EOL areas EOL1 ... EOLn.

In dem Schritt der 3A wird zunächst über jeden EOL-Bereich EOL1...EOLn mit Hilfe einer Hash-Funktion H eine jeweilige Prüfsumme C1...Cn gebildet, die in einem Speicher SC (Storage Checksum) abgelegt. Im Schritt der 3B wird der Datensatz DS aus dem Speicher SE des Steuergeräts in den Speicher SP (Storage Programming device) übertragen, um dort an die Konfiguration des Fahrzeugs angepasst zu werden, wie dies aus den schwarz unterlegten Änderungen der Datenstruktur der 3C hervorgeht. Im Schritt der 3D wird der Speicher SE schließlich gelöscht, bevor der geänderte Datensatz DS' aus dem Speicher SP des externen Programmiergeräts in diesen zurückübertragen wird. Die Änderungen sind nun im Steuergerät präsent.In the step of 3A First, a respective checksum C1... Cn is formed via each EOL area EOL1... EOLn with the aid of a hash function H, which is stored in a memory SC (Storage Checksum). In the step of 3B the record DS is transferred from the memory SE of the controller into the memory SP (Storage Programming Device) to be adapted there to the configuration of the vehicle, as shown by the black highlighted changes in the data structure of the 3C evident. In the step of 3D Finally, the memory SE is deleted before the changed record DS 'is transferred back from the memory SP of the external programmer in this. The changes are now present in the control unit.

Für den Datensatz DS' wird nun in 3F – analog zu 3A – mit der Hash-Funktion H über jeden EOL-Bereich EOL1... EOLn eine Prüfsumme C1'...Cn' gebildet, die in einem Speicher SC' abgelegt und in 1G mit den jeweiligen ursprünglichen Prüfsummen C1...Cn verglichen wird. Änderungen eines EOL-Bereichs werden in diesem Beispiel mit einer logischen 1 angegeben, während keine Änderung mit einer logischen 0 angegeben wird. Vorliegend wurde dem gemäß der EOL-Bereich EOL1 im Datensatz DS geändert.For the record DS 'is now in 3F - analogous to 3A - With the hash function H over each EOL range EOL1 ... EOLn a checksum C1 '... Cn' formed, which are stored in a memory SC 'and in 1G is compared with the respective original checksums C1 ... Cn. Changes to an EOL range are given a logical 1 in this example, while no change is indicated with a logical 0 value. In the present case this has been changed in accordance with the EOL area EOL1 in the data set DS.

Dieses Ergebnis wird in einem Speicher RC (Result Checksum) abgelegt und über die Funktion UND mit den Werten einer Berechtigungsmaske AM (Authorization Mask) für jeden EOL-Bereich EOL1...EOLn verknüpft. Im vorliegenden Fall ist in der Maske AM ein freigegebener EOL-Bereich mit einer logischen 1 und ein gesperrter Bereich mit einer logischen 0 abgegeben, dh die Bereiche EOL1 (Hersteller) und EOL2 (Fahrwerkausrüster) waren für Anpassungen in den Fertigungslinien L1 bis L3 der 1 zugreifbar. Liefert die UND-Verknüpfung zwischen Ergebnis RC und Maske AM in den freigegebenen EOL-Bereichen eine logische 1, wie dies im Bereich EOL1 der Fall wäre, so kann von einer erfolgreichen und zulässigen Programmierung des Steuergeräts in diesem Bereich ausgegangen werden. Im Bereich EOL2 ist hier dagegen keine Änderung des Datensatzes DS erfolgt, womit hier die Verknüpfung von Ergebnis RC und Maske AM eine logische 0 liefert, die einen Fehler F (Fail) angibt. Damit ist das hier programmierte Steuergerät zwar zulässig, aber nicht erfolgreich angepasst worden. Dies führt hier zur Ausgabe einer EOL-FAILED-Meldung – im Gegensatz zu EOL-OK. Die Funktion des Steuergeräts kann in der Folge blockiert, dh zB eine Einspritzung gesperrt werden.This result is stored in a memory RC (Result Checksum) and linked via the function AND with the values of an authorization mask AM for each EOL area EOL1... EOLn. In the present case, a released EOL area with a logical 1 and a locked area with a logical 0 is output in the mask AM, ie the areas EOL1 (manufacturer) and EOL2 (chassis equipment supplier) were the adaptations in the production lines L1 to L3 1 accessible. If the AND operation between result RC and mask AM in the released EOL ranges supplies a logical 1, as would be the case in the range EOL1, a successful and permissible programming of the control unit in this range can be assumed. In the EOL2 area, on the other hand, there is no change in the data record DS, whereby here the combination of the result RC and the mask AM yields a logical 0 which indicates an error F (Fail). This means that the control unit programmed here is permissible, but has not been adapted successfully. This leads to the output of an EOL-FAILED message - in contrast to EOL-OK. The function of the controller can be blocked in the sequence, ie, for example, an injection locked.

Das Prüfsummenkonzept ermöglicht es dem gemäß einerseits den Programmiererfolg, und andererseits dessen Zulässigkeit zu überprüfen. Der entscheidende Vorteil dieses Konzepts besteht aber darin, dass es ohne zweifache Haltung des Datensatzes DS in dem Steuergerät auskommt, da eine Kontrolle der Daten über die Prüfsummen erfolgt. Das bedeutet, dass ein erheblicher Teil der Speicherkapazität entfällt, die bislang für eine Copy-Page vorgehalten werden musste. Da der Datensatz DS in einem externen Programmiergerät zur Verfügung steht, ist die Programmierung auch gegen eventuellen Datenverlust auf Seite des Steuergeräts abgesichert. Das erfindungsgemäße Verfahren lässt somit eine besonders effiziente und sichere Speichernutzung zu. Das Verfahren wie auch ein erfindungsgemäß gestaltetes Steuergerät sind einfach aufgebaut und zudem kostengünstig realisierbar, da Speicherbausteine mit geringeren Kapazitäten als üblich einsetzbar sind.The Prüfsummenkonzept allows it according to the one hand the success of programming, and on the other hand its permissibility to check. Of the But the decisive advantage of this concept is that it without two-way attitude of the data record DS in the control unit, as a control of the data over the checksums he follows. This means that a significant portion of the storage capacity is eliminated so far for a copy page had to be kept. Since the record DS in an external programmer to disposal is, the programming is also against any loss of data on the side of the controller hedged. The inventive method leaves so a particularly efficient and secure memory usage too. The procedure as well as an inventively designed control unit are simple built and also inexpensive feasible, since memory modules with lower capacities than usual can be used are.

Claims (14)

Verfahren zur Programmierung eines Steuergeräts, mit einem darin gespeicherten Steuergeräte-Datensatz (DS), der in EOL-Bereiche (EOL1...EOLn) untergliedert ist, bei dem in Ansprechen auf eine Programmieranforderung EOL-Bereiche zum Ändern freigegeben werden, über jeden EOL-Bereich (EOL1...EOLn) des Datensatzes (DS) eine Prüfsumme (C1...Cn) gebildet und abgespeichert wird, der Datensatz (DS) ausgelesen, geändert und an Stelle des ursprünglichen Datensatzes (DS) wieder abgespeichert wird, über jeden EOL-Bereich (EOL1...EOLn) des geänderten Datensatzes (DS') eine Prüfsumme (C1'...Cn') gebildet wird, die mit der gespeicherten Prüfsumme (C1...Cn) des jeweiligen EOL-Bereichs (EOL1...EOLn) des ursprünglichen Datensatzes (DS) verglichen wird, und eine EOL-OK-Meldung ausgegeben wird, wenn die jeweiligen Prüfsummen (C1...Cn; C1'...Cn') von wenigstens einem der freigegebenen EOL-Bereiche ungleich, ansonsten aber die jeweiligen Prüfsummen aller verbleibenden EOL-Bereiche gleich sind.Method for programming a control unit, with a control unit data set (DS) stored in EOL areas (EOL1 ... EOLn) is subdivided, in response to a programming request EOL areas are released for modification be over every EOL area (EOL1 ... EOLn) of the data set (DS) a checksum (C1 ... Cn) formed and is stored, the record (DS) is read, changed and in place of the original one Record (DS) is saved again, over each EOL area (EOL1 ... EOLn) of the changed Record (DS ') one checksum (C1 '... Cn') is formed, the with the stored checksum (C1 ... Cn) of the respective EOL range (EOL1 ... EOLn) of the original data record (DS) is compared, and an EOL OK message is issued when the respective checksums (C1 ... Cn; C1 '... Cn') of at least one of the shared EOL areas unequal, but otherwise the respective checksums of all remaining ones EOL ranges are the same. Verfahren nach Anspruch 1, bei dem eine EOL-FAILED-Meldung ausgegeben wird, wenn die jeweiligen Prüfsummen (C1...Cn; C1'...Cn') von wenigstens einem der gesperrten EOL-Bereiche ungleich sind.The method of claim 1, wherein an EOL-FAILED message is issued is when the respective checksums (C1 ... Cn; C1 '... Cn') of at least one of the locked EOL areas are unequal. Verfahren nach Anspruch 2, bei dem im Fall der EOL-FAILED-Meldung Funktionen des Steuergeräts gesperrt werden.The method of claim 2, wherein in the case of the EOL-FAILED message functions of the control unit be locked. Verfahren nach einem der vorstehenden Ansprüche, bei dem eine Berechtigung festgestellt wird, welche EOL-Bereiche (EOL1...EOLn) geändert werden dürfen.Method according to one of the preceding claims, in which authorization is determined which EOL areas (EOL1 ... EOLn) changed be allowed to. Verfahren nach Anspruch 4, bei dem zudem festgestellt wird, in welchem Umfang einzelne EOL-Bereiche (EOL1... EOLn) geändert werden dürfen.The method of claim 4, further comprising determining to what extent individual EOL areas (EOL1 ... EOLn) will be changed allowed to. Verfahren nach Anspruch 4 oder 5, bei dem die Berechtigung in Ansprechen auf die Programmieranforderung festgestellt wird.Method according to claim 4 or 5, wherein the authorization is determined in response to the programming request. Verfahren nach Anspruch 4 bis 6, bei dem Berechtigungen für unterschiedliche Anwender in dem Steuergerät abgespeichert werden.Method according to claims 4 to 6, wherein permissions for different User in the control unit be stored. Verfahren nach einem der vorstehenden Ansprüche, bei dem der Datensatz (DS) beim Auslesen und Zurückspeichern verschlüsselt wird.Method according to one of the preceding claims, in the data set (DS) is encrypted during read out and restore. Verfahren nach einem der vorstehenden Ansprüche, bei dem die Prüfsummen (C1...Cn; C1'...Cn') mit Hilfe eines Hash-Algorithmus (H) berechnet werden.Method according to one of the preceding claims, in the checksums (C1 ... Cn; C1 '... Cn') with the help of a Hash algorithm (H) are calculated. Verfahren nach einem der vorstehenden Ansprüche, bei dem zum Prüfen der Datenkonsistenz eines Steuergeräts die abgespeicherten Prüfsummen (C1...Cn; C1'...Cn') herangezogen werden.Method according to one of the preceding claims, in to the test the data consistency of a control unit, the stored checksums (C1 ... Cn; C1 '... Cn') are used. Steuergerät mit einer Verwaltungseinheit für einen Speicher (SE) zum Aufnehmen eines Steuergeräte-Datensatzes (DS), der in EOL-Bereiche (EOL1...EOLn) untergliedert ist, sowie für einen Speicher (SC) zum Aufnehmen von Prüfsummen (C1...Cn; C1'...Cn') dieser EOL-Bereiche (EOL1...EOLn), bei dem die Verwaltungseinheit zum Durchführen des Verfahrens nach einem der vorstehenden Ansprüche angepasst ist.Control unit with a memory management unit (SE) for recording a control unit data record (DS), which is subdivided into EOL areas (EOL1 ... EOLn), and for a memory (SC) for recording checksums (C1 .. .Cn; C1 '... Cn') of these EOL areas (EOL1 ... EOLn), where the administrative unit is responsible for the Carrying out the method according to one of the preceding claims adapted. Steuergerät nach Anspruch 11, mit einer Verschlüsselungseinheit zum Verschlüsseln bzw Entschlüsseln des Datensatzes (DS, DS').control unit according to claim 11, with an encryption unit for encrypting or encrypting decipher of the data set (DS, DS '). Steuergerät nach Anspruch 11 oder 12, mit einer Speichermaske (AM), insbesondere von einem Byte Länge, die Berechtigungen kodiert, welche EOL-Bereiche (EOL1... EOLn) geändert werden dürfen.control unit according to claim 11 or 12, with a memory mask (AM), in particular of a byte length that Permissions encodes which EOL ranges (EOL1 ... EOLn) are changed allowed to. Steuergerät nach einem der Ansprüche 10 bis 13, mit einer Speicherkapazität von weniger als 1,5 MB.control unit according to one of the claims 10 to 13, with a storage capacity of less than 1.5 MB.
DE200610059632 2006-12-14 2006-12-14 Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations Withdrawn DE102006059632A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200610059632 DE102006059632A1 (en) 2006-12-14 2006-12-14 Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations
ITMI20072272 ITMI20072272A1 (en) 2006-12-14 2007-12-04 PROCEDURE FOR PROGRAMMING A CONTROL UNIT AND ITS CONTROL UNIT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610059632 DE102006059632A1 (en) 2006-12-14 2006-12-14 Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations

Publications (1)

Publication Number Publication Date
DE102006059632A1 true DE102006059632A1 (en) 2008-06-19

Family

ID=39399768

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610059632 Withdrawn DE102006059632A1 (en) 2006-12-14 2006-12-14 Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations

Country Status (2)

Country Link
DE (1) DE102006059632A1 (en)
IT (1) ITMI20072272A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2130723A1 (en) * 2008-06-05 2009-12-09 Robert Bosch GmbH An electronic device capable of receiving data from a tester

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2130723A1 (en) * 2008-06-05 2009-12-09 Robert Bosch GmbH An electronic device capable of receiving data from a tester

Also Published As

Publication number Publication date
ITMI20072272A1 (en) 2008-06-15

Similar Documents

Publication Publication Date Title
EP0788946B1 (en) Method and apparatus for programming operational data into automotive parts
EP1616232A1 (en) Method for guaranteeing the integrity and authenticity of flashware for control devices
DE112017006980T5 (en) Control device, program updating method and computer program
DE2721599C2 (en) Circuit arrangement to prevent the output of data words from an EDP system without security verification
DE19839680B4 (en) Method and device for modifying the memory contents of control units
EP3531333A1 (en) Manipulation-proof storage of evidence data
DE60316490T2 (en) System for vehicle data
WO2018059964A1 (en) Method for the secured access of data of a vehicle
DE102006059632A1 (en) Method for programming control unit, involves storing control unit dataset in control unit, where dataset is partitioned into end of line areas, which are released in response to program request for alterations
EP1222664A2 (en) Method for identifying an integrated circuit
DE69722706T2 (en) Data backup device of a semiconductor memory
WO1998058386A1 (en) Storage cell system and method for testing the function of storage cells
DE19963475B4 (en) A method and apparatus for controlling operations in a vehicle and providing data therefor
EP0814320A2 (en) Method for changing an electronic memory for usage-related data of a vehicle
EP0830273B1 (en) Drive-away blocking device
DE102005060901A1 (en) A method of detecting a supply interruption in a data store and restoring the data store
DE69916682T2 (en) A method for unlocking access to a computer from a remote loading system of a file
WO1996012099A1 (en) Device and process for controlling an internal combustion engine
DE10148047B4 (en) Method and device for securing data in a memory module and memory module
EP0715313B1 (en) Method of programming an electrically erasable read-only memory in an elecronic computer device and control device using the method
EP1894389A1 (en) Controller group comprising a plurality of controllers and memory module as a component of the controller group
DE4242186C2 (en) Theft protection of an electronic device
DE102018200807A1 (en) Method and server device for providing a digital vehicle companion book for a motor vehicle
DE102008040366A1 (en) System e.g. antilock brake system, for controlling functional components of e.g. sports vehicle, has RAM connected with electrically EPROM utilized for storing control parameters, which parameterize system for different vehicle variants
DE102020113153A1 (en) System and method for processing data from a control unit of a motor vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20131025

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee