-
Die
vorliegende Erfindung betrifft ein Kommunikationssystem, in dem
eine Mehrzahl von eine nachrichtenorientierte Middleware verwendenden
Endgeräten über ein
nachrichtenorietiertes Bussystem miteinander verbunden sind. Weiterhin
betrifft die vorliegende Erfindung die Verwendung des erfindungsgemäßen Kommunikationssystems
zur Synchronisation von Endgeräten.
-
Die
Vernetzung von Steuergeräten,
Sensorik und Aktuatorik mit Hilfe eines Bussystems, also einer Kommunikationsverbindung
hat in den letzten Jahren beim Bau von modernen Kraftfahrzeugen,
Avionik Systemen wie z. B. im Luft- und Raumfahrtbereich oder auch
im Maschinenbau, insbesondere im Werkzeugmaschinenbereich als auch
in der Automatisierung, drastisch zugenommen. Synergieeffekte durch
Verteilung von Funktionen auf mehrere Steuergeräte können dabei erzielt werden.
Man spricht hierbei von verteilten Systemen. Die Kommunikation zwischen
verschiedenen Stationen findet mehr und mehr über ein Bussystem statt. Der
Kommunikationsverkehr auf dem Bussystem, Zugriffs- und Empfangsmechanismen
sowie Fehlerbehandlung werden über
ein Protokoll geregelt. Insbesondere werden nachrichtenorientierte
Kommunikationssysteme verwendet.
-
In
einem nachrichtenorientierten Kommunikationssystem werden mittels
Datenrahmen Daten zwischen zwei Netzknoten übertragen, wobei die zu übertragenden
Daten innerhalb des Nutzdatenabschnitt des Datenrahmens übertragen
werden. Dabei werden den einzelnen Datenrahmen Eigenschaften wie
z. B. Sendepriorität
und Identifikator (ID) zugewiesen. Systemteilnehmer, die an das
Kommunikationssystem angeschlossen sind, enthalten wenigstens einen
Netzknoten, welcher die Datenrahmen bereitstellt, insbesondere erzeugt, übermittelt,
zwischenspeichert und/oder modifiziert. Beispiele für nachrichtenorientierte
Bussysteme stellen der CAN und Flex-Ray-Standard (www.flexray.com)
dar.
-
Im
Folgenden wird die Erfindung an Hand des nachrichtenorientierten
Bussystems Flex-Ray erläutert. Es
ist für
den Fachmann jedoch ersichtlich, wie die Erfindung auch auf andere
nachrichtenorientierte Bussysteme umgesetzt werden kann.
-
Der
Flex-Ray-Bus ist ein schnelles, deterministisches und fehlertolerantes
Bussystem, insbesondere für
den Einsatz in einem Kraftfahrzeug. Das Flex-Ray-Protokoll arbeitet
nach dem Verfahren des Time Division Multiple Access (TDMA), wobei
den Komponenten also Teilnehmern bzw. den zu übertragenden Botschaften feste
Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff
auf die Kommunikationsverbindung haben. Die Zeitschlitze wiederholen
sich dabei in einem festgelegten Zyklus, so dass der Zeitpunkt,
zu dem eine Botschaft über
den Bus übertragen
wird, exakt vorausgesagt werden kann und der Buszugriff deterministisch
erfolgt. Um die Bandbreite für
die Botschaftsübertragung
auf dem Bussystem optimal zu nutzen, unterteilt Flex-Ray den Zyklus
in einen statischen und einen dynamischen Teil. Die festen Zeitschlitze
befinden sich dabei im statischen Teil am Anfang eines Buszyklusses.
Im dynamischen Teil werden die Zeitschlitze dynamisch vergeben.
Darin wird nun der exklusive Buszugriff jeweils nur für eine kurze
Zeit, sogenannte Minislots, ermöglicht.
Nur wenn innerhalb eines Minislots ein Buszugriff erfolgt, wird
der Zeitschlitz um die benötigte Zeit
verlängert.
Damit wird Bandbreite also nur verbraucht, wenn sie auch tatsächlich benötigt wird.
Dabei kann Flex-Ray über
zwei physikalisch getrennte Leitungen mit einer Datenrate von je
maximal 10 MByte/s kommunizieren. Die beiden Kanäle entsprechen dabei der physikalischen
Schicht, insbesondere des OSI (Open System Architecture) Schichtenmodells.
Diese dienen nun hauptsächlich
der redundanten und damit fehlertoleranten Übertragung von Botschaften,
können
jedoch auch unterschiedliche Botschaften übertragen, wodurch sich dann
die Datenrate verdoppeln würde.
Flex-Ray kann aber auch mit niedrigeren Datenraten betrieben werden.
-
Ein
Flex-Ray-Netzknoten oder Flex-Ray-Teilnehmer oder Host enthält einen
Teilnehmerprozessor, also den Host-Prozessor, einen Flex-Ray-Kontroller
oder Kommunikationskontroller sowie bei einer Busüberwachung
einen Busguardian. Dabei liefert und verarbeitet der Host-Prozessor,
also der Teilnehmerprozessor die Daten, die über den Flex-Ray-Kommunikationskontroller übertragen
werden. Für
die Kommunikation in einem Flex-Ray-Netzwerk können Botschaften bzw. Botschaftsobjekte
mit z. B. bis zu 254 Datenbytes konfiguriert werden.
-
Ein
Bus Transceiver stellt die direkte Verbindung zur Datenleitung her.
Der Transceiver schreibt einerseits die logische Information, die
versendet werden soll, in Form von Spannungspulsen auf den Bus,
andererseits liest er die Signale aus, die von anderen Teilnehmern
auf dem Bus gesendet werden.
-
Das
Busprotokoll regelt, wie ein Netzwerk startet, wie ein Bustakt etabliert
wird und welche Steuergeräte
zu welchem Zeitpunkt senden dürfen.
-
Der
Kommunikationskontroller setzt das Busprotokoll in jedem Systemteilnehmer
um, beispielsweise verpackt er die zu übertragenden Informationen
in ein Datenpaket und übergibt
dieses Datenpaket zum richtigen Zeitpunkt zur Übertragung an den Bus Transceiver.
-
Zum
Datentransport verwendet der Flex-Ray-Standard Flex-Ray-Datenrahmen,
die einen eindeutigen Datenrahmen-Identifikator (Datenrahmen-ID)
besitzen.
-
Über die
Datenrahmen-ID des Flex-Ray-Datenrahmen kann vorteilhafterweise
festgelegt werden, auf welchem Flex-Ray-Kanal der Flex-Ray-Datenrahmen
gesendet wird, ob der Datenrahmen im synchronen oder asynchronen
Teil des Flex-Ray-Komunikationszyklus gesendet wird, welches Zeitfenster
der Datenrahmen im synchronen Teil belegt oder welche Priorität der Datenrahmen
im asynchronen Teil erhält
und welche Größe der Flex-Ray-Nutzddatenabschnitt
des Flex-Ray-Datenrahmens besitzt.
-
Wünschenswert
wäre die
Ausweitung der Anwendung von nachrichtenorientierten Bussystemen
auf sicherheitskritische Kommunikationssysteme.
-
Es
wurde nun überraschenderweise
festgestellt, dass diese Aufgabe durch das erfindungsgemäße Kommunikationssystem
gelöst
werden kann.
-
Demgemäß betrifft
ein erster Aspekt der Erfindung ein Kommunikationssystem, das eine
Mehrzahl von Endgeräten,
die eine nachrichtenorientierte Middleware verwenden, umfasst. Die
Endgeräte
sind über
ein nachrichtenorientiertes Bussystem miteinander verbunden. Ein
Endgerät
stellt damit wie in 1 und 2 verdeutlicht
die Verbindungseinheit zwischen Teilsystem und Kommunikationsnetzwerk
dar. Die Daten, die in einen Kommunikationsport geschrieben werden,
werden für
den Datentransport segmentiert und den Datensegmenten eindeutig
Datenrahmen-Identifikatoren zugeordnet. Den empfangenden Kommunikationsports
in anderen Endgeräten
wird die entsprechende Datenrahmen-Identifikator-zu-Datensegment-Zuordnung
insbesondere wenn die Lage der Datensegmente innerhalb des Nutzdatenabschnittes
eines Datenrahmens, sofern mehrere Datensegmente innerhalb eines
Datenrahmens übertragen
werden, zum Empfangen der Datensegmente und zur Zusammensetzung
der empfangenen Datensegmente bereitgestellt.
-
In
dem erfindungsgemäßen Kommunikationssystem
sind eine Mehrzahl von Endgeräten
miteinander verbunden. In diesem Zusammenhang bedeutet eine Mehrzahl
von Endgeräten
mindestens zwei Endgeräte. Es
können
aber auch mehr als zwei, wie drei, vier oder fünf Endgeräte umfasst sein. Typischerweise
werden für
Kraftfahrzeuganwendungen von fünf
bis einhundert Endgeräte
in dem Kommunikationssystem umfasst sein. In Avionik Systemen, insbesondere
in der Luft- und Raumfahrt, werden typischerweise einhundert bis fünfhundert
Endgeräte
in dem Kommunikationssystem umfasst sein.
-
Endgeräte enthalten
Anschlüsse
für die
Kommunikation mit dem Bussystem sowie einen oder mehrere Mikrokontroller
und/oder Mikroprozessoren. Die Mikrokontroller/-prozessoren enthalten
Software zur Durchführung
der jeweiligen Funktionen der Endgeräte. Beispiele für Endgeräte sind
Sensoren, Aktoren, Steuereinheiten, Managementsysteme, Versorgungssysteme, Übertragungssysteme,
Sicherheitssysteme und externe Systeme. Der Begriff Endgerät soll auch
Steuergeräte
und Kommunikationsteilnehmer umfassen.
-
In
Kraftfahrzeuganwendungen schließen
Beispiele für
Endgeräte
Steuergeräte
für Fahrregelsysteme z.
B. dynamische Stabilitätskontrolle,
Adaptive Abstandskontrolle (ACC), Anti Blockier Systeme (ABS), Antischlupfregelung,
Adaptives Kurvenlicht, Aktives Drehmoment Kontrollsystem, Aktive
Längs-
und Seitenneigungsstabilisierung bzw. Fahrwerkstabilisierung, Aktive
Lenkung, Traktionskontrolle, Drive by Wire Systeme, Elektron./Dynamische/Automatische
Stabilitätsprogramm/-kontrolle
(ESP, DSC, ASC), Quer-/Längsstabilisierungssystem,
Intelligente/Elektronische Bremssystemeassistenten (z. B. Keilbremse),
Fahrerassistenzsysteme, Motorsteuerung, Servicebedarfsanzeigen (CBS),
Automatische Kupplung, Zugangs- und Identifikationssysteme, Kontinuierliche
variable Stoßdämpfung,
Zündungssysteme,
elektronische Kraftstoff- und Abgasregelsysteme, Federungs- und
Dämpfungsregelung,
Fahrzeugkommunikationscenter (CCC), Automatisches Bremsdifferential,
Sperrdifferential und Differentialbremse, ein. Im Avionikbereich
sind insbesondere alle Systeme gemäß ATA-Kapitel (Air Transport
Association, www.airlines.org) eingeschlossen.
-
Die
Endgeräte
verwenden eine nachrichtenorientierte Middleware. Die Middleware
fungiert als ”Vermittler” zwischen
der Software in den Endgeräten
einerseits und den weiteren Software- und Hardwareschichten der
Steuergeräteplattform
andererseits.
-
Ferner
wird durch Verwendung der Middleware die Software wiederverwendbar,
das heißt
dass die Software zwischen verschiedenen Endgeräten ausgetauscht werden kann.
Der Austausch der Software setzt voraus, dass die betroffenen Endgeräte für die Ausführung der
Software geeignet sind.
-
Durch
die ”standardisierte
Vermittlertätigkeit” entkoppelt
die Middleware die wiederverwendbare Software von der Endgeräteplattform
und abstrahiert damit die Kommunikationsports zum Bussystem. Als
logische Konsequenz braucht nur noch die Middleware auf die Steuergeräteplattform
angepasst zu werden. Die Software hingegen kann ohne Anpassungsaufwand
ausgetauscht werden. Die Entwickler von Software brauchen sich somit
bei diesem Ansatz nicht mehr um hardwarenahe, d. h. plattformabhängige Kommunikationsdetails zu
kümmern.
-
Die
nachrichtenorientierte Middleware arbeitet nicht direkt mit Methoden-
oder Funktionsaufrufen geräteübergreifend,
sondern über
den Austausch von Nachrichten. Das Nachrichtenformat gibt die eingesetzte Middleware
vor. Die nachrichtenorientierte Middleware kann sowohl synchron
als auch asynchron arbeiten. Bei einer asynchronen Variante wird
eine Warteschlange verwendet, in die die Software des Endgeräts ihre
Nachrichten stellt. Ein Konsument (eine andere Software desselben
oder eines anderen Endgeräts)
kann die Nachrichten dann konsumieren. Vorteile sind u. a. die vollständige Entkopplung
von Nachrichtensender und -empfänger
und dass Anwendungen auch weiterarbeiten können, wenn Teilkomponenten
ausgefallen sind.
-
Beispiele
für nachrichtenorientierte
Middleware, die in der vorliegenden Erfindung verwendet werden können, schließen ARINC
653, AUTOSAR, MOM (Message Oriented Middleware), EDA (Event Driven
Architectures), RPC (Remote Procedure Calls), MOST und Transaktionsmonitore
ein. Im Folgenden wird die Erfindung anhand der nachrichtenorientierten
Middleware ARINC 653 (www.arinc.com) erläutert. Der ARINC 653 Avionics
Application Software Standard legt eine Schnittstelle zur Integration
von Software und Teilsysteme fest. Es ist für den Fachmann jedoch ersichtlich,
wie die Erfindung auch auf andere nachrichtenorientierte Middlewares
umgesetzt werden kann.
-
In
der Norm ARINC 653 wird das Application Program Interface (API)
zwischen Anwendersoftware und Betriebssystem beschrieben, welches
besonders für
sicherheitskritische und betriebsnotwendige Systeme vor allem in
der Luftfahrtindustrie geeignet ist.
-
Die
ARINC 653 Spezifikation definiert eine „APlication EXecutive” (APEX)
für die
Zeit und Ressourcen Partitionierung von Anwendungen, die sich einen
Mikroprozessor/-kontroller teilen müssen, wobei garantiert wird,
dass im Falle eines auftretenden Fehlers innerhalb einer Anwendung
die restlichen Anwendungen davon nicht beeinträchtigt werden. Jede Partition
in einem ARINC 653 System repräsentiert
eine separate Anwendung und verwendet die ihr zugewiesenen Speicherressourcen
und Rechenressourcen. Vorteilhafterweise unterstützt jede ARNIC 653 Partition
Multitasking.
-
Die
ARINC 653 Spezifikation spezifiziert für den Datenaustausch zwischen
Anwendungen (Teilsystemen) innerhalb einer Partition eines Systemteilnehmers
(Endgerät)
und einer oder mehreren Anwendung bzw. Anwendungen innerhalb von
einer oder mehreren Partitionen anderer Systemteilnehmer (Steuergerät) zwei Arten
von Kommunikationsports zum Datenaustausch – „Sampling” Ports und die „Queuing” Ports
-
Sampling Ports:
-
Ein
so genanter Sampling Port besitzt Puffer-Speicher für einen
einzige Nachricht. Ankommende Nachrichten überschreiben die sich gegenwärtige im
Puffer befindliche Nachricht. Das Lesen einer Nachricht von einem
Sampling Port entfernt diese nicht aus dem Puffer, so dass die Nachricht
mehrfach gelesen werden kann.
-
Jeder
Sampling Port muss einen Indikator besitzen, der die Aktualität der Nachricht
innerhalb des Puffers anzeigt.
-
Ohne
diesen Indikator wäre
es nicht möglich
festzustellen, ob die Datenübertragung
des Teilsystems beendet ist oder die Nachricht wiederholt gesendet
wird.
-
Typische
Programmierschnittstellen zum Senden und Empfangen von Nachrichten
sehen folgendermaßen
aus
-
Die
SAMPLING_PORT_ID identifiziert den Kommunikations-Port. Die MESSAGE_ADDR
zeigt auf einen Puffer der entweder die zu übertragende Nachricht enthält oder
die zu empfangende Nachricht aufnimmt. LENGTH repräsentiert
die Größe der Nachricht.
-
Queuing Ports:
-
Ein
so genannter Queuing Port hat genügend Puffer Speicher, um eine
feste Anzahl von Nachrichten aufzunehmen. Neue Nachrichten werden
in den Puffer Speicher geschrieben. Das Lesen einer Nachricht von einem
Queuing Port entfernt die Nachricht von dem Puffer Speicher (FIFO).
-
Typische
Programmierschnittstellen zum Senden und Empfangen von Nachrichten
sehen folgendermaßen
aus:
-
Die
SAMPLING_PORT_ID identifiziert den Kommunikations-Port. Die MESSAGE_ADDR
zeigt auf einen Puffer der entweder die zu übertragende Nachricht enthält oder
die zu empfangende Nachricht aufnimmt. LENGTH repräsentiert
die Größe der Nachricht.
-
Typischerweise
besteht ein Endgerät,
dessen Betriebssystem die ARINC 653 Spezifikation erfüllt und eine
oder mehrerer Anwendungen (Teilsystemen) enthält, aus einer oder mehreren
Partitionen, in denen die einzelnen Anwendungen verwaltet werden
und einem Endsystem, das die Anwendungen (Teilsysteme) innerhalb
der Partitionen an ein Kommunikationssystem anbindet. (Beispielhafte
Darstellung in 1).
-
Das
Endsystem stellt eine Schnittstelle (API) zwischen den Anwendungen
(Teilsystemen) innerhalb einer Partition und dem Kommunikationssystem
bereit, um einen sicheren und verlässlichen Datenaustausch zwischen
den Anwendungen (Teilsystemen) unterschiedlicher Systemteilnehmer
(Endgeräte)
zu ermöglichen.
-
Das
Endsystem stellt eine für
die im ARINC 653 spezifizierten Kommunikationsports passende Schnittstelle
zur Verfügung,
um diesen Kommunikationsmechanismus zu unterstützen. Beispielhaft ist die
Verwendung von Kommunikationsports in 3 dargestellt.
-
Nachrichtenorientierte
Bussysteme sind aus dem Stand der Technik bekannt und im Einleitungsteil
beschrieben. In der vorliegenden Erfindung können als nachrichtenorientierte
Bussysteme beispielsweise Flex-Ray oder CAN, DeviceNet, SDS, CAL
und CANopen, Profiaus, P-NET, FIT, Interbus-S, ASI, DIN-Meßbus, HART,
LON, LIN und Ethernet Netzwerke verwendet werden.
-
Kommunikationssysteme
entsprechend der vorliegenden Erfindung sind solche, bei denen insbesondere
die Segmentierung der Daten auf Basis der Größe des Nutzdatenbereichs der
Nachrichtenrahmen erfolgt. Die Segmentierung der Daten kann auf
Basis der Struktur der Daten erfolgen. Darüber hinaus können Kommunikationssysteme
mindestens ein Endgerät
mit mehreren Netzknoten enthalten.
-
Die
Zuordnung der Datenrahmen-Identifikator-zu-Datensegment wird statisch
vorab durchgeführt,
dynamisch während
der Laufzeit durchgeführt
oder innerhalb des Endgeräts
durchgeführt.
-
Das
vorliegende Kommunikationssystem vernetzt Kommunikationsteilnehmer
(Endgeräte)
nach 1, deren Betriebssystem die ARINC 653 Norm bzgl.
dem Austausch von Daten zwischen Partitionen erfüllt oder deren Prinzipien verwendet,
durch ein nachrichtenorientiertes Kommunikationssystem miteinander,
so dass mit Hilfe des Nutzdatenabschnitts der Datenrahmen Daten
zwischen den Partitionen, die sich auf unterschiedlichen Endgeräten befinden,
ausgetauscht werden können.
-
Eine
besondere Ausprägung
dieser Erfindung stellt die Vernetzung von Kommunikationsteilnehmern (Endgeräten) nach 1,
deren Betriebssysteme die ARINC 653 Norm erfüllen, durch den Flex-Ray-Standard dar,
da somit ein deterministischer Datenaustausch gewährleistet
werden kann.
-
Die
Figuren illustrieren die Erfindung.
-
1 zeigt
beispielhaft den Aufbau eines Steuergeräts nach dem ARINC 653 Standard.
-
2 zeigt
ein Beispiel eines erfindungsgemäßen Kommunikationssystems.
-
3 zeigt
beispielhaft die Verbindung von Teilsystemen und Endsystem mittels
Kommunikationsports.
-
4 zeigt
eine beispielhafte Darstellung einer Datenübertragung.
-
5 zeigt
eine beispielhafte Konfiguration des Flex-Ray Bus.
-
6 zeigt
einen Algorithmus zur Findung geeigneter Flex-Ray-Slots
-
7 zeigt
eine beispielhafte Darstellung der ermittelten Flex-Ray-Zeitschlitze
bzw. Flex-Ray-Datenrahmen-IDs.
-
8 zeigt
eine beispielhafte Segmentierung der Daten im Sende- und Empfangskommunikationsport.
-
Im
Folgenden wird die Erfindung an Hand eines speziellen Beispiels
erklärt.
Sie soll aber nicht als darauf eingeschränkt gelten. Vielmehr kann ein
Fachmann die Erfindung analog auch für andere nachrichtenorientierte
Kommunikationssysteme umsetzen.
-
Beispiel:
-
Beispielhaft
sind zwei Steuergeräte,
welche als Betriebssystem die ARINC 653 Norm erfüllen über ein nachrichtenorientiertes
Kommunikationssystem, dem Flex-Ray Bussystem, verbunden (2).
-
Durch
die Applikation (Teilsystem), welche sich innerhalb einer Partition
befindet, werden Daten erzeugt und sofern sie für den Datenaustausch bestimmt
sind nach dem ARINC 653 Standard in einen (Sampling) Port geschrieben,
so dass durch sie ein durch den Port definierter Speicherbereich
(RAM) belegt wird.
-
Das
Kommunikationssystem ist wie in 2 dargestellt über ein „Endsystem” an eine
dem ARINC 653 Standard konforme Schnittstelle angebunden. Über ein
Flex-Ray-Bussystem werden mittels Flex-Ray-Datenrahmen Daten zwischen
den Flex-Ray-Netzwerkknoten übertragen.
Damit wird ein Datenaustausch zwischen Partitionen, die sich nicht
auf dem gleichen Steuergerät
befinden, ermöglicht.
-
Damit
Daten zwischen Sende- und Empfangsport ausgetauscht werden können, werden
dem Sendeport Flex-Ray-Datenrahmen mit der dazugehörigen Flex-Ray-ID
zugewiesen.
-
Somit
kann ein Empfangsport als Gegenstelle zu einem Sendeport über die
zugehörige
Flex-Ray-ID eines
Flex-Ray-Datenrahmen Daten (Nachrichten) vom Flex-Ray-Bus entgegennehmen
und der Applikation mittels des ARINC 653 Port zur Verfügung stellen.
-
Zum
Zwecke der Datenübertragung
müssen
die von der Applikation in einen Port geschriebenen Daten (Nachricht)
und somit einen Speicherbereich im RAM belegen, in geeigneter Form
segmentiert werden, wobei die Segmentierung vorzugsweise auf den
Nutzdatenabschnitt der Flex-Ray-Datenrahmen oder auf der Datenstruktur
der Daten beruht.
-
Im
Empfänger
werden dann die empfangenen Datensegmente zusammengesetzt und über dem
Empfangsport der Applikation zur Verfügung gestellt.
-
Die
Segmente der segmentierten Daten werden zum Versenden der Information
in die entsprechenden Nutzdatenabschnitte der dem Port zugeteilten
Flex-Ray-Datenrahmen geschrieben und laut Flex-Ray-Standard übertragen.
-
Beispielhaft
ist die vorangegangene Beschreibung einer Datenübertragung in 4 dargestellt.
Hier werden die Daten, welche in einen 24 Byte großen Sampling
Port geschrieben werden im RAM Speicher segmentiert und in die zugeteilten
Flex-Ray-Datenrahmen
verpackt und übertragen.
Am Empfangs-Port werden dann die empfangenen Daten desegmentiert
und der Applikation zur Verfügung
gestellt.
-
Sowohl
die Zuteilung der Flex-Ray-IDs zu den einzelnen Ports als auch die
Zuteilung der segmentierten Daten auf Flex-Ray-IDs kann sowohl dynamisch
im operativen als auch im nicht operativen Betrieb (statisch) durch
einen geeigneten Algorithmus durchgeführt werden.
-
Ein
dafür geeigneter
Algorithmus kann als Eingangsgröße Konfigurationsparameter
des Flex-Ray-Standards
und Portkonfigurationsparameter wie z. B. Sendezyklus und Datengröße enthalten.
Als Ausgangsgröße wird
eine oder mehrere Flex-Ray-Datenrahmen-IDs ermittelt, mit der vorteilhafterweise Flex-Ray-Konfigurationsparameter
wie Slot, Zyklus und Kanal verbunden sind, mit der die segmentierten
Daten übertragen
werden können.
-
Gleichzeitig
ergibt sich durch die darauf folgende Datenrahmen-Identifikator-zu-Datensegment-Zuordnung
der durch den Algorithmus gefundenen Flex-Ray-Datenrahmen zu den
durch die Segmentierung entstandenen Datensegmenten eine Bandbreitenreservierung
für Endgeräte.
-
Besonders
vorteilhaft hat sich gezeigt, dass die Bandbreitenreservierung durch
die Zuordnung von Flex-Ray-Datenrahmen-ID Bereichen zu Endgeräten erfolgt,
so dass die durch die Zuweisung einem Endgerät zur Verfügung gestellten Flex-Ray-Datenrahmen
zum Informationsaustausch zwischen den Endgeräten genutzt werden können, wobei
die dafür
geeigneten Flex-Ray-Datenrahmen-IDs innerhalb des zugewiesenen Flex-Ray-Datenrahmen-ID Bereichens wie
vorangehend beschrieben durch einen geeigneten Algorithmus ermittelt
werden können.
-
Bei
nicht deterministischen nachrichtenorientierten Bussystemen wir
z. B. der Can-Bus kommen zur Zuordnung von Datenrahmen mit zugehöriger Datenrahmen-ID
zu Kommunikationsport statistische Methoden zum Einsatz.
-
Der
Algorithmus zur Zuteilung der Datensegmente auf Datenrahmen mit
zugehöriger
Datenrahmen-ID und im speziellen Fall auf Flex-Ray-Datenrahmen kann
wie bereits erwähnt
dynamisch oder statisch ausgeführt
werden.
-
Im
Falle der dynamischen Anwendung kann für die Anwendung des Algorithmus
noch zwischen nicht operativen und operativen Betrieb unterschieden
werden.
-
Im
nicht operativen Betrieb wird während
der Initialisierungsphase entweder die Anwendung eines geeigneten
Algorithmus während
der Initialisierungsphase durchgeführt, wobei dafür die Eingangsdaten
des Algorithmus entweder „On-Board” oder „Off-Board” geladen
werden, die Konfiguration entweder „On-Board” oder „Off-Board” mit einem geeigneten Algorithmus
berechnet wird, das sich daraus ergebende Ergebnis in das Gesamtsystem
eingespielt und das Gesamtsystem getestet und bei erfolgreichem
Test gestartet wird oder eine vorab von einem geeigneten Algorithmus
berechnete und getestete Konfiguration ausgewählt wird, entweder „On-Board” oder „Off-Board” geladen
und das System gestartet wird.
-
On-Board
beschreibt in diesem Sinne lokal im Steuergerät und Off-Board beschreibt
die Möglichkeit außerhalb
des Steuergerätes
vorzugsweise auf einen IT-Server.
-
Im
operativen Betrieb ist ein geeigneter Algorithmus ein Bestandteil
einer Applikation und wird situativ während der Laufzeit ausgeführt. Dabei
werden durch geeignete Protokolle Informationen ausgetauscht, die unter
anderem als Eingangsparameter für
den Algorithmus dienen. Ein Beispiel für einen Mechanismus zum Austausch
von Informationen stellt das UPnP Protokoll dar.
-
Bei
der statischen Ausführung
des Algorithmus wird vorab eine Konfiguration berechnet. Diese wird gestestet
und bei erfolgreichem Test verwendet.
-
Ein
beispielhafter Algorithmus zur Bestimmung und Zuteilung von Flex-Ray-Datenrahmen
mit der zugehörigen
Flex-Ray-Frame-IDs zu Kommunikationsports für eine deterministische Datenübertragung
soll an Hand eines Arinc 653 Sampling Ports, welcher über die
Speicherkapazität
von 24 Byte verfügt
und einen Sendezyklus von 10 ms haben soll, dargestellt werden.
-
Der
Flex-Ray-Bus, welcher zur Übertragung
der Daten des Arinc 653 Sampling Ports verwendet werden soll, ist
als Linientopologie konfiguriert und besitzt 64 Zyklen mit einem
Zykluszeit von 5 ms. Pro Zyklus sind 92 synchrone Zeitschlitze mit
einer Flex-Ray-Nutzdatengröße von 16
Byte definiert. Der Rest sind 288 asynchrone Zeitschlitze. Diese
beschriebene Konfiguration wird in 5 graphisch
dargestellt.
-
Die
Daten des Sendeports werden derart segmentiert, so dass ein Datensegment
vollständig
in einen Datenrahmen passt, wobei mehrere Datensegmente einen Datenrahmen,
unter Berücksichtigung
der Position und Ausrichtung (Lage), zugeordnet werden können.
-
Im
Allgemeinen ist die Zuordnung derart gestaltet, so dass durch eventuelles Überschneiden
der Segmente kein Datenverlust entsteht.
-
Die
Lage der Datensegmente innerhalb eines Datenrahmens wird dem Empfangsport
bereitgestellt oder ist bekannt.
-
Damit
entstehen in diesem Beispiel drei Datensegmente, wobei zwei davon
in dem Flex-Ray-Datenrahmen
1 und ein Datensegment in dem Flex-Ray-Datenrahmen 2 passen.
-
Dies
führt dazu,
dass zwei Flex-Ray-Datenrahmen zur Übertragung der Datensegmente
benötigt
werden.
-
Ein
geeigneter Algorithmus zur Findung der passenden Flex-Ray-Datenrahmen,
welche einem Kommunikationsport zugewiesen werden, um die in ihn
geschriebenen Daten segmentweise zu übertragen und somit auch eine
Bandbreitenreservierung vornimmt, ist in 6 graphisch
dargestellt.
-
Die
für den
in 6 beschrieben Algorithmus gefundenen Zeitschlitze
mit den dazugehörenden Flex-Ray-Datenrahmen
IDs für
das eingangs beschriebene Beispiel sind in 7 graphisch
dargestellt.
-
Die
durch den in 6 dargestellten Algorithmus
gefundenen Flex-Ray-Zeitschlitze mit den dazugehörigen Flex-Ray-Datenrahmen-IDs
werden nun den Datensegmenten des Sendeports zugewiesen.
-
Eine
besondere Ausprägung
der Datenrahmen-ID zu Datensegment Zuordnung tritt auf, wenn jeder Datenrahmen
nur ein Datensegment, welches vollständig in den Datenrahmen passt,
zugeordnet wird.
-
Bezogen
auf dieses Beispiel heißt
das, dass das Datensegment 1 und 2 dem Flex-Ray-Datenrahmen-ID 1 und das Datensegment
3 der Flex-Ray-Datenrahmen-ID 2 zugeordnet werden. Gesendet wird
in den Zyklen 1, 3, 5, ..., 63. Graphisch ist dieser Zusammenhang
in 8 dargestellt.
-
Über den
Flex-Ray-Bus werden zyklisch alle 10 ms die Datensegmente des Sendeports
in die Flex-Ray-Datenrahmen verpackt und versendet.
-
Seitens
des Empfangsport können
nun die innerhalb der Flex-Ray-Datenrahmen gesendeten Datensegmente
entnommen und die einzelnen Datensegmente desegmentiert werden,
um die dadurch entstandenen Daten über den dazu definierten Empfangsport
der Applikation zur Verfügung
zu stellen.
-
Dieser
Vorgang ist beispielhaft in 8 graphisch
dargestellt.