Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM FOR CONTROLLING OPERATIONAL SEQUENCES
Document Type and Number:
WIPO Patent Application WO/2002/035298
Kind Code:
A2
Abstract:
The invention relates to a system for controlling operational sequences, especially in a motor vehicle, comprising a first control unit and a second control unit. Said control units are connected to each other and exchange information via said connection. The second control unit contains registers in which exchanged information or information to be exchanged is stored. The second control unit or the registers thereof are simulated in the first control unit and the first control unit exchanges information with the second simulated controlled unit. The exchanged information is transferred from the simulated second control unit to the second control unit and the information to be exchanged is transferred from the second control unit to the simulated second control unit via said connection.

Inventors:
GEISSINGER VOLKER
ILLG BERND
Application Number:
PCT/DE2001/003978
Publication Date:
May 02, 2002
Filing Date:
October 23, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
B60R16/02; F02D45/00; G05B19/048; G05B23/02; (IPC1-7): G05B/
Foreign References:
DE3226195A11983-02-10
EP0494467A21992-07-15
GB2345153A2000-06-28
US6094660A2000-07-25
EP0352759B11996-01-17
DE19717686A11998-10-29
DE4126449A11992-02-13
Download PDF:
Claims:
Ansprüche
1. System zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug, wobei eine erste Kontrolleinheit und eine zweite Kontrolleinheit enthalten ist und die Kontrolleinheiten miteinander in Verbindung stehen und über diese Verbindung Informationen austauschen, wobei wenigstens die zweite Kontrolleinheit Register enthält, in welchen die ausgetauschten und/oder auszutauschenden Informationen gespeichert werden dadurch gekennzeichnet, dass die zweite Kontrolleinheit oder deren Register in der ersten Kontrolleinheit nachgebildet werden und die erste Kontrolleinheit mit der nachgebildeten zweiten Kontrolleinheit Informationen austauscht, wobei die ausgetauschten Informationen von der nachgebildeten zweiten Kontrolleinheit zur zweiten Kontrolleinheit und die auszutauschenden Informationen von der zweiten Kontrolleinheit zur nachgebildeten zweiten Kontrolleinheit über die Verbindung übertragen werden.
2. System nach Anspruch 1, dadurch gekennzeichnet, dass die Register der zweiten Kontrolleinheit als virtuelle Register in einem flüchtigen Speicher der ersten Kontrolleinheit nachgebildet werden.
3. System nach Anspruch 1, dadurch gekennzeichnet, dass die Verbindung leitungslos ausgebildet ist.
4. System nach Anspruch 1, dadurch gekennzeichnet, dass die Verbindung leitungsbehaftet ausgebildet ist.
5. System nach Anspruch 1, dadurch gekennzeichnet, dass die gesamte zweite Kontrolleinheit mit den Registern virtuell in der ersten Kontrolleinheit nachgebildet wird.
Description:
System zur Steuerung von Betriebsabläufen Stand der Technik Die Erfindung betrifft ein System zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug, gemäß den Oberbegriffen der unabhängigen Ansprüche.

Bei Steuergeräten werden neben dem Mikrocontroller, Hardware-ICs eingesetzt. In diesen ICs werden einzelne Funktionalitäten (bspw. mehrere Endstufen) zusammengefasst.

Der Controller ist zum Informationsaustausch über Leitungen mit den ICs verbunden.

Die Geschwindigkeit mit denen auf diese Informationen über die Leitungen mit den ICs zugegriffen wird, ist um Faktoren langsamer als die interne Geschwindigkeit im Controller.

Müssen nun innerhalb einer Anwendung auf Informationen, die in diesen ICs erfasst werden, zugegriffen werden, stehen die Informationen nicht unmittelbar zur Verfügung.

So zeigt sich, dass der Stand der Technik nicht immer optimale Ergebnisse zu liefern vermag, woraus sich ergibt, dass die vorstehend genannte Situation verbessert werden soll.

