Beschreibung
Titel
VERFAHREN ZUR BEARBEITUNG VON INFORMATIONEN UND AKTIVITÄTEN IN EINEM STEUER- UND/ODER REGELUNGSTECHNISCHEN SYSTEM MIT HILFE EINES MULTI-CORE PROZESSORS
Stand der Technik
Die Erfindung betrifft ein Verfahren zur Bearbeitung von Informationen und Aktivitäten in einem Steuer- und/oder regelungstechnischen System, in welchem die Steuer- und/oder regelungstechnischen Aufgaben von einem Mikrocontroller ausgeführt werden, wobei das Steuer- und regelungstechnische System aus verschiedenen Komponenten besteht und der Mikrocontroller Informationen erhält, welche von diesem ausgewertet und verarbeitet werden und im Ergebnis von steuerungs- und/oder regelungstechnischen Berechnungen wenigstens ein Aus- gangssignal ausgegeben wird sowie eine Vorrichtung zur Durchführung des Verfahrens.
In heutigen Steuer- und regelungstechnischen Systemen, wie es beispielsweise ein Kraftfahrzeug darstellt, werden zur Steuerung und Regelung eine Vielzahl elektronischer Komponenten verwendet, die üblicherweise Elemente wie wenigstens einen Sensor, eine Verarbeitungseinheit und mindestens einen Aktuator aufweisen. Zur Verarbeitung der Informationen des Sensors und Berechnung der Ansteuerkommandos für den Aktuator werden Mikrocontroller verwendet, die in einem Steuergerät verbaut sind. Bei der Verwendung nur eines Mikrocontrollers können auf Grund der begrenzten Rechenleistung des Mikrocontrollers zu einem
Zeitpunkt entweder die Sensorwerte eingelesen und ausgewertet oder die Aktua- torik berechnet werden.
Aus der DE 40 04 516 A1 ist ein Verfahren zur Verarbeitung von insbesondere bei der Steuerung von Brennkraftmaschinen anfallenden Informationen und Aktivitäten bekannt, das mit zwei Controllern arbeitet, welche in einem Steuergerät
verbaut sind. Dabei werden die anfallenden, berechnungsintensiven Informationen und Aktivitäten verschiedener Bearbeitungsebenen unabhängig voneinander durch die beiden Controller ausgeführt. Eine Zeitsynchron-Ebene wird von einem ersten Controller und eine Winkelsynchron-Ebene von einem zweiten Cont- roller bearbeitet. Mit steigendem Funktionsumfang nimmt die Anzahl der Controller zu, was ein kostenintensives Steuergerät zur Folge hat.
Offenbarung der Erfindung Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zur Bearbeitung von Information und Aktivitäten in einem Steuer- und/oder regelungstechnischen System anzugeben, welches kostengünstig realisierbar ist und trotzdem eine hohe Rechenleistung aufweist. Erfindungsgemäß wird die Aufgabe dadurch gelöst, dass die Steuer- und regelungstechnischen Aufgaben des Systems in komponentenspezifische Aufgabenkomplexe aufgeteilt werden, wobei ein erster komponentenspezifischer Aufgabenkomplex von einem erster Rechnerkern des MikroControllers und ein zweiter komponentenspezifischer Aufgabenkomplex von einem zweiten Rechnerkern des Mikrocontrollers bearbeitet wird. Der Vorteil der Erfindung besteht darin, dass durch die Verwendung eines Multicore-Mikrocontrollers sich eine effektive Form der Entkopplung der Steuer- und regelungstechnischen Aufgaben des Systems ergibt, wodurch eine hohe effektive Rechenleistung erzielt wird, da jeder Rechnerkern zu einem vorgegebenen Zeitpunkt Aufgaben eines anderen Typs verarbeitet. Dadurch wird die Rechenleistung des Mikrocontrollers effektiver ausgenutzt. Auf die Verwendung von mehreren MikroControllern kann somit verzichtet werden.
Vorteilhafterweise erfolgt die Bearbeitung des ersten komponentenspezifischen Aufgabenkomplexes durch den ersten Rechnerkern gleichzeitig zur Bearbeitung des zweiten komponentenspezifischen Aufgaben komplexes durch den zweiten Rechnerkern. Durch die gleichzeitige Bearbeitung verschiedener komponentenspezifischer Aufgabenkomplexe auf verschiedenen Rechnerkernen eines Mikrocontrollers erfolgt eine systemtechnische Parallelisierung der Gesamtaufgaben, wodurch ebenfalls die Komplexität der Abläufe auf dem Mikrocontroller reduziert wird.
In einer Ausgestaltung umfasst der erste komponentenspezifische Aufgabenkomplex das Einlesen und/oder Verarbeiten von Informationen eines Sensors durch den ersten Rechnerkern und der zweite komponentenspezifische Aufga- benkomplex die Ansteuerung und/oder Regelung eines Aktuators durch den zweiten Rechnerkern. Die komponentenspezifischen Aufgabenkomplexe orientieren sich hierbei an Komponenten, die zum MikroController extern angeordnet sind, wie Sensor und Aktuator. Da die Auswertung von Sensorinformationen häufig sehr komplex ist, muss die Aktuatoransteuerung durch das erfindungsgemäße Verfahren nun nicht mehr bis zum Abschluss der Auswertung der Sensorinformationen warten, da auf dem einen Rechnerkern die Informationen des Sensors eingelesen und/oder ausgewertet werden, während auf dem anderen Rechnerkern das Ansteuersignal für den Aktuator berechnet wird. In einer Weiterbildung besteht ein dritter Komponentenkomplex in einem von einem dritten Rechnerkern des Mikrocontrollers ausgeführten Verarbeitungsvorgang, in welchem die von dem ersten Rechnerkern aufbereiteten Sensorinformationen ausgewertet und die steuerungs- und regelungstechnischen Berechnungen ausgeführt werden, deren Ausgangswerte an die zweite Recheneinheit zur Ansteuerung des Aktuators ausgegeben werden. Der Verarbeitungsvorgang besteht in der Lösung einer regeltechnischen Aufgabe, wobei das Ergebnis dieser Aufgabe in der Bereitstellung von Ausgangsdaten für den Aktuator besteht. Da diese Aufgabe eine sehr komplexe Gestalt annehmen kann, wird sie als eigenständige komponentenabhängige Aufgabe betrachtet, die auf einem eigenen Rechnerkern bearbeitet wird, was zur weiteren Entkopplung der Komplexität des
Mikrocontrollers beiträgt. Die Rechenleistung wird durch die Verwendung eines dritten Rechnerkerns weiter erhöht. Die Anzahl der Rechnerkerne, die über dieses Verfahren effizient ausgenutzt werden können, hängt davon ab, wie viele komponentenspezifische Aufgabenkomplexe in dem Steuer- und regelungstech- nischen System unterschieden werden. Damit wird die Rechenleistung des Systems weiter erhöht und die Parallelität der Abarbeitung der Aufgaben verbessert.
Vorteilhafterweise führen der erste und der zweite und/oder der dritte Rechnerkern über ein Kommunikationssystem des Steuer- und regelungstechnischen Systems gleichzeitig einen Datenaustausch mit mindestens einer Speichereinheit aus. Dabei werden die parallelen Abläufe innerhalb des Mikrocontrollers nicht nur
auf die Verarbeitung durch die Rechnerkerne beschränkt, sondern bezieht sich auch auf das Kommunikationssystem, welches als Bus, Crossbar oder mikro- controller- internes Kommunikationssystem ausgebildet sein kann. Dadurch wird gewährleistet, dass mindestens zwei Rechnerkerne gleichzeitig auf den Speicher zugreifen können. Auch eine Busarbitrierung führt nicht zu einer Sequenzialisie- rung.
In einer Ausgestaltung erfolgt eine Verlaufsformung eines Ansteuersignais des Aktuators während dessen Ansteuerung auf der Grundlage der gleichzeitig ein- gelesenen Sensorinformation. Dadurch, dass die Sensorsignale im ersten
Rechnerkern parallel zur Bestimmung des Aktuatorsignals durch den zweiten Rechnerkern ausgewertet wird, kann das Aktuatorsignal direkt auf den aktuellsten Sensorwert abgestimmt werden, was eine sehr genaue Formung der Aktua- toransteuerfunktion zur Folge hat. Dies ist nur möglich, da durch die Verarbeitung der Aufgaben auf verschiedenen Rechnerkernen eine hohe Rechenleistung vorhanden ist.
In einer Weiterbildung funktioniert ein Fehlererkennungsmechanismus des ersten, zweiten oder dritten Rechnerkerns unabhängig vom dem Pfad der Steuerung und/oder Regelung. Durch die Separierung von Steuerung und/oder Regelung und Überwachung ist es somit möglich, die Umsetzung der Steuer- und regelungstechnischen Aufgaben sehr schnell, sehr genau und damit mit einer verbesserten Fehlerabdeckung zu realisieren. In einer Variante wird der Fehlererkennungsmechanismus von einem weiteren z.B. vierten Rechnerkern des Mikrocontrollers bearbeitet. Durch die Verwendung eines vierten Rechnerkerns ist der Überwachungspfad komponentenübergreifend und unabhängig von dem zu steuernden Pfad. Dabei können mehrere Sensoren und mehrere Aktuatoren gleichzeitig überwacht werden.
In einer vorteilhaften Ausführungsform stellt das Steuer- und/oder regelungstechnische System ein Kraftfahrzeugsystem dar. Das
erfindungsgemäße Verfahren eignet sich besonders für Kraftfahrzeuge, wo zahlreiche hochkomplexe Steuer- und regelungstechnische Aufgaben wie Lenkung, Bremsung oder Dämpfung abzuarbeiten sind, die im einzelnen jeweils einer hohen Rechenleistung bedürfen. Die Verwendung eines Multicore-Controllers für
jeweils einen der genannten Steuer- und Regelungskomplexe verbilligt den Bau eines Steuergerätes.
Eine weitere Weiterbildung der Erfindung betrifft eine Vorrichtung zur Bearbei- tung von Informationen und Aktivitäten in einem Steuer- und/oder regelungstechnischen System, in welchem die Steuer- und/oder regelungstechnischen Aufgaben von einem Mikrocontroller ausgeführt werden, wobei das Steuer- und regelungstechnische System aus verschiedenen Komponenten besteht und der Mikrocontroller Informationen erhält, welche von diesem ausgewertet und verarbeitet werden und im Ergebnis von steuerungs- und/oder regelungstechnischen Berechnungen wenigstens ein Ausgangssignal ausgegeben wird. Um eine Vorrichtung zur Bearbeitung von Informationen und Aktivitäten in einem steuer- und/oder regelungstechnischen System anzugeben, welche kostengünstig herstellbar ist und trotzdem eine hohe Rechenleistung aufweist, sind Mittel vorhan- den, welche die Steuer- und regelungstechnischen Aufgaben des Systems in komponentenspezifische Aufgabenkomplexe aufteilen, wobei ein erster komponentenspezifischer Aufgabenkomplex von einem ersten Rechnerkern des MikroControllers und ein zweiter komponentenspezifischer Aufgabenkomplex von einem zweiten Rechnerkern des Mikrocontrollers bearbeitet wird. Dies hat den Vor- teil, dass sich durch die softwaremäßige Zusammenfassung von komponentenabhängigen Aufgabenkomplexen eine effektive Form der Entkopplung der Steuer- und regelungstechnischen Aufgaben des Systems ergibt, wodurch eine hohe Rechenleistung erzielt wird, da jeder Rechnerkern zu einem vorgegebenen Zeitpunkt Aufgaben eines anderen Typs verarbeitet. Durch die Verwendung eines Multicore-Controllers wird die Rechenleistung des Mikrocontrollers effektiver ausgenutzt, wobei auf die Verwendung von mehreren Mikrocontrollers verzichtet werden kann.
Vorteilhafterweise ist der erste Rechnerkern über eine erste Schnittstelle mit ei- nem Sensor und der zweite Rechnerkern über eine zweite Schnittstelle mit einem
Aktuator verbunden. Die direkte Verbindung der Rechnerkerne mit externen Komponenten des Steuer- und regelungstechnischen Systems erlaubt einem konstruktiv einfachen Anschluss des Mikrocontrollers. In einer Ausgestaltung weist das Steuer- und regelungstechnische System ein
Kommunikationssystem auf, welches sowohl den ersten Rechnerkern als auch
den zweiten Rechnerkern gleichzeitig mit mindestens einer Speichereinheit, insbesondere einem Arbeitsspeicher oder einem Festwertspeicher, verbindet. Dadurch wird gewährleistet, dass mindestens zwei Rechnerkernen gleichzeitig auf der Speicher zugreifen können. Die Parallelität des Kommunikationssystems unterbindet eine Sequentialisierung der zu übertragenen Signale.
In einer Weiterbildung weist der MikroController einen dritten Rechnerkern für die Auswertung der von dem ersten Rechnerkern aufbereiteten Sensorinformationen und die Ausführung der steuerungs- und regelungstechnischen Berechnungen, deren Ausgangswerte an die zweite Recheneinheit zur Ansteuerung des Aktua- tors ausgegeben werden und/oder einen vierten Rechnerkern für den Fehlererkennungsmechanismus des Systems auf. Je nach Anzahl der parallel nebeneinander zu bearbeitenden Aufgabenkomplexe wird ein solcher Multicore-Controller ausgewählt, der die erforderliche Anzahl von Rechnerkernen umfasst, wie sie für die gleichzeitig nebeneinander zu bearbeitenden Aufgabenkomplexe notwendig sind.
Die Erfindung lässt zahlreiche Ausführungsformen zu. Eine davon soll anhand der in der Zeichnung dargestellten Figuren näher erläutert werden.
Es zeigt
Figur 1 : Prinzipdarstellung des generellen Systemkontexts nach dem
Stand der Technik
Figur 2: Prinzipdarstellung der erfindungsgemäßen Vorrichtung
Figur 3: schematisches Ablaufdiagramm für das Verfahren zur Bearbeitung von Informationen und Aktivitäten in einem Steuer- und/oder regelungstechnischen System
Gleiche Merkmale sind mit gleichen Bezugszeichen gekennzeichnet.
In Figur 1 ist ein Kraftfahrzeug als Steuer- und regelungstechnisches System mit seinen prinzipiellen Komponenten dargestellt. Das System enthält ein Sensorelement 1 , das Informationen an eine Verarbeitungseinheit 2 liefert. Die Verarbei-
tungseinheit 2 verarbeitet die vom Sensorelement 1 gelieferten Daten, wertet diese aus und berechnet Ausgangsdaten, die an einen Aktuator 3 weiter geleitet werden. Das Sensorelement 1 kann dabei Analog- oder Digitalwerte liefern. Diese Werte können über A/D-Kanäle (Analog-digital) über ein Bussystem oder ein spezielles Sensorinterface an die Verarbeitungseinheit 2 gelangen.
Das Sensorelement 1 kann einen Strom- oder Spannungswert, eine Position oder einen Winkel, einen Druck oder ein Moment oder vieles andere messen. In einem Echtzeitsystem, wie es das Kraftfahrzeug darstellt, ist die Aufgabe des Einlesens der Sensorwerte und deren Verarbeitung sehr aufwendig. Dies liegt einerseits daran, dass die Sensorwerte sehr häufig aktualisiert werden müssen. Andererseits ist immer eine nachfolgende Bearbeitung notwendig, welche beispielsweise in einer Mittelwertbildung, einer Filterung, einer Glättung oder einer Plausibilisierung bestehen kann.
Die Verarbeitung der aufbereiteten Sensordaten durch die Verarbeitungseinheit 2 besteht häufig in der Lösung einer regelungstechnischen Aufgabe, kann aber auch anders geartete algorithmische Grundlagen haben. Im Ergebnis der Bearbeitung der Sensordaten werden Ausgangsdaten für den Aktuator 3 bereitgestellt.
Die Ansteuerung des Aktuators 3 stellt eine komplexe Aufgabe dar. Beispielsweise besteht diese bei einer Einspritzung des Verbrennungsmotors aus mehreren verschiedenen Einzeleinspritzungen, welche auch verschieden ausgestaltet sein können.
Figur 2 zeigt das beschriebene System mit einem Multicore-Mikrocontroller 5. Der Multicore-Mikrocontroller 5 weist vier Rechnerkerne 6, 7, 13 und 14 auf. Über ein internes Kommunikationssystem 8 sind die Rechnerkerne 6, 7, 13, 14 unter- einander und mit einem Arbeitsspeicher 9 (RAM) und einem Festwertspeicher 10
(ROM) verbunden. Das Sensorelement 1 führt über eine erste Schnittstelle 1 1 an den ersten Rechnerkern 6, während der zweite Rechnerkern 7 über eine zweite Schnittstelle 12 auf den Aktuator 3 führt.
Das interne Kommunikationssystem 8 ist derart ausgestaltet, dass es mehreren Rechnerkernen 6, 7, 13, 14 erlaubt, gleichzeitig auf den Festwertspeicher 10 und/ oder den Arbeitsspeicher 9 zuzugreifen. Der Ablauf des erfindungsgemäßen Verfahrens soll anhand von Figur 3 erläutert werden. Im Block 101 liest der Rechnerkern 6 einen Sensorwert über die Schnittstelle 1 1 ein und führt die Sensordatenerfassung und Aufbereitung durch. Die aufbereiteten Sensordaten werden im Block 102 über das interne Kommunikationssystem 8 an andere Rechnerkerne, beispielsweise an den Rechnerkern 13 geliefert, welcher die Sensordaten zur Lösung einer regeltechnischen Aufgabe nutzt und Ausgangsdaten für den Aktuator 3 bestimmt. Diese Ausgangsdaten werden über das interne Kommunikationssystem 8 wieder den anderen Rechnerkernen zur Verfügung gestellt. Beispielsweise kann der Rechnerkern 7 aus den zur Verfügung stehenden Daten Ansteuerparameter für den Aktuator 3 bestimmen und diesen über die Schnittstelle 12 ansteuern (Block 103).
Im Block 104 werden die Abläufe in den Rechnerkernen 6, 7 und 13 und das Sensorelement 1 sowie der Aktuator 3 durch den Rechnerkern 14 überwacht, in welchem ein Fehlererkennungsmechanismus abgelegt ist. Diese Fehlerüberwachung erfolgt somit unabhängig von den Rechnerkernen 6, 7, 13, die mit den Steuer- und regelungstechnischen Aufgaben befasst sind.
Das Verfahren kann mit mehr oder auch weniger Rechnerkernen verwendet werden. Ist der Verarbeitungsschritt beispielsweise sehr einfach, kann dieser auch von dem Rechnerkern 6 oder 7 übernommen werden. Es ist dann immer noch möglich, die Aktuatoransteuerung und die Sensorverarbeitung zu parallelisieren.
Falls keine unabhängige Fehlerüberwachung notwendig ist, kann auch auf den entsprechenden Rechnerkern 14 verzichtet werden, so dass der Kern des Verfahrens auch auf einem 2-Rechnerkernsystem dargestellt werden kann. Falls mehrere Sensoren in dem System eine Rolle spielen, kann man diese Sensoren auf einem Rechnerkern 7 einlesen und Verarbeiten oder auch mehrere Rechnerkerne (beispielsweise einen pro Sensor) verwenden.
Eine nützliche Anwendung des erfindungsgemäßen Verfahrens auf zwei Rechnerkernen kann für Überwachungszwecke realisiert werden. Einer der beiden Kerne übernimmt in diesem Fall die Ansteuerung eines Aktuator, beispielsweise eines Einspritzsystems oder eines Elektromotors. In vielen Anwendungen, die
über eingebettete Systeme realisiert werden (beispielsweise im Kraftfahrzeug), ist es wichtig, diese Ansteuerung zu überwachen, d.h. sicherzustellen, dass das gewünschte Ergebnis der Ansteuerung sich im System tatsächlich auch einstellt. Dann ist vorteilhaft, über einen Sensor, der dieses Ergebnis auch misst, zu über- prüfen, ob die wirkende Kette von der Ansteuerung bis zur Aktuatorik korrekt funktioniert. Systemtechnisch ist es zu bevorzugen, mit der Sensorik möglichst direkt das Ergebnis zu messen, oft ist es jedoch notwendig, über ein Modell aus den gemessenen Größen das Ergebnis zu berechnen. Es kann also einen auch beträchtlichen Rechenaufwand erfordern, dieses Ergebnis zu berechnen. Damit ist es schon aus Performanzgründen vorteilhaft, das erfindungsgemäße Verfahren zu verwenden und diese Sensorauswertung und eventuell zusätzlich den Vergleich mit dem gewünschten Ergebnis auf dem zweiten Kern vorzunehmen. Auch Sicherheitsgründe sprechen dafür, dieses Verfahren anzuwenden, da der zweite Kern eine unabhängige Prüfung der Wirkkette ist, die über den ersten Kern läuft. Vorteilhaft ist in diesem Fall noch, wenn durch geeignete HW-
Maßnahmen, wie z.B. eine exklusive Zugänglichkeit zu der Sensorschnittstelle, sichergestellt ist, dass auch nur der zweite Kern direkt die Sensorwerte erhält, da dann die Unabhängigkeit auf der Systemebene noch stärker ausgeprägt ist. Die Anwendung des Verfahrens hat sicherheitstechnisch darüber hinaus noch den Vorteil einer kürzeren Fehlerentdeckungszeit, da die Überwachung zeitlich echt parallel läuft. Damit ist es möglich, schon bei kleinen Abweichungen geeignet zu reagieren, indem beispielsweise eine Nachricht vom überwachenden Kern an den wirkenden Kern geschickt wird, und somit frühzeitig Gegenmaßnahmen eingeleitet werden. Diese Erweiterung sorgt dann sogar für eine Verfügbarkeitser- höhung.
Es ist auch eine nützliche Erweiterung des Verfahrens, wenn die Ergebnisse der Rechnerkerne (aller oder einzelner) über das Kommunikationssystem 8 in den Arbeitsspeicher 9 geschrieben werden, auf den dann die anderen Rechnerkerne Zugriff haben.
Insbesondere in einem periodischen System kann man dieses Verfahren ebenfalls gut einsetzen, wenn beispielsweise ein Rechnerkern in einem Zyklus Daten benutzt, die von den anderen Rechnerkernen im vorhergehenden Zyklus berech- net werden.
Auch wenn zwei Vorgänge zeitlich parallel ausgeführt werden sollen, kann dieses Verfahren gut eingesetzt werden. Beispielsweise, wenn für die Ansteuerung eines Aktuators ganz aktuelle Sensorwerte berücksichtigt werden sollen, kann man dieses Verfahren einsetzen, um die Parallelität zu implementieren. Diese kann dann dazu verwendet werden, eine zeitlich hoch auflösende Verlaufsformung eines Ansteuersignales darzustellen oder auch eine sehr genaue Überwachung zu implementieren.
Im Kraftfahrzeug gibt es eine Vielzahl von Anwendungsmöglichkeiten für diese Erfindung. Wird in einem Fahrzeugsystem die Einspritzung als Aktorik verwendet, wobei mehrere Einspritzdüsen die Aktuatoren 3 darstellen, sind mehrere Sensorelemente 1 notwendig, um die Aktorik richtig einzustellen. Dabei müssen als Sensordaten zum Beispiel der Raildruck, der Brennraumdruck in den Zylindern, die Abgastemperatur und der Lambdafaktor gemessen werden.
In einem Bremssystem wird als Aktuator 3 entweder ein Ventil oder ein Elektromotor genutzt. Zur richtigen Ansteuerung dieser Aktuatoren müssen der Bremsdruck und die Raddrehzahlen detektiert werden. Im Body - Bereich wird als Aktuator eine Lampe verwendet, während als Sensorwert eine Tasterstellung ausgewertet wird.