-
Stand der Technik
-
Die vorliegende Erfindung betrifft ein System zur Steuerung bzw. Regelung der Betriebsabläufe eines Kraftfahrzeugs nach dem Oberbegriff des Patentanspruchs 1 und ein Verfahren zum Starten eines solchen.
-
Zur Steuerung bzw. Regelung der Betriebsabläufe in einem Kraftfahrzeug sind eine Vielzahl von Steuergeräten vorgesehen. Diese Steuergeräte, von denen jedes im Betrieb eine Funktionseinheit des Kraftfahrzeugs steuert bzw. regelt, sind über ein Kommunikationssystem miteinander verbunden.
-
Aus der Schrift
US 5 819 087 A ist bereits ein Computersystem und ein Verfahren mit einem zentralen flüchtigen Speicher bekannt, welcher u. a. Ladeprogramme für die über ein Kommunikationssystem gekoppelte zentrale und dezentrale Systemkomponenten zum Starten des Systems enthält. Aus den Schriften
DE 43 26 327 A1 und
DE 37 26 313 A1 sind Verbindungselemente bekannt, die eine Identifikation der verbundenen Komponenten ermöglichen.
-
Prinzipiell kann man die Steuergerate in zwei Kategorien unterteilen. Zum einen gibt es die sogenannten Einzelsteuergeräte. Diese sind Steuergerate mit individuellem Programm und Hardware, welche zum Beispiel zur Regelung des ABS-Systems und der Motronik eingesetzt werden. Zum anderen sind sogenannte Steuergeräte mit gleichem Aufbau vorgesehen, beispielsweise Steuergeräte zur Regelung der elektromechanischen Bremse (EMB). Im Falle der EMB sind vier Steuergeräte vorgesehen – pro Rad ein Steuergerät – die identisch aufgebaut sind und mit der gleichen Software betrieben werden. Die vier Steuergeräte erfüllen die gleiche Aufgabe, nämlich das Einregeln einer Bremskraft nach einer Sollwertvorgabe.
-
Unterschiede ergeben sich lediglich durch die örtliche Positionierung der Steuergeräte bei einer radindividuellen Regelung. Dies ist der Fall bei einer Bremskraftverteilung zwischen Vorder- und Hinterachse und im ABS-, ASR- oder ESP-Betrieb. In diesen Fallen muß das Steuergerät wissen, welches Rad zu regeln ist, da radindividuelle Sollwerte einzuregeln sind.
-
Die Steuergeräte verfügen üblicherweise über einen nichtflüchtigen Programmspeicher und einen flüchtigen Speicher. Die Programmierung erfolgt einmalig und bleibt während der Lebensdauer unverändert. Bei einer Programmänderung müssen die nichtflüchtigen Speicher sämtlicher Steuergeräte umprogrammiert werden. Eine nachträgliche Modifikation der Funktionseinheiten eines Kraftfahrzeugs erweist sich deshalb als äußerst aufwendig.
-
Aufgabe der vorliegenden Erfindung ist es daher, ein System zur Steuerung bzw. Regelung der Betriebsabläufe eines Kraftfahrzeugs zu entwickeln, bei welchem nachträgliche Modifikationen leicht durchzuführen sind. Eine weitere Aufgabe ist es, ein Verfahren vorzuschlagen, mit welchem der Start bzw. die Initialisierung eines solchen Systems auszuführen ist.
-
Die Aufgabe bezüglich der Vorrichtung wird durch ein System nach Anspruch 1 gelöst.
-
Die auf das Verfahren bezogene Aufgabe wird durch ein Verfahren gemäß Anspruch 7 gelöst.
-
Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Vorteile der Erfindung
-
Das erfindungsgemäße System nach dem Oberbegriff des Anspruchs 1 kennzeichnet sich dadurch aus, daß die nichtflüchtigen Speicher in den Steuergeräten ein Ladeprogramm enthalten, ein Hauptsteuergerät mit einem Zentralspeicher, in dem die Programme aller Steuergeräte zur Steuerung/Regelung abgelegt sind, vorgesehen ist, welches indirekte Zugriffe der Steuergeräte auf den Zentralspeicher ermöglicht, und daß die Verbindungselemente eine Identifikation des betreffenden Steuergeräts ermöglichen.
-
Die Programme zur Steuerung der Steuergeräte befinden sich somit nicht mehr in den nichtflüchtigen Speichern der jeweiligen Steuergeräte, wie dies aus dem Stand der Technik bekannt ist. Anstelle dessen sind sie an zentraler Stelle im Zentralspeicher abgelegt. Dies erleichtert ganz erheblich nachträgliche Modifikationen, z. B. bei Rückrufaktionen, da nur an einer zentralen Stelle, nämlich im Zentralspeicher, die Programmänderungen vorgenommen werden müssen. Nach dem Starten des Systems identifizieren sich zunächst die Steuergeräte mit Hilfe ihrer Verbindungselemente. Anschließend werden mittels der Ladeprogramme in den nichtflüchtigen Speichern der Steuergeräte über indirekte Speicherzugriffe die Programme aus dem Zentralspeicher in die flüchtigen Speicher der Steuergeräte geladen und anschließend abgearbeitet.
-
Da die Programme im flüchtigen Speicher (dem Arbeitsspeicher (RAM)) der Steuergeräte ablaufen, erzielt man aufgrund der kürzeren Zugriffszeiten einen schnelleren Programmablauf. Weiterhin von Vorteil ist, daß nur noch ein relativ kleiner nichtflüchtiger Speicher notwendig ist. Dies spart Kosten.
-
Aufgrund des indirekten Zugriffsverfahrens der Steuergeräte auf den Zentralspeicher kann die interne Datenbusstruktur des Hauptsteuergeräts unabhängig von der Datenbusstruktur der Steuergeräte gewählt werden.
-
Bevorzugt dient als Zentralspeicher ein mobiles Speichermedium, wie beispielsweise eine CD-ROM oder ein Memory-Chip. Aufgrund der Unabhängigkeit der Datenbusstrukturen ist dies unproblematisch. Bei nachträglichen Modifikationen muß dann nur noch das mobile Speichermedium ausgetauscht werden. Wenn der Fahrer bei Verlassen seines Kraftfahrzeugs das mobile Speichermedium mit sich nimmt, ist das Fahrzeug vor Diebstahl gesichert.
-
Von Vorteil ist es, wenn der nichtflüchtige Speicher ein BOOT-EPROM ist. Diese Speicherbaustein sind in unterschiedlichen Ausführungsformen erhältlich.
-
Als Kommunikationsbus wird bevorzugt ein serieller Kommunikationsbus, wie beispielsweise ein CAN, ein TTP/C oder RS 232, verwendet.
-
In einer vorteilhaften Ausgestaltung der Erfindung sind die Verbindungselemente zum Anschluß der Steuergeräte an den Kommunikationsbus Steckvorrichtungen. Diese erleichtern das Auswechseln der Steuergeräte. Diese Austauschbarkeit wird begünstigt, wenn die Steckvorrichtungen über Kontaktstifte bzw. Pins verfügen, deren Codierung die Identifikation der Steuergeräte ermöglichen. Die Positions- und Funktionserkennung des Steuergeräts erfolgt dann über die Pincodierung der Steckvorrichtung.
-
Die Anzahl der codierten Pins bestimmt die Zahl der möglichen Kombinationen. Zur Codierung der vier Steuergeräte der EMB bedarf es zweier Bits, z. B. 00 für vorne links, 01 für vorne rechts, 10 für hinten links und 11 für hinten rechts.
-
Aus Sicherheitsgründen wird man jedoch die Redundanz erhöhen und mit mehr als zwei Bits codieren.
-
Das erfindungsgemäße Verfahren zum Starten eines Systems zur Steuerung/Regelung der Betriebsabläufe bei einem Kraftfahrzeug mit einer Anzahl von Steuergeräten zur Steuerung/Regelung, welche jeweils einen flüchtigen Speicher und einen nichtflüchtigen Speicher aufweisen, und mit einem Hauptsteuergerät mit einem Zentralspeicher, umfaßt folgende Verfahrensschritte: Nach Einschalten des Systems erfolgt zunächst die Identifikation der einzelnen Steuergeräte. Anschließend werden die Ladeprogramme in den nichtflüchtigen Speichern der Steuergeräte gestartet. Über einen indirekten Speicherzugriff auf den Zentralspeicher werden die Programme aus dem Zentralspeicher in die flüchtigen Speicher der Steuergeräte geladen. Diese Programme steuern während des Betriebs des Kraftfahrzeugs die Steuergeräte und somit die Betriebsabläufe des Kraftfahrzeugs.
-
Da kein direkter Zugriff der Steuergeräte auf den Programmspeicher vorliegt, können in den Steuergeräten ganz unterschiedliche Bussysteme und Speicherkonfigurationen verwendet werden, die vom Zentralspeicher völlig unabhängig sind.
-
Zeichnungen
-
Die vorliegende Erfindung wird anhand der beigefügten Zeichnungen näher erläutert. Diese zeigen:
-
1a eine schematische blockschaltbildartige Darstellung einer bevorzugten Ausführungsform des erfindungsgemäßen Systems,
-
1b eine weitere konkrete Ausführungsform des erfindungsgemäßen Systems,
-
2 eine blockschaltbildartige schematische Darstellung eines erfindungsgemäß verwendbaren Steuergeräts zur Steuerung bzw. Regelung der Betriebsabläufe eines Kraftfahrzeugs,
-
3 ein Schaubild zur Darstellung, wie sich erfindungsgemäß ein Steuergerät mit Hilfe eines Verbindungselements identifiziert, und
-
4 ein Flußdiagramm zur Erläuterung einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens.
-
Das in 1a dargestellte System weist ein Hauptsteuergerät 1, einen mit diesem verbundenen Zentralspeicher 2, drei Steuergeräte 3 zur Steuerung bzw. Regelung und einen Kommunikationsbus 4 auf.
-
Der Kommunikationsbus 4 verbindet die drei Steuergeräte 3 miteinander und mit dem Hauptsteuergerät 1. Ein Zugriff der Steuergeräte 3 auf den Zentralspeicher 2 erfolgt indirekt über das Hauptsteuergerät 1. Der indirekte Speicherzugriff zeichnet sich dadurch aus, daß das Hauptsteuergerät 1 mit angeschlossenem Zentralspeicher 2 die Speicherzugriffe einleiten muß. Über die Busschnittstelle des Kommunikationsbusses 4 wird der entsprechende Speicherinhalt von dem entsprechenden Steuergerät 3 eingelesen und aufbereitet. Von dort, direkt oder über den Prozessor, wird der Speicherinhalt in dem lokalen flüchtigen Speicher abgelegt. Von Vorteil bei einem indirekten Speicherzugriff ist, daß kein weiterer Speicherbus benötigt wird, sondern das bereits vorhandene Kommunikationssystem genutzt wird.
-
In 1b ist ein konkreter Anwendungsfall dargestellt. Das dargestellte System dient zur Regelung der elektromechanischen Bremse (EMB). Das System besteht aus einem Pedalmodul 31, einem Verarbeitungsmodul 32, vier Radmodulen 33 einem Kommunikationssystem 34 und vier Peripheriegeräten 35.
-
Die Radmodule 33 sind identisch aufgebaut und unterscheiden sich lediglich in der Zuordnung zu den einzelnen Rädern, weil die Stellgrößen auch radindividuell vorgebbar sein können. Es handelt sich um Einzelgasregelungen, die beispielsweise beim ABS-Eingriff unterschiedliche Bremskraftsollwerte einregeln müssen. Außerdem muß beim Senden von Sensorsignalen erkenntlich sein, an welchem Rad der Sensor angeschlossen ist. Das Pedalmodul 31 und das Verarbeitungsmodul 32 sind einmalig vorhanden und besitzen individuelle Programme, die nur für das jeweilige Modul gelten. Im Verarbeitungsmodul 32 sind beispielsweise ABS, ASR, ACC usw. vorgesehen.
-
Das Pedalmodul 31 ermöglicht eine Fahrerwunscherfassung, ein Systemmonitoring, eine Rückfallstrategie und das Auslesen des zentralen Programmspeichers.
-
Die Radmodule 33 regeln die Bremskraft. Jedes Radmodul 33 ist mit einem Peripheriegerät 35 verbunden. In diesem ist die Sensorik und die Aktorik enthalten. Die Radmodule 33 erfassen die Signale der Sensoren am jeweiligen Rad und werten diese aus. Weiterhin erfolgt eine Basisüberwachung der Aktorik und Sensorik.
-
Durch Anlegen der Versorgungsspannung wird das System gestartet. Zu diesem Zeitpunkt durchläuft jedes Radmodul 33 eine Initialisierungsphase, in der es unter anderem seine Identität über einen Pincode feststellt. Dieser Code wird über die serielle Schnittstelle zum Pedalmodul 31 gesendet, das somit weiß, welcher Teilnehmer sich am Bus befindet. Jetzt kann das Pedalmodul 31 nach einem beliebigen Verfahren Programmcode in das Radmodul 33 über die Schnittstelle laden. Vorzugsweise wird man die vorhandene serielle Schnittstelle benutzen, also TTCP, TTCAN, usw. Vom Radmodul 33 werden die Daten empfangen und in ein lokales RAM gespeichert. Nachdem der Ladevorgang beendet ist, steht das Programm zur Ausführung im Radmodul 33 bereit und kann seine Aufgabe übernehmen.
-
Das Pedalmodul 31 kann jetzt das nächste Radmodul 33 programmieren. Dies geschieht solange, bis alle Radmodule 33 bzw. Steuergeräte des gesamten Systems programmiert sind. Programmcode, der für alle Steuergeräte gleich ist, wie zum Beispiel bei den Radmodulen 33, kann parallel empfangen werden. Individuelle Programme werden gezielt nur von speziellen Steuergeräten empfangen, die über ihre Identifikation die entsprechende Funktion kennen. Das Verfahren der Programmierung soll an dieser Stelle nicht näher spezifiziert werden, da es hierfür viele Ausführungsformen gibt.
-
Die Datenbusstruktur des Hauptsteuergeräts 1 aus 1a ist unabhängig von der Datenbusstruktur der drei Steuergeräte 3. In diesem Fall verwenden die Steuergeräte beispielsweise einen 16 Bit-Datenbus. Dieser wird beispielsweise durch informationstechnisches Parallelschalten von zwei 8-Bit Speichern realisiert.
-
In 2 ist der Aufbau eines Steuergeräts zur Steuerung bzw. Regelung der Betriebsabläufe eines Kraftfahrzeugs dargestellt. Dieses weist eine CPU 5, eine Kommunikationsschnittstelle 6, ein BOOT-EPROM 7 und ein RAM-Baustein 8 auf. Anstelle des BOOT-EPROM 7 kann auch ein EEPROM oder ein Flash-Speicher verwendet werden. Die genannten Funktionselemente sind untereinander und mit einer peripheren Hardwareeinheit 9 über einen Datenbus 10 verbunden.
-
Nach Starten des Systems erfolgt die Identifikation der Steuergeräte. Zu diesem Zeitpunkt durchläuft jedes Steuergerät eine Initialisierungsphase. In dieser kann es beispielsweise seine Identität über einen PIN-Code feststellen. Über eine serielle Schnittstelle wird dieser Code zum Pedalmodul 31 gesendet, das somit weiß, welcher Teilnehmer sich am Datenbus befindet. Die Identifikation kann auf unterschiedliche Weise erfolgen. Möglichkeiten zur Identifikation sind beispielsweise die Verwendung eines DIP-Schalters (Dual in Line) im oder am Steuergerät. Weiterhin kann die Identifikation mit der Programmierung über eine Schnittstelle erfolgen (z. B. RS 232). Weiterhin kann eine feste Programmierung im BOOT-EPROM 7 vorgesehen sein. Auch eine Programmierung auf der Platine über feste Brücken, ähnlich den an anderer Stelle beschriebenen Steckern, ist denkbar. Diese Verfahren haben aber den Nachteil, daß sie teuer sind (jede Werkstatt benötigt ein Programmiergerät), das System unflexibel machen und fehleranfällig sind, weil bei jedem Steuergerätetausch auch die Programmierung neu erfolgen muß. Beim in 3 beschriebenen Verfahren erfolgt die Kodierung unabhängig vom Steuergerät ortsfest. Dadurch können die Steuergeräte beliebig, auch untereinander, vertauscht werden.
-
Nach der Identifikation läuft das Ladeprogramm im BOOT-EPROM 7 ab und bewirkt über die Kommunikationsschnittstelle 6 einen indirekten Speicherzugriff auf den Zentralspeicher 2 (siehe 1). Der indirekte Speicherzugriff ist dadurch charakterisiert, daß das Steuergerät mit angeschlossenem Zentralspeicher die Speicherzugriffe einleiten muß, der entsprechende Speicherinhalt über die Busschnittstelle des Kommunikationssystems aufbereitet und versendet wird und von den entsprechenden Empfängern (Steuergeräten) über die Busschnittstelle des Kommunikationssystems eingelesen und aufbereitet wird und von dort – direkt oder über den Prozessor – in dem lokalen flüchtigen Speicher abgelegt wird. Zum Transfer der Daten wird kein erweiterter Speicherbus benötigt, sondern das bereits vorhandene Kommunikationssystem genutzt. Dies erfordert jedoch ein etwas komplexeres Handling von Speicherzugriffen, da diese nicht mehr direkt von den einzelnen Steuergeräten, sondern koordiniert über das Steuergerät mit angeschlossenem Zentralspeicher erfolgen. Das Steuergerät mit angeschlossenem Zentralspeicher übernimmt die Funktion eines Gateways zwischen dem Zentralspeicher und den per Kommunikationsbus verbundenen Steuergeräten.
-
Das geladene Programm wird im RAM-Baustein 8 abgelegt und mit der CPU 5 abgearbeitet. Über den Datenbus 10 wird die periphere Hardwareeinheit 9 angesteuert.
-
Das Programm im Radmodul besteht im Falle einer EMB beispielsweise aus einem Regelalgorithmus zum Einregeln einer Bremskraft, einem Überwachungsprogramm für die angeschlossenen Sensoren, einer Plausibilitätsüberwachung von Motorstrom, -winkel und eingestellter Bremskraft sowie aus einer Kommunikationsschnittstelle zum Empfang von Sollwerten und Senden von aktuellen Sensorsignalen und Ist-Werten.
-
In 3 ist verdeutlicht, wie sich ein Steuergerät mit Hilfe eines Verbindungselements identifiziert. Weitere Identifikationsmöglichkeiten sind beispielsweise die Verwendung eines DIP-Schalters, die Programmierung über eine Schnittstelle, die feste Programmierung im BOOT-EPROM und die Programmierung auf der Platine über feste Brücken. Im Vergleich zu diesen Vedrfahren ist das hier vorgestellte günstiger, flexibler und weniger fehleranfällig. Da die Kodierung ortsfest erfolgt, können die Steuergeräte beliebig, sogar untereinander, vertauscht werden.
-
Die Identifikation ist erforderlich, da das Steuergerät beim Laden der Software aus dem Zentralspeicher 2 (1) auch individuelle Programme laden muß. Individuelle Programme dienen beispielsweise der Regelung des ABS-Systems, der Temperaturkontrolle, der Motorsteuerung bzw. der Motronik, der Airbags usw.
-
3 zeigt ein Steuergerät 11, welches über eine Steckvorrichtung 12 mit dem Kabelbaum 13 eines Kraftfahrzeugs verbunden ist. Das Steuergerät 11 ist über acht Kontaktstifte 14 an die Steckvorrichtung 12 gekoppelt. Weiterhin sind im Steuergerät 11 eine CPU 15, drei Widerstände 16, ein Masseanschluß 17 und Codeleitungen 18 zu erkennen.
-
Die oberen drei Kontaktstifte 14 dienen zur Codierung. Der vierte Kontaktstift 14 ist mit dem Masseanschluß 17 verbunden. Die Codeleitungen 18 sind über die Widerstände 16 von der Versorgungsspannung Vcc die CPU 15 und auf die Steckvorrichtung 12 geführt. In der Steckvorrichtung 12 werden die zur Codierung vorgesehenen Kontaktstifte 14 nach Masse gebrückt oder offen gelassen. In diesem Fall sind der erste und der dritte Kontaktstift 14 nach Masse gebrückt. Der zweite Kontaktstift 14 ist offen gelassen. Je nach Anschluß der Kontaktstifte 14 wird von der CPU 15 ein Code eingelesen, der das Steuergerät 11 identifiziert. Hier lautet der Code 010.
-
Prinzipiell kann jeder beliebige Code verwendet werden (ASKII, BCD, Gray, einschrittige Codes, mehrschrittige Codes, fehlerkorrigierbare Codes usw.). Am besten nimmt man zu dem Code noch zusätzliche Redundanzen zur Erhöhung der Sicherheit hinzu. So können eventuelle Fehler schon im Codewort erkannt werden. Solche Codes nennt man korrigierbare Codes (1 F-Code ist ein Code, mit dem z. B. ein Fehler im Codewort erkannt und korrigiert werden kann).
-
Beim Starten des Systems wird als erstes der Code gelesen, damit sich das Steuergerät 11 identifizieren kann.
-
Anschließend kann das Steuergerät 11 die Daten aus dem Zentralspeicher 2 (1) empfangen. Der Programmcode wird nach einem beliebigen Verfahren vom Zentralspeicher 2 über die Schnittstelle in das Steuergerät 11 geladen. Das Steuergerät 11 empfängt die Daten und legt diese in das RAM ab. Nach Beendigung des Ladevorgangs steht das Programm zur Ausführung bereit. Das Steuergerät 11 kann seine Aufgabe übernehmen.
-
4 verdeutlicht in einem Flußdiagramm den Ablauf des erfindungsgemäßen Verfahrens.
-
In Schritt 41 wird das System eingeschaltet. Dies erfolgt durch Anlegen der Versorgungsspannung. Mit Schritt 42 erfolgt die Identifikation der Steuergeräte. Hierzu durchläuft nach Starten des Systems jedes Steuergerät eine Initialisierungsphase, in dem es seine Identität beispielsweise durch PIN-Code feststellt. Dieser Code wird über die serielle Schnittstelle zum Hauptsteuergerät gesendet, das somit weiß, welcher Teilnehmer sich am Bus befindet.
-
Mit Schritt 43 erfolgt das Starten der Ladeprogramme in den nichtflüchtigen Speichern der Steuergeräte.
-
Mit Schritt 44 beginnt der indirekte Speicherzugriff der Steuergeräte auf den Zentralspeicher. Das Hauptsteuergerät kann nach einem beliebigen Verfahren Programmcode in die Steuergeräte laden. Diese Daten werden in Schritt 45 von den Steuergeräten empfangen und in den entsprechenden flüchtigen Speichern abgelegt. Nachdem der Ladevorgang beendet ist, steht das Programm zur Ausführung im Steuergerät bereit. Auf diese Weise werden nacheinander alle Steuergeräte programmiert. Programmcode, der für alle Steuergeräte gleich ist, kann parallel empfangen werden. Individuelle Programme werden gezielt nur von den speziellen Steuergeräten empfangen.