Vorteile der Erfindung Die Erfindung betrifft ein System zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug, wobei eine erste Kontrolleinheit und eine zweite Kontrolleinheit enthalten ist und die Kontrolleinheiten miteinander in Verbindung stehen und über diese Verbindung Informationen austauschen, wobei wenigstens die zweite Kontrolleinheit Register enthält, in welchen die ausgetauschten und/oder auszutauschenden Informationen gespeichert werden Vorteilhafter Weise wird die zweite Kontrolleinheit oder deren Register in der ersten Kontrolleinheit nachgebildet und die erste Kontrolleinheit tauscht mit der nachgebildeten zweiten Kontrolleinheit Informationen aus, wobei die ausgetauschten Informationen von der nachgebildeten zweiten Kontrolleinheit zur zweiten Kontrolleinheit und die auszutauschenden Informationen von der zweiten Kontrolleinheit zur nachgebildeten zweiten Kontrolleinheit über die Verbindung übertragen werden.

Die Verbindung kann dabei zweckmäßiger Weise leitungsgebunden wie leitungslos ausgeführt sein, was bedeutet, das z. B. ein SPI, CAN oder auch z. B. ein Funkbus dafür Verwendung finden können. Die Verwendete Verbindung ist demnach nicht als einschränkend im Sinne der Erfindung zu verstehen.

Im neuen Konzept werden vorteilhafter Weise nun die ICs im Controller virtuell nachgebildet. D. h. In regelmäßigen Abständen werden nun über die Verbindungsleitungen zwischen dem Controller und den ICs die Informationen aus den Registern abgeholt und im RAM des Controllers die Registerwerte 1 : 1 abgespeichert.

Muß nun innerhalb einer Anwendung auf Informationen, die in diesen ICs erfasst werden, zugegriffen werden, werden vorteilhafter Weise anstatt über die langsame Controller- Hardwareverbindung die zuvor im RAM abgelegten Werte zugegriffen.

Weiterhin von Vorteil ist, dass bei Werten, die an die ICs übertragen werden müssen, entsprechend vorgegangen wird. Die Anwendung schreibt die Werte in virtuelle Register im RAM.

Im Hintergrund werden diese Werte dann zyklisch an die Hardware-ICs übertragen.

Durch die Nachbildung der Bausteine im RAM kann vorteilhafter Weise sehr schnell auf die Informationen der Hardware-ICs zugegriffen werden. Außerdem kann der Informationsaustausch im Hintergrund zyklisch bzw. bei Idlezeiten des Controllers durchgeführt werden. Durch die zyklische Kommunikation im Hintergrund kann die Controllerlast vorhersehbar beeinflusst und entsprechend optimiert werden.

Beschreibung der Ausführungsbeispiele Die Erfindung wird nachfolgend anhand der Beschreibung und der Figuren erläutert, woraus sich neben den genannten noch weitere Vorteile und vorteilhafte Ausgestaltungen ebenso wie aus den Ansprüchen ergeben.

Als Hardware ist beispielsweise ein in Figur 1 dargestelltes Steuergerät zugrunde gelegt, welches z. B. zur Motorsteuerung, Getriebesteuerung, Bremsensteuerung, usw bei einem Fahrzeug eingesetzt werden kann.

Mit der modernen Digitaltechnik ergeben sich vielfältige Möglichkeiten zur Steuerung und Regelung im Kraftfahrzeug.

Viele Einflussgrößen können gleichzeitig mit einbezogen werden, sodass die Systeme optimal betrieben werden können.

Das Steuergerät empfängt die elektrischen Signale der Sensoren, wertet sie aus und berechnet die Ansteuersignale für die Stellglieder (Aktoren). Das Steuerungsprogramm ist in einem Speicher abgelegt. Die Ausführung des Programms übernimmt ein Mikrocontroller. Die Bauteile des Steuergeräts werden"Hardware"genannt.

