Digital vernetzte Regelsysteme

Durch die Entwicklung des FlexRay-Systems ist eine Vernetzung von Steuerungselementen mit höher Datengeschwindigkeit und –sicherheit möglich. Ein großer Vorteil besteht in der flexiblen Anwendung des Systems, das die Anordnung in verschiedenen Topologien erlaubt. Eine Datenübertragung in Echtzeit wird erreicht, indem eine globale Zeit für alle Teilnehmer des Busses hergestellt wird.

Die globale Zeitwahrnehmung ist auch die Grundlage für den Aufbau von verteilten, digitalen Regelsystemen. Diese Systeme ermöglichen eine Anordnung der benötigten Komponenten an verschiedenen Stellen im Fahrzeug. Die Funktionalität der digital vernetzten Regelsysteme wird in diesem Beitrag näher beschrieben.

Aufbau eines digital vernetzten Regelsystems in FlexRay

Der Aufbau eines verteilten, digital vernetzten Regelsystems wird durch die Wahrnehmung der globalen Zeit im FlexRay-System ermöglicht. Die einzelnen Komponenten können sich dabei an verschiedenen Stellen des Kraftfahrzeugs befinden und sind über das Bussystem von FlexRay miteinander verbunden.

Je nach Anwendungsfall kann sich auch der Algorithmus, der für die Regelung des Systems verantwortlich ist, an unterschiedlichen Stellen integriert werden. Das Ziel bei der Verteilung des Regelalgorithmus über mehrere Steuergeräte im Netzwerkverbund ist die Minimierung der Latenzzeit. Diese wird durch die Signallaufzeit zwischen Sender und Empfänger verursacht. Da die Latenzzeit im FlexRay-System immer konstant ist, vereinfacht dies den Regelentwurf.

Das Regelsystem, das über FlexRay vernetzt ist, enthält in der Regel zwei Sensoren, einen Aktor und ein zentrales Steuersystem, jeweils mit integrierter Elektronik und Busanschluss. Das zentrale Steuergerät ist für die Berechnung des Regelalgorithmus verantwortlich, um damit die Aktoren anzusteuern. Die beiden Sensoren erfassen physikalische Größen. Ein Beispiel eines digital vernetzten Regelsystems in Flex-Ray, kann wie folgt aussehen:

Sensor 1 und 2: Diese sind für die Messung physikalischer Größen verantwortlich.

Algorithmus: Der Regelalgorithmus wird durch das zentrale Steuergerät berechnet und löst Funktionen in den Aktoren aus.

Aktor: Der Aktor führt Aktionen aus, die dem berechneten Algorithmus zugrunde liegen.

Berechnung der Messwerte durch den Regelalgorithmus

Um ein vernetztes Regelsystem herzustellen, müssen die Laufzeiten des Regelalgorithmus unter Echtzeitbedingungen mit dem Buszugriff im statischen Segment gekoppelt werden. Dem Algorithmus steht dabei nur eine begrenzte Zeit zur Berechnung zur Verfügung, da die Ergebnisse innerhalb eines Buszyklus bereit stehen müssen. Die zur Verfügung stehende Zeit ergibt sich aus den Empfangs- und Sendezeiten.

Damit die aktuellen Daten rechtzeitig auf dem Bus vorliegen, stehen dem Algorithmus zur Übertragung der Ergebnisse nur wenige Zeitschlitze offen. An einem exemplarischen Beispiel wird die Ausführung des Regelalgorithmus, anhand des Zusammenhanges von Buszugriff und Zeitverhalten, dargestellt:

  1. Zeitschlitz 1-2: Einlesen der Messwerte
  2. Zeitschlitz 4-6: Ausführung des Algorithmus
  3. Zeitschlitz 7: Bereitstellung des Ergebnis
  4. Zeitschlitz 8: Ausgabe des Ergebnis

Die acht Zeitschlitze, in denen die Ergebnisse auf dem Bus vorliegen müssen, stellen das statische Segment des Kommunikationszyklus dar. Zur Berechnung stehen dem Algorithmus in dem gewählten Beispiel nur drei Zeitschlitze zur Verfügung, in denen die komplette Berechnung durchgeführt werden muss, bevor die Ergebnisse an den Bus übertragen werden.

Softwarearchitektur für die Synchronisation von Steuergeräten

Für die Steuergeräte wird ein zeitgesteuertes Betriebssystem verwendet, um die Möglichkeiten des FlexRay-Systems vollkommen ausnutzen zu können. Durch diese spezielle Softwarearchitektur kann die Zeitbasis der entsprechenden Anwendung mit der vorgegebenen Zeitbasis des FlexRay-Systems synchronisiert werden.

Ein geeignetes Betriebssystem für die Zeitsteuerung ist das OSEKtime. Der OSEK/VDX-Standard wird von vielen Automobilherstellern genutzt, die ihre Steuergeräte auf Basis der Software arbeiten lassen. OSEKtime ist ein Multitasking-Betriebssystem, welches mehrere parallel ablaufende Funktionsstränge unterstützt.

Das System teilt die Tasks in drei verschiedene Zustände ein, die jedoch keine Prioritäten besitzen. Der Zustand des Tasks kann suspended (inaktiv), running (ausführend) oder preempted (unterbrochen) sein. Innerhalb einer vorgegebenen Periode werden den Tasks Startzeitpunkte zugeordnet, durch die sie aktiviert werden. Nach der Aktivierung wird der Task sofort ausgeführt, wobei möglicherweise ein anderer, gerade ablaufender Task, unterbrochen wird.

Wie bereits erwähnt, erfolgt die Task-Aktivierung über einen festen Zeitplan, der keine expliziten Aktivierungen oder Events möglich macht. Zur Kontrolle der Tasks sind dafür aber ISRs (Interrupt Service Routinen) vorhanden, die bestehende Tasks unterbrechen können. Dabei wird zwischen ISRs unterschieden, die einen Task unterbrechen können und denen, die erst beim nächsten Dispatching die Erlaubnis für eine Unterbrechung des Tasks besitzen. Letztere sind wichtig, wenn es zur Überwachung von Deadlines kommt. Dabei muss sichergestellt werden, dass bestimmte ISRs die Ausführung eines Tasks nicht beeinflussen können.

Das angesprochene Dispatching bezieht sich bei OSEKtime auf die zeitabhängigen Aufrufe der festgelegten Tasks. Die Schwierigkeit besteht in der Festlegung der Aktivierungszeitpunkte und der Garantie, dass die Ausführbarkeit der einzelnen Tasks gewährleistet ist. Dafür muss die maximale Laufzeit des statischen Zeitplans für jeden einzelnen Task berechnet und festgelegt werden.

Durch Wartezustände kann sich diese Dauer im Ablauf natürlich ändern. Die größtmögliche Laufzeit kann außerdem durch Unterbrechungen von Tasks verlängert werden. Zur Festlegung der Laufzeit kann mit Hilfe einer Dispatcher Round, die im Einsatz des OSEKtime ständig wiederholt wird, die Steuerung des Zeitplans beeinflusst werden.