Sensoren bilden neben den Stellgliedern (Aktoren) als Peripherie die Schnittstelle zwischen dem Fahrzeug und dem Steuergerät als Verarbeitungseinheit. Die elektrischen Signale der Sensoren werden dem Steuergerät über Kabelbaum und Steckverbinder zugeführt. Diese Signale können unterschiedliche Formen haben : Analoge Eingangssignale können jeden beliebigen Spannungswert innerhalb eines bestimmten Bereichs annehmen.

Beispiele für physikalische Größen, die als analoge Messwerte bereitstehen, sind die angesaugte Luftmasse, Batteriespannung, Saugrohr-und Ladedruck, Kühlwasser-und Ansauglufttemperatur. Sie werden von Analog/Digitalwandlern (A/D-Wandlern) im Mikrocontroller des Steuergeräts in digitale Werte umgeformt, mit denen der Mikroprozessor rechnen kann. Die maximale Auflösung dieser Signale erfolgt in 5 mV Stufen/Bit (ca. 1000 Stufen).

Digitale Eingangssignale besitzen nur zwei Zustände, High" (logisch 1) und"Low" (logisch 0). Beispiele für digitale Eingangssignale sind Schaltsignale (Ein/Aus) oder digitale Sensorsignale wie Drehzahlimpulse eines Hall-oder Feldplattensensors. Sie können vom Mikrocontroller direkt verarbeitet werden

Pulsförmige Eingangssignale von induktiven Sensoren mit Informationen über Drehzahl und Bezugsmarke werden in einem eigenen Schaltungsteil im Steuergerät aufbereitet. Dabei werden Störimpulse unterdrückt und die pulsförmigen Signale in digitale Rechtecksignale umgewandelt.

Signalaufbereitung Die Signalaufbereitung erfolgt in den Blöcken SA1, SA2 und SA3 abhängig vom jeweiligen Eingangssignal. Die Eingangssignale werden mit Schutzbeschaltungen auf zulässige Spannungspegel begrenzt. Das Nutzsignal wird durch Filterung weitgehend von überlagerten Störsignalen befreit und gegebenenfalls durch Verstärkung an die zulässige Eingangsspannung des Mikrocontrollers angepasst (0... 5 V).

Je nach Integrationsstufe kann die Signalaufbereitung teilweise oder auch ganz bereits im Sensor stattfinden.

Signalverarbeitung Das Steuergerät ist die Schaltzentrale für die Funktionsabläufe der Motorsteuerung. Im Mikrocontroller laufen die Steuer-und Regelalgorithmen ab. Die von den Sensoren und den Schnittstellen zu anderen Systemen bereitgestellten Eingangssignale dienen als Eingangsgrößen.

Sie werden im Rechner nochmals plausibilisiert. Mit Hilfe des Programms werden die Ausgangssignale berechnet.

Mikrocontroller Der Mikrocontroller ist das zentrale Bauelement eines Steuergeräts. Er steuert dessen Funktionsablauf. Im Mikrocontroller sind außer der CPU (Central Processing Unit, d. h. zentrale Recheneinheit) noch Eingangs-und Ausgangskanäle, Timereinheiten, RAM, ROM, serielle

Schnittstellen und weitere periphere Baugruppen auf einem Mikrochip integriert. Ein Quarz taktet den Mikrocontroller.

Programm-und Datenspeicher Der Mikrocontroller benötigt für die Berechnungen ein Programm-die sogenannte Software". Sie ist in Form von binären Zahlenwerten, die in Datensätze gegliedert sind, in einem Programmspeicher abgelegt. Die CPU liest diese Werte aus, interpretiert sie als Befehle und führt diese Befehle der Reihe nach aus. Das Programm ist in einem Festwertspeicher (ROM, EPROM oder Flash-EPROM) abgelegt.

Zusätzlich sind variantenspezifische Daten (Einzeldaten, Kennlinien und Kennfelder) in diesem Speicher vorhanden.

Hierbei handelt es sich um unveränderliche Daten, die im Fahrzeugbetrieb nicht verändert werden können. Sie beeinflussen die Steuer-und Regelablaufe des Programms. Der Programmspeicher kann im Mikrocontroller integriert und je nach Anwendung noch zusätzlich in einem separaten Bauteil erweitert sein (z. B. durch ein EPROM oder Flash-EPROM).

ROM Programmspeicher können als ROM (Read only Memory) ausgeführt sein. Das ist ein Lesespeicher, dessen Inhalt bei der Herstellung festgelegt wird und danach nicht wieder geändert werden kann. Die Speicherkapazität des im Mikrocontroller integrierten ROMs ist begrenzt. Für komplexe Anwendungen ist ein zusätzlicher Speicher erforderlich.

EPROM Das EPROM (Erasable Programmable ROM, d. h. lösch-und programmierbares ROM) kann durch Bestrahlen mit UV-Licht gelöscht und mit einem Programmiergerät wieder neu

beschrieben werden. Das EPROM ist meist als separates Bauteil ausgeführt. Die CPU spricht das EPROM über den Adress-/Datenbus an.

Flash-EPROM (FEPROM) Das Flash-EPROM wird oft nur"Flash"genannt. Es ist auf elektrischem Wege löschbar. Somit können die Steuergeräte in der Kundendienst-Werkstatt umprogrammiert werden, ohne es öffnen zu müssen. Das Steuergerät ist dabei über eine serielle Schnittstelle mit der Umprogrammierstation verbunden. Enthält der Mikrocontroller zusätzlich ein ROM, so sind dort die Programmierroutinen für die Flash- Programmierung abgelegt. Flash-EPROMs können mittlerweile auch zusammen mit dem Mikrocontroller auf einem Mikrochip integriert sein. Das Flash-EPROM hat aufgrund seiner Vorteile das herkömmliche EPROM weitgehend verdrängt.

Variablen-oder Arbeitsspeicher Ein solcher Schreib-/Lesespeicher ist notwendig, um veränderliche Daten (Variablen), wie z. B. Rechenwerte und Signalwerte zu speichern.

RAM Die Ablage aller aktuellen Werte erfolgt im RAM (Random Access Memory, d. h. Schreib-/Lesespeicher). Für komplexe Anwendungen reicht die Speicherkapazität des im Mikrocontroller integrierten RAMs nicht aus, so dass ein zusätzlicher RAM-Baustein erforderlich ist. Er ist über den Adress-/Datenbus an den Mikrocontroller angeschlossen. Beim Ausschalten des Steuergeräts über das Zündschloss verliert das RAM den gesamten Datenbestand (flüchtiger Speicher).

EEPROM (auch EEPROM genannt) Das RAM verliert seine Information, wenn es von der Spannungsversorgung getrennt wird (z. B. bei ausgeschalteter Zündung). Daten, die nicht verloren gehen dürfen (z. B.

Codes für die Wegfahrsperre und Daten des Fehlerspeichers), müssen dauerhaft in einem nicht flüchtigen Dauerspeicher abgelegt werden. Das EEPROM ist ein elektrisch löschbares EPROM, bei dem im Gegensatz zum Flash-EPROM jede Speicherzelle einzeln gelöscht werden kann. Es ist auch für eine höhere Anzahl an Schreibzyklen designed. Somit ist das EEPROM als nichtflüchtiger Schreib-/Lesespeicher einsetzbar.

ASIC Wegen der immer größer werdenden Komplexität der Steuergerätefunktionen reichen die am Markt erhältlichen Standard-Mikrocontroller nicht aus. Abhilfe schaffen hier ASIC-Bausteine (Application Specific Integrated Circuit, d. h. anwendungsbezogene integrierte Schaltung). Diese ICs (Integrated Circuit) werden nach den Vorgaben der Steuergeräteentwicklung entworfen und gefertigt. Sie enthalten beispielsweise ein zusätzliches RAM, Eingangs-und Ausgangskanäle und sie können PWM-Signale erzeugen und ausgeben (siehe unten).

Überwachungsmodul Das Steuergerät verfügt über ein Überwachungsmodul. Der Mikrocontroller und das Überwachungsmodul überwachen sich gegenseitig durch ein sogenanntes Frage und Antwort Spiel".

Das Frage Antwort Spiel bzw. die Frage Antwort Kommunikation wird im Rahmen einer Programmablsufkontrolle durchgeführt.

Die Programmablaufkontrolle bzw. die Programmablauf- überwachung arbeitet dabei synchron zu einem vorgegebenen

Überwachungsraster. Anhand eines Prüfwortes bzw. Prüfdatums, eben der Frage, das von einer redundanten Hardware wie z. B. dem Überwachungsmodul übertragen wird, wird durch die Programmablaufüberwachung eine Teilantwort berechnet, die mit der Teilantwort des Befehlstest, der den Prozessor hardwarenah überwacht, zu einer Gesamtantwort an die redundante Hardware verknüpft wird. Die Antwort wird dann durch die redundante Hardware, insbesondere das Überwachungsmodul, überprüft. Bei einem Fehler wird die Fehlerentprellung aktiviert und nach ihrem Ablauf eine Fehlerreaktion ausgelöst. Somit ist bei einer korrekten Teilantwort durch die Programmablaufüberwachung gewährleistet, dass einzelne Teilfunktionen alle mit der vorgesehenen Häufigkeit aufgerufen, sowie alle beendet wurden. Wird ein Fehler erkannt, so können beide, also Mikrocontroller und Überwachungsmodul unabhängig voneinander die Einspritzung abschalten.

Ausgangssignale Der Mikrocontroller steuert mit den Ausgangssignalen Endstufen an, die üblicherweise genügend Leistung für den direkten Anschluss der Stellglieder (Aktoren) liefern. Es ist auch möglich, dass die Endstufe ein Relais ansteuert.

Die Endstufen sind gegenüber Kurzschlüssen gegen Masse oder der Batteriespannung sowie gegen Zerstörung infolge elektrischer oder thermischer Überlastung geschützt. Diese Fehler sowie aufgetrennte Leitungen werden durch den Endstufen-IC erkannt und dem Mikrocontroller gemeldet.

Schaltsignale Mit den Schaltsignalen können Stellglieder ein-und ausgeschaltet werden (z. B. Motorlüfter).

PWM-Signale Digitale Ausgangssignale können als PWM-Signale ausgegeben werden. Diese . Puls-Weiten-Modulierten" Signale sind Rechtecksignale mit konstanter Frequenz aber variabler Einschaltzeit. Mit diesen Signalen können Stellglieder (Aktoren) in beliebige Arbeitsstellungen gebracht werden (z. B. Abgasrückführventil, Lüfter, Heizelemente, Ladedrucksteller).

Kommunikation innerhalb des Steuergeräts Die peripheren Bauelemente, die den Mikrocontroller in seiner Arbeit unterstützen, müssen mit diesem kommunizieren können. Dies geschieht über den Adress/Datenbus. Der Mikrocontroller gibt über den Adressbus z. B. die RAM- Adresse aus, deren Speicherinhalt gelesen werden soll. Über den Datenbus werden dann die der Adresse zugehörigen Daten übertragen. Frühere Entwicklungen im Kfz-Bereich kamen mit einer 8-Bit-Busstruktur aus. Das heißt, der Datenbus besteht aus acht Leitungen, über den 256 Werte übertragen werden können. Mit dem bei diesen Systemen üblichen 16-Bit- Adressbus können 65 536 Adressen angesprochen werden.

Komplexe Systeme erfordern heutzutage 16 oder sogar 32 Bit für den Datenbus. Um an den Bauteilen Pins einzusparen, können Daten-und Adressbus in einem Multiplexsystem zusammengefasst werden, d. h. Adresse und Daten werden zeitlich versetzt übertragen und nutzen gleiche Leitungen.

Für Daten, die nicht so schnell übertragen werden müssen (z. B. Fehlerspeicherdaten), werden serielle Schnittstellen mit nur einer Datenleitung eingesetzt.

EOL-Programmierung Die Vielzahl von Fahrzeugvarianten, die unterschiedliche Steuerungsprogramme und Datensätze verlangen, erfordert ein Verfahren zur Reduzierung der vom Fahrzeughersteller benötigten Steuergerätetypen. Hierzu kann der komplette Speicherbereich des Flash-EPROMs mit dem Programm und dem variantenspezifischen Datensatz am Ende der Fahrzeugproduktion programmiert werden (EOL, End Of Line Programmierung). Eine weitere Möglichkeit ist, dass im Speicher mehrere Datenvarianten (z. B. Getriebevarianten) abgelegt werden, die dann durch Codierung am Bandende ausgewählt werden. Diese Codierung wird im EEPROM abgelegt.

Efindungsgemäß ergibt sich nun mit einer solchen beispielhaften Hardware entsprechend Figur 1 ein System zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug, wobei eine erste Kontrolleinheit und eine zweite Kontrolleinheit enthalten ist und die Kontrolleinheiten miteinander in Verbindung stehen und über diese Verbindung Informationen austauschen, wobei wenigstens die zweite Kontrolleinheit Register R enthält, in welchen die ausgetauschten und/oder auszutauschenden Informationen gespeichert werden. Die erste Kontrolleinheit kann dabei beispielsweise der Mikrocontroller sein und die zweite eine oder mehrere Endstufen-Schaltungen (ICs) z. B. in Block IC dargestellt.

Vorteilhafter Weise wird die zweite Kontrolleinheit IC oder deren Register R in der ersten Kontrolleinheit, dem Mikrocontroller nachgebildet. Dies ist durch ICMC nur symbolisch dargestellt, da bei der Nachbildung auf vorhandene Ressourcen und Hardwarebestandteile des Mikrocontrollers zurückgegriffen werden kann. Die erste Kontrolleinheit tauscht mit der nachgebildeten zweiten

Kontrolleinheit ICMC Informationen aus, wobei die ausgetauschten Informationen von der nachgebildeten zweiten Kontrolleinheit zur zweiten Kontrolleinheit IC und die auszutauschenden Informationen von der zweiten Kontrolleinheit zur nachgebildeten zweiten Kontrolleinheit ICMC über die Verbindung V übertragen werden.

Die Verbindung V kann dabei leitungsgebunden wie leitungslos ausgeführt sein, was bedeutet, das z. B. ein SPI, CAN oder auch z. B. ein Funkbus dafür Verwendung finden können. Die Verwendete Verbindung ist demnach nicht als einschränkend im Sinne der Erfindung zu verstehen.

Im neuen Konzept werden nun die Endstufen ICs im Controller virtuell nachgebildet. D. h. In regelmäßigen Abständen werden nun über die Verbindungsleitungen V zwischen dem Mikrocontroller bzw. Controller und den ICs die Informationen aus den Registern abgeholt und im RAM des Controllers die Registerwerte 1 : 1 abgespeichert.

Muß nun innerhalb einer Anwendung auf Informationen, die in diesen ICs erfasst werden, zugegriffen werden, werden anstatt über die langsame Controller-Hardwareverbindung die zuvor im RAM abgelegten Werte zugegriffen.

Bei Werten, die an die ICs übertragen werden müssen, wird entsprechend vorgegangen. Die Anwendung schreibt die Werte in virtuelle Register im RAM. Im Hintergrund werden diese Werte dann zyklisch an die Hardware-ICs übertragen.

Durch die Nachbildung der Bausteine im RAM kann sehr schnell auf die Informationen der Hardware-ICs zugegriffen werden.

Außerdem kann der Informationsaustausch im Hintergrund zyklisch bzw. bei Idlezeiten des Controllers durchgeführt werden. Durch die zyklische Kommunikation im Hintergrund

kann die Controllerlast vorhersehbar beeinflusst und entsprechend optimiert werden.

Ebenso könnte statt der Endstufenschaltungen IC auch mit dem Überwachungsmodul oder intelligenter, bidirektional angeschlossner Sensorik als zweitem Kontrollmittel verfahren werden.

Eine weitere Hardware als speziellere Ausgestaltung zeigt Figur 2 im beschrifteten Blockschaltbild.