-
Stand der Technik
-
Die
vorliegende Erfindung betrifft einen Teilnehmer eines Kommunikationssystems
umfassend ein Kommunikationsmedium, an das der Teilnehmer angeschlossen
ist, und mindestens einen weiteren an das Kommunikationsmedium angeschlossenen Teilnehmer
gemäß dem Oberbegriff
des Patentanspruchs 1. Die Erfindung betrifft außerdem ein Kommunikationssystem
umfassend ein Kommunikationsmedium und mehrere daran angeschlossene
Teilnehmer gemäß dem Oberbegriff
des Patentanspruchs 11. Schließlich
betrifft die vorliegende Erfindung auch ein Verfahren zum Übertragen
von Applikationsdaten über
ein Kommunikationsmedium eines Kommunikationssystems gemäß dem Oberbegriff des
Patentanspruchs 13.
-
Ein
Beispiel für
ein Kommunikationssystem der eingangs genannten Art ist das aus
dem Stand der Technik bekannte FlexRay-Kommunikationssystem, welches
insbesondere zwei separate Kanäle
zur Datenübertragung
aufweist. Selbstverständlich
gibt es eine Vielzahl anderer Kommunikationssysteme, die ebenfalls
mehrere separate Kanäle
zur Datenübertragung
aufweisen. Bei einem FlexRay-Kommunikationssystem werden der Datenverkehr
auf dem Kommunikationsmedium, Zugriffs- und Empfangsmechanismen
sowie Fehlerbehandlung über
das FlexRay-Protokoll geregelt, wobei derzeit die FlexRay-Protokollspezifikation
v2.1 zugrunde liegt. FlexRay ist ein schnelles, deterministisches
und fehlertolerantes Bussystem, insbesondere für den Einsatz in einem Kraftfahrzeug.
Das FlexRay-Protokoll arbeitet nach dem Verfahren des Time Division
Multiple Access (TDMA), wobei den Teilnehmern (auch als Knoten oder
Komponenten bezeichnet) beziehungsweise den zu übertragenden Botschaften feste
Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff
auf das Kommunikationsmedium haben. Die Zeitschlitze wiederholen
sich dabei in einem festgelegten Kommunikationszyklus, so dass der Zeitpunkt,
zu dem eine Botschaft über
das Kommunikationsmedium ü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 FlexRay den Zyklus
in einen statischen und einen dynamischen Teil. In dem statischen
Teil am Anfang eines Buszyklusses befinden sich dabei feste Zeitschlitze.
In einem dynamischen Teil werden die Zeitschlitze dynamisch vergeben.
Darin wird der exklusive Buszugriff jeweils nur für eine kurze
Zeit, für die
Dauer eines so genannten 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.
-
In
FlexRay sind zwei separate Kanäle
zur Datenübertragung
vorgesehen. Dabei kommuniziert FlexRay über eine oder zwei physikalisch
getrennte Leitungen je Kanal mit einer Datenrate von jeweils maximal
10 Mbit/sec. Selbstverständlich
kann FlexRay auch mit niedrigeren Datenraten betrieben werden. Die
Leitungen der beiden Kanäle
entsprechen dabei der physikalischen Schicht, insbesondere des so
genannten OSI (Open System Architecture)-Schichtenmodells. Es ist
angedacht, die beiden Kanäle
zur redundanten und damit fehlertoleranten Übertragung von Botschaften
zu nutzen, wobei dann zeitgleich die gleichen Daten über beide
Kanäle übertragen
werden. Alternativ können über die
beiden Kanäle
auch unterschiedliche Botschaften übertragen werden, wodurch sich
dann die Datenrate in dem FlexRay-Kommunikationssystem verdoppeln
könnte. Es
ist auch denkbar, dass sich das über
die Verbindungsleitungen übertragene
Signal aus der Differenz von über
die beiden Leitungen übertragenen
Signalen ergibt. Schließlich
kann für
die Datenübertragung auch
lediglich ein Kanal genutzt werden, wobei dann der andere Kanal
ungenutzt und frei ist. Derzeit sind typische FlexRay-Anwendungen entweder
einkanalig oder zweikanalig redundant ausgebildet. Die physikalische
Schicht ist derart ausgestaltet, dass sie eine elektrische, aber
auch optische Übertragung des oder
der Signale über
die Leitung(en) oder eine Übertragung
auf anderem Wege ermöglicht.
-
Um
synchrone Funktionen zu realisieren und die Bandbreite durch kleine
Abstände
zwischen zwei Botschaften zu optimieren, benötigen die Teilnehmer in dem
Kommunikationsnetzwerk eine gemeinsame Zeitbasis, die so genannte
globale Zeit. Für
die Synchronisation von lokalen Uhren der Teilnehmer werden Synchronisationsnachrichten
im statischen Teil des Zyklus übertragen,
wobei mit Hilfe eines speziellen Algorithmus entsprechend der FlexRay-Spezifikation die
lokalen Uhrzeiten der Teilnehmer so korrigiert werden, dass alle
lokalen Uhren zu einer globalen Uhr synchron laufen.
-
Ein
FlexRay-Teilnehmer enthält
einen Teilnehmerprozessor, einen FlexRay-Kommunikationscontroller sowie bei einer
Busüberwachung
einen so genannten Bus Guardian. Dabei liefert und verarbeitet der
Teilnehmerprozessor die Daten, die über den Kommunikationscontroller übertragen
werden. Für die
Kommunikation in einem FlexRay-Netzwerk
können
Botschaften beziehungsweise Nachrichten mit zum Beispiel bis zu
254 Datenbytes konfiguriert werden.
-
In
dem aus dem Stand der Technik bekannten FlexRay-Kommunikationssystem
werden während
des bestimmungsgemäßen Einsatzes
des Kommunikationssystems Anwendungsdaten zwischen den Teilnehmern über das
Kommunikationsmedium übertragen.
Die Daten werden in Nachrichten oder Botschaften in bestimmten Zeitschlitzen
in sich wiederholenden Kommunikationszyklen übertragen. Beispiele für solche
Anwendungsdaten sind beispielsweise Messdaten von Sensoren (Gaspedalstellung,
Quer- und Längsbeschleunigung
im Kraftfahrzeug, Fahrzeuggeschwindigkeit etc.) und Ansteuerdaten
für Aktuatoren
(zum Beispiel Bremsdruck eines elektrisch gesteuerten Bremssystems,
Gangstufe eines automatischen Schaltgetriebes, Unterstützungsmoment
eines Servolenksystems mit adaptiver Momentenunterstützung, Winkelstellung
eines adaptiven Kurvenlichts, etc.). Die Anwendungsdaten werden
also übertragen,
um einen ordnungsgemäßen Betrieb
der Einheit (des Kraftfahrzeugs, des Gebäudes, der Werkzeugmaschine,
etc.) oder einer Teilfunktion der Einheit sicherzustellen, in der
das Kommunikationssystem eingebaut ist.
-
Bevor
das Kommunikationssystem jedoch im bestimmungsgemäßen Betrieb
eingesetzt werden kann, muss es im Rahmen einer Applikationsphase (sogenannte
Calibration) an die spezielle Anwendungsumgebung in der Einheit,
in der es eingebaut ist, angepasst werden. Während der Applikationsphase
wird das Kommunikationssystem beziehungsweise werden die Teilnehmer
des Kommunikationssystems an die spezielle Netzwerktopologie, an
die Anzahl und Art der verwendeten Teilnehmer, an Besonderheiten
der Datenübertragung
(Länge
der Botschaften, verwendete Datenübertragungsrate, verwendete
Kanäle
für die
Datenübertragung,
etc.) und vor allem an andere Besonderheiten der konkreten Anwendungsumgebung
angepasst. Des Weiteren wird beispielsweise die Software in dem
Kommunikationssystem beziehungsweise in den Teilnehmern angepasst,
es kann die Störstrahlung
ermittelt und es können
beispielsweise EMV-Messungen
durchgeführt
werden. Während
der Applikationsphase oder für
EMV-Messungen müssen
zusätzliche
interne Daten (sog. Applikationsdaten), die üblicherweise während des
bestimmungsgemäßen Betriebs
des Kommunikationssystems nicht übertragen
werden, zusätzlich über das
Kommunikationsmedium übertragen
werden. Applikationsdaten sind also Daten, die bspw. während des Änderns eines
Programms oder von Daten (sog. Flashen) oder während EMV-Messungen übertragen
werden. Die Applikationsdaten erlauben also eine Änderung
von Programmen und/oder Daten oder Teilen davon und ein Auswerten des
EMV-Messvorgangs.
-
Denkbar
ist beispielsweise, dass eine externe Testereinheit an das FlexRay-Kommunikationsmedium
mittels geeigneter Hardware angeschlossen wird. Die Testereinheit
empfangt beispielsweise die zusätzlich übertragenen
internen Daten und verwendet diese für eine Überwachung des Ablaufs von Software
in dem Kommunikationssystem beziehungsweise in den Teilnehmern oder
zur Fehlersuche in der Software. Darüber hinaus kann die Testereinheit
auch Ansteuersignale für
das Kommunikationssystem beziehungsweise für die Teilnehmer des Kommunikationssystems
generieren und diese als zusätzlich
zu übertragende
interne Daten an die Teilnehmer übermitteln.
Mittels der Ansteuersignale kann beispielsweise die verwendete Software
parametrisiert und an die spezielle Anwendungsumgebung angepasst
werden. Diese zusätzlich
zu übertragenden
internen Daten vom Teilnehmer weg (zum Beispiel Messdaten) oder
zum Teilnehmer hin (zum Beispiel Ansteuerdaten) werden im Stand
der Technik über
das gleiche Kommunikationsmedium und über die gleichen Kanäle übertragen
wie die Anwendungsdaten. Das führt
dazu, dass durch die Applikation die Buslast deutlich verändert wird,
so dass das Verhalten des Gesamtkommunikationssystem, das sich aus
dem Verhalten des Kommunikationssystems im Normalbetrieb überlagert
durch das Verhalten während
der Applikationsphase ergibt, anders ist als bei dem Kommunikationssystem
im Normalbetrieb alleine betrachtet, das heißt ohne die Applikation. Das
ist nachteilig und kann Probleme bei der Applikation des Kommunikationssystems
mit sich bringen, da während
der Applikationsphase keine Realbedingungen, sondern lediglich durch
die Applikation veränderte
Realbedingungen vorliegen. Die Probleme können die zeitlichen Abläufe in dem
Kommunikationssystem, aber auch die Übertragungskapazität und die Übertragungsgeschwindigkeit über das
Kommunikationsmedium betreffen. Eine Applikation des Kommunikationssystems
ist unter diesen Bedingungen nur bedingt möglich.
-
Um
eine Beeinflussung der Buslast durch die Applikation zu verhindern,
wird im Stand der Technik bereits vorgeschlagen, in dem Kommunikationssystem
temporär
ein separates Zusatznetzwerk mit entsprechender Zusatzhardware vorzusehen,
die ausschließlich
während
der Applikationsphase genutzt werden. Über dieses Zusatznetzwerk kann
dann die Übertragung
der Applikationsdaten erfolgen, ohne dass dadurch die Buslast des
für die Übertragung
der Anwendungsdaten vorgesehenen Kommunikationsmediums verändert wird.
Das Zusatznetzwerk und die Zusatzhardware für die Applikationsdaten werden während der
Applikationsphase und nur für
die Dauer der Applikationsphase in das Kommunikationssystem eingebracht
bzw. nur in speziellen Applikationssteuergeräten verbaut. Nach Beendigung
der Applikationsphase werden Zusatznetzwerk und die Zusatzhardware
wieder entfernt. Dadurch ergeben sich erhebliche zusätzliche
Kosten für
die Zusatzhardware und das Zusatznetzwerk, sowie für das Anschließen und
Einrichten der Zusatzhardware und des Zusatznetzwerkes am Anfang
der Applikationsphase und das Entfernen am Ende der Applikationsphase.
Dies gilt umso mehr, als in den meisten Kommunikationssystemen die
einzelnen Komponenten von außen
unzugänglich
verborgen im Inneren des Kraftfahrzeugs angeordnet sind, so dass
das Anordnen der Zusatzhardware und des Zusatznetzwerkes häufig überhaupt
nicht oder nur unter Überwindung großer Schwierigkeiten
möglich
ist.
-
Offenbarung der Erfindung
-
Der
vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, eine
Möglichkeit
zu schaffen, auf eine möglichst
einfache und unkomplizierte Art und Weise ein Kommunikationssystem während der
Applikationsphase möglichst
realitätsnah,
das heißt nach
Möglichkeit
ohne eine Veränderung
der Buslast durch die Applikation, betreiben zu können.
-
Zur
Lösung
dieser Aufgabe wird ausgehend von dem Teilnehmer gemäß dem Oberbegriff
des Patentanspruchs 1 vorgeschlagen, dass die mindestens eine Sende-Empfangseinheit
des Teilnehmers derart ausgebildet ist, dass sie einen der Kanäle zum Senden
und/oder Empfangen von ersten Daten und einen anderen Kanal zum
Senden und/oder Empfangen von zweiten Daten nutzt, wobei die ersten
und die zweiten Daten zum gleichen Zeitpunkt betrachtet unterschiedlich
sind. Des Weiteren wird zur Lösung der
Aufgabe ein Kommunikationssystem gemäß dem Oberbegriff des Patentanspruchs
11 vorgeschlagen, wobei das Kommunikationssystem derart ausgebildet
ist, dass es einen der Kanäle
zum Übertragen
von ersten Daten und einen anderen Kanal zum Übertragen von zweiten Daten
nutzt, wobei die ersten und die zweiten Daten zum gleichen Zeitpunkt
betrachtet unterschiedlich sind. Schließlich wird zur Lösung der Aufgabe
der vorliegenden Erfindung ausgehend von dem Verfahren gemäß dem Oberbegriff
des Patentanspruchs 13 vorgeschlagen, dass Anwendungsdaten über einen
ersten der Kanäle
des Kommunikationsmediums und Applikationsdaten über einen anderen Kanal übertragen
werden.
-
Die
Unteransprüche
betreffen vorteilhafte Ausgestaltungen der vorliegenden Erfindung.
Die Ansprüche
2–5 betreffen
dabei eine Ausführungsform,
bei der der erfindungsgemäße Teilnehmer
als Gateway zum Empfangen von Daten über einen der Kanäle von einem
ersten Teilnehmer und zum Weiterleiten der empfangenen Daten an
einen zweiten Teilnehmer über
einen anderen Kanal ausgebildet ist. Die empfangenen Daten können vor
dem Weiterleiten in dem erfindungsgemäßen Teilnehmer verarbeitet,
insbesondere verstärkt
werden. Zum Empfangen der Daten von dem ersten Teilnehmer und zum
Senden der Daten an den zweiten Teilnehmer weist der Teilnehmer
zwei separate Sende-Empfangseinheiten (sog. Transceiver) auf, wobei
eine der Einheiten zum Empfangen der Daten über den einen Kanal und die andere
Sende-Empfangseinheit zum Senden bzw. Weiterleiten der Daten über den
anderen Kanal eingesetzt wird. In diesem Fall muss eine Weiterleitung der
empfangenen Daten von der ersten Sende-Empfangseinheit an die zweite
Sende-Empfangseinheit innerhalb des erfindungsgemäßen Teilnehmers
bzw. ein Mithören
des zweiten Transceivers beim Empfangen von Daten durch den ersten
Transceiver sichergestellt sein. Die von dem erfindungsgemäßen Teilnehmer über den
ersten Kanal empfangenen Daten und die über den anderen Kanal von dem
Teilnehmer ausgesandten Daten unterscheiden sich zumindest dahingehend,
dass sie zeitlich versetzt zueinander sind. Das ist insbesondere
darin begründet,
dass für das
Empfangen der Daten in dem Teilnehmer auf dem einen Kanal, für die Vorbereitung
der Daten zur Übertragung über den
anderen Kanal und für
das Aussenden der empfangenen Daten über den anderen Kanal eine
bestimmte Verarbeitungszeit erforderlich ist, die zu einer Verzögerung der
ausgesandten Daten führt.
Falls in dem erfindungsgemäßen Teilnehmer
zusätzlich
noch eine Verarbeitung der empfangenen Daten vorgesehen ist, kann
sich eine weitere Verzögerung
der ausgesandten Daten aufgrund der Verarbeitungszeit ergeben. Zudem
können
sich die verarbeiteten ausgesandten Daten auch bezüglich ihrer
Amplitude oder gar inhaltlich von den empfangenen Daten unterscheiden.
-
Die
Ansprüche
6–10 betreffen
eine Ausführungsform,
wonach über
einen der Kanäle
Anwendungsdaten übertragen
werden und über
einen anderen Kanal Applikationsdaten übertragen werden. Diese Ausführungsform
findet insbesondere während
der Applikationsphase des Kommunikationssystems Anwendung. Bei einer
einkanaligen Anwendungsdatenübertragung
wird einfach ein anderer, freier Kanal, das heißt ein Kanal der nicht für die Übertragung
von Anwendungsdaten genutzter Kanal, für die Übertragung der Applikationsdaten
herangezogen. Bei einer redundanten Übertragung von Anwendungsdaten
wird die Übertragung
während der
Applikationsphase einfach auf einen Kanal beschränkt, so dass ein anderer, nunmehr
freier Kanal für
die Übertragung
der Applikationsdaten genutzt werden kann. Dies ist problemlos möglich, da
die redundante Datenübertragung
insbesondere im Hinblick auf den bestimmungsgemäßen Einsatz in sicherheitsrelevanten
Systemen (z. B. x-by-wire
System in einem Kraftfahrzeug) Vorteile hinsichtlich Sicherheit
und Verfügbarkeit
bringt. Während
der Applikationsphase sind diese Sicherheitsaspekte nicht so wichtig,
da Fehler in der Datenübertragung
oder gar ein Ausfall der Datenübertragung
während
der Applikationsphase nicht derart schwerwiegende Folgen hat wie
während
des bestimmungsgemäßen Einsatzes
des Kommunikationssystems während
des Betriebs im Feld bzw. da die Sicherheit anderweitig, bspw. durch
zusätzliche
Maßnahmen
erzielt werden kann.
-
Die
Applikationsdaten sind beispielsweise Daten zum Messen bestimmter
Zustände
von Systemen (z. B. x-by-wire Systemen) oder Teilsystemen (z. B.
Sensoren oder Aktuatoren) der Einheit (z. B. eines Kraftfahrzeugs),
in der das Kommunikationssystem eingesetzt wird, welche während des
bestimmungsgemäßen Betriebs
des Kommunikationssystems nicht übertragen
werden und lediglich zur Applikation des Kommunikationssystems herangezogen
werden. Die Messdaten können
beispielsweise über
den freien Kanal von dem erfindungsgemäßen Teilnehmer an eine an das
Kommunikationsmedium angeschlossene externe Testereinheit übertragen
werden. Alternativ oder zusätzlich
kann der freie Kanal auch zum Übertragen
von überarbeiteten
Softwareständen (sog.
updates), vorzugsweise von einer externen Testereinheit an den erfindungsgemäßen Teilnehmer,
zur Ablage in einem Speicherelement des Teilnehmers genutzt werden.
Dieser Vorgang wird auch als Flashen bezeichnet. Während der
Applikationsphase kann es erforderlich sein, dass überarbeitete oder
ergänzte
Softwarestände
an einen oder mehrere der Teilnehmer des Kommunikationssystems übertragen
und dort in den Speicherelementen abgelegt werden. Auf diese Weise
kann das Kommunikationssystem auf die konkrete Anwendungsumgebung appliziert
werden.
-
Xxx
Es ist denkbar, dass bestimmte Applikationsdaten auch währenddes
bestimmungsgemäßen Betriebs
des Kommunikationssystems übertragen werden.
Dies kann über
den gleichen Kanal wie die Übertragung
der Anwendungsdaten oder aber über einen
anderen Kanal erfolgen. dabei wird jedoch Bandbreite verschwendet,
falls diese Daten nicht genutzt werden.
-
Kurze Beschreibung der Zeichnungen
-
Die
Erfindung wird nachfolgend anhand der Figuren näher erläutert. Es zeigen:
-
1 ein
erfindungsgemäßes Kommunikationssystem
gemäß einer
ersten bevorzugten Ausführungsform;
-
2 ein
erfindungsgemäßes Kommunikationssystem
gemäß einer
zweiten bevorzugten Ausführungsform;
-
3 ein
erfindungsgemäßes Kommunikationssystem
gemäß einer
dritten bevorzugten Ausführungsform,
bei der ein Teilnehmer über
einen Kommunikationsbaustein an das Kommunikationsmedium angeschlossen
ist;
-
4 einen
Kommunikationsbaustein zum Anbinden eines Teilnehmers des Kommunikationssystems
an das Kommunikationsmedium; und
-
5 den
Kommunikationsbaustein aus 4 im Detail.
-
Ausführungsform(en)
der Erfindung
-
In 1 ist
ein erfindungsgemäßes Kommunikationssystem
in seiner Gesamtheit mit dem Bezugszeichen 1 bezeichnet.
Das Kommunikationssystem 1 umfasst ein Kommunikationsmedium 2,
welches zwei Verbindungsleitungen 2a zur Datenübertragung über einen
ersten Kanal A und separat davon zwei weitere Verbindungsleitungen 2b für eine Datenübertragung über einen
zweiten Kanal B aufweist. Selbstverständlich kann das Kommunikationsmedium 2 statt
leitungsgebunden auch als eine Funkverbindung oder eine Infrarot
oder anderweitig ausgebildet sein. Das Kommunikationssystem 1 umfasst
außerdem
mehrere Teilnehmer 3, von denen in 1 vier Teilnehmer 3a, 3b, 3c, 3d dargestellt
sind und die an das Kommunikationsmedium 2 angeschlossen sind.
Bei dem Teilnehmer 3c handelt es sich um einen erfindungsgemäßen Teilnehmer,
der in 1 mit "DUT" (Device Under Test;
getestete oder betrachtete Einheit) bezeichnet ist. Bei dem Teilnehmer 3d handelt
es sich um eine Testereinheit, die beispielsweise während einer
Applikationsphase an das Kommunikationsmedium 2 angeschlossen
und somit Teil des Kommunikationssystems 1 ist. Während des
bestimmungsgemäßen Betriebs
des Kommunikationssystems ist die Testereinheit 3d in der
Regel nicht mehr an das Kommunikationsmedium 2 angeschlossen.
Die Testereinheit 3d ist in 1 mit "Calibration tool" (Kalibrierungswerkzeug)
bezeichnet. Bei den Teilnehmern 3a, 3b handelt
es sich um so genannte weitere Teilnehmer, die ebenfalls an das
Kommunikationsmedium 2 angeschlossen und somit Teil des Kommunikationssystems 1 sind.
Auch die Teilnehmer 3a und 3b können theoretisch
als erfindungsgemäße Teilnehmer
ausgebildet sein und eine entsprechende Funktionalität aufweisen.
-
Die
Teilnehmer 3a, 3b, 3c, 3d umfassen
jeweils mindestens einen Mikrocontroller 4 und mindestens
einen Kommunikationscontroller 5. Der Kommunikationscontroller 5 eines
jeden Teilnehmers 3a, 3b, 3c, 3d umfasst
eine erste Sende-/Empfangseinheit 6 (so genannter Transceiver
Xcvr) für
einen ersten Kanal A sowie eine zweite Sende-/Empfangseinheit 7 (Transceiver
Xcvr) für
einen anderen Kanal B. Selbstverständlich kann auch ein und derselbe Transceiver
für den
ersten Kanal A und für
den zweiten Kanal B verwendet werden. Es ist denkbar, dass alle
Teilnehmer 3a, 3b, 3c, 3d an
beide Kanäle
A, B des Kommunikationsmediums 2 angeschlossen sind. In
dem Ausführungsbeispiel
aus 1 sind die Teilnehmer 3a, 3b und 3c über die
Transceiver 6, 7 des Kommunikationscontrollers 5 an
beide Kanäle
A, B angeschlossen. Die Testereinheit 3d ist dagegen über ihre
Sende-/Empfangseinheit 7 nur an den zweiten Kanal B des
Kommunikationsmediums 2 angeschlossen.
-
Bei
den Teilnehmern 3a, 3b und 3c handelt es
sich um Teilnehmerknoten des Kommunikationsnetzwerkes 1,
welche im bestimmungsgemäßen Betrieb
des Netzwerks 1 über
das Kommunikationsmedium 2 Anwendungsdaten miteinander
austauschen. Der bestimmungsgemäße Betrieb
des Kommunikationssystems 1 setzt langwierige Entwurfs-,
Entwicklungs-, Implementierungs- und Applikationsphasen voraus.
Während
der Applikationsphase wird das fertig aufgebaute Kommunikationsnetzwerk 1 unter möglichst
realitätsnahen
Bedingungen betrieben und an die vorgegebene Anwendungsumgebung
angepasst (appliziert). Zu diesem Zweck wird die Testereinheit 3d an
das Kommunikationsmedium 2 angeschlossen. Während der
Applikationsphase tauschen die Teilnehmer 3a, 3b, 3c untereinander
und insbesondere mit der Testereinheit 3d zusätzlich zu
den Anwendungsdaten so genannte Applikationsdaten aus. Applikationsdaten
sind solche Daten, die ausschließlich während der Applikationsphase übertragen
und zur Applikation des Kommunikationssystems 1 herangezogen
werden. Applikationsdaten sind insbesondere Messdaten, welche die
Zustände der
Teilnehmer 3a, 3b, 3c oder von daran
angeschlossenen Funktionseinheiten angeben. Diese Messdaten werden
vorzugsweise von den Teilnehmern 3a, 3b und/oder 3c an
die Testereinheit 3d übertragen.
Diese ermittelt dann anhand der Messdaten den aktuellen Zustand
des Systems, der Einheiten oder von Teilfunktionalitäten der
Einheiten. Des Weiteren umfassen Applikationsdaten auch ergänzte und/oder überarbeitete
Computerprogramme oder Teile davon (sog. Software-Updates), die
vorzugsweise von der Testereinheit 3d an die Teilnehmer 3a, 3b und/oder 3c übertragen
und dort in einem Speicherelement abgelegt werden (sog. Flashen).
-
Erfindungsgemäß wird vorgeschlagen,
dass über
einen der Kanäle
des Kommunikationsmediums 2, in dem Ausführungsbeispiel
aus 1 über
den Kanal A, Anwendungsdaten übertragen
werden, wie dies während
des bestimmungsgemäßen Betriebs des
Kommunikationssystems 1 der Fall ist. Zusätzlich werden
beispielsweise während
einer Applikationsphase über
einen anderen Kanal, in dem Ausführungsbeispiel
aus 1 über
den Kanal B, Applikationsdaten übertragen.
Das hat den Vorteil, dass die Anwendungsdaten selbst in der Applikationsphase ohne
Beeinträchtigung
zwischen den Teilnehmern 3a, 3b, 3c über den
Kanal A des Kommunikationsmediums 2 ausgetauscht werden
können.
Da die Übertragung
der Applikationsdaten über
einen separaten anderen Kanal B erfolgt, wird die Buslast (Kanal
A für die
Anwendungsdaten) durch die Applikation nicht verändert. Das hat den Vorteil,
dass die Testereinheit 3d das Kommunikationssystem 1 besonders
realitätsnah,
das heißt
so wie es beim bestimmungsgemäßen Einsatz
vorliegt, und ohne Beeinflussung durch die Applikation beobachten,
testen, implementieren und applizieren kann. Außerdem können über den anderen Kanal B Softwareupdates
schnell und unkompliziert an die Teilnehmer 3a, 3b und/oder 3c übertragen
und dort in Speicherelementen abgelegt werden.
-
Das
Kommunikationssystem 1 ist vorzugsweise als ein FlexRay-Kommunikationssystem
ausgebildet, in dem Daten gemäß der FlexRay-Spezifikation übertragen
werden. Die Erfindung kann natürlich
auch in jedem anderen Kommunikationssystem realisiert werden, welches
mindestens zwei separate Kanäle
für die
Datenübertragung
zur Verfügung
stellt.
-
Bei
dem Ausführungsbeispiel
aus 2 sind gleiche Bauteile mit gleichen Bezugszeichen
wie in 1 bezeichnet. Dabei sind die Teilnehmer 3a, 3b identisch
ausgebildet wie in 1. Der erfindungsgemäße Teilnehmer
(DUT, Device Under Test) ist nunmehr mit dem Bezugszeichen 3e bezeichnet
und unterscheidet sich von dem Teilnehmer 3c aus 1 insbesondere
dadurch, dass der Teilnehmer 3e als Gateway zur Weiterleitung
von Daten über
den anderen Kanal B arbeitet und dementsprechend ausgebildet ist.
Bei dem Ausführungsbeispiel
aus 2 wird nun nicht mehr die Applikationsphase, sondern
der bestimmungsgemäße Betrieb
des Kommunikationssystems 1 betrachtet. Dabei tauschen
die Teilnehmer 3a, 3b, 3e über den
ersten Kanal A des Kommunikationsmediums 2 ganz normal Anwendungsdaten
untereinander aus. Die über
den Kanal A übermittelten Anwendungsdaten
werden nicht direkt an den Teilnehmer 3f übertragen,
sondern lediglich mittelbar über
den erfindungsgemäßen Teilnehmer 3e.
Zur Weiterleitung der über
den Kanal A übertragenen
Daten an den Teilnehmer 3f nutzt der erfindungsgemäße Teilnehmer 3e nicht
den Kanal A, sondern einen anderen freien, separaten Kanal B des
Kommunikationsmediums 2. Diese Ausführungsform macht beispielsweise
Sinn, um Anwendungsdaten über
große Entfernungen
zu dem Teilnehmer 3f zu übertragen.
-
Daten,
die über
den ersten Kanal A des Kommunikationsmediums 2 übertragen
werden, werden also von dem Transceiver 6e für den Kanal
A empfangen, an den Transceiver 7e für den Kanal B weitergeleitet
und von dem Transceiver 7e dann über die Leitungen 2b des
Kanals B des Kommunikationsmediums 2 an den Teilnehmer 3f übertragen.
Dort werden sie von dem Transceiver 7f für den Kanal
B empfangen und einer Weiterverarbeitung in dem Teilnehmer 3f oder
in einer daran angeschlossenen Einheit (nicht dargestellt) zugeführt.
-
Zwischen
dem Empfang der über
den Kanal A übertragenen
Daten in dem Transceiver 6e und dem Weiterleiten der empfangenen
Daten durch den Transceiver 7e für den Kanal B können die
empfangenen Daten in dem Teilnehmer 3e noch verarbeitet werden,
falls gewünscht.
Die Verarbeitung der empfangenen Daten umfasst insbesondere ein
Verstärken
der empfangenen Daten, so dass diese über den Kanal B erneut über eine
relativ große
Strecke bis hin zu dem Teilnehmer 3f übermittelt werden können.
-
In
3 ist
eine weitere Ausführungsform der
Erfindung dargestellt, die im wesentlichen auf der Ausführungsform
aus
2 aufbaut. Gleiche Bauteile sind wiederum mit
gleichen Bezugszeichen bezeichnet. Im Unterschied zu der Ausführungsform aus
2 ist
der Teilnehmer
3e nicht direkt, sondern mittelbar über einen
Kommunikationsbaustein
10 an das Kommunikationsmedium
2,
also an die physikalische Schicht des Kommunikationssystems
1,
angeschlossen. Aufbau und Funktion des Kommunikationsbausteins
10 sind
im Detail in der
DE 10 2005 048584 beschrieben.
Der Kommunikationsbaustein
10 stellt die Grundlage für eine bestimmte
Implementierung eines Kommunikations-Controllers in Hardware dar.
Der Vorteil des Einsatzes eines Kommunikationsbausteins
10 im
Zusammenhang mit der vorliegenden Erfindung ist die Möglichkeit
des Bausteins
10, die selben Daten mit mehreren Zwischenspeichern
(sog. Buffern) zu verwenden. Der Kommunikationsbaustein
10 kann
auf einem Kanal A zu einem bestimmten Zeitpunkt, das heißt in einem
bestimmten Zeitschlitz, empfangene Daten auf einem anderen Kanal
B und zu einem anderen Zeitpunkt, das heißt in einem anderen Zeitschlitz,
weiterleiten. Ein Beispiel für
einen FlexRay-Kommunikationsbaustein
10 ist
in
4 dargestellt.
-
Der
FlexRay-Kommunikationsbaustein 10 ist über eine Verbindung 17 mit
dem Teilnehmer bzw. Teilnehmerprozessor 3e und über eine
Verbindung 16 mit dem Kommunikationsmedium 2 verbunden. Zur
problemlosen Anbindung zum einen bezogen auf Übertragungszeiten und zum anderen
bezogen auf die Datenintegrität
sind schematisch im Wesentlichen drei Anordnungen im FlexRay-Kommunikationsbaustein
unterschieden. Dabei dient eine erste Anordnung 15 zur
Speicherung, insbesondere Zwischenablage, wenigstens eines Teils
der zu übertragenden
Botschaften. Zwischen dem Teilnehmer 3e und dieser ersten
Anordnung 15 ist über
die Verbindungen 17 und 18 eine zweite Anordnung 14 geschaltet.
Ebenso ist zwischen dem Kommunikationsmedium 2 und der
ersten Anordnung 15 eine dritte Anordnung 13 über die
Verbindungen 16 und 19 geschaltet, wodurch ein
sehr flexibles Eingeben und Ausgeben von Daten als Teil von Botschaften,
insbesondere FlexRay-Botschaften in bzw. aus der ersten Anordnung 15 mit
Gewährleistung
der Datenintegrität
bei optimaler Geschwindigkeit erzielbar ist.
-
In 5 ist
der Kommunikationsbaustein 10 in einer bevorzugten Ausführungsform
im Detail dargestellt. Ebenso im Detail dargestellt sind die jeweiligen
Verbindungen 16 bis 19. Die zweite Anordnung 14 enthält dabei
einen Eingangspufferspeicher oder Eingabepufferspeicher 21 (Input
Buffer IBF), einen Ausgangspufferspeicher oder Ausgabepufferspeicher 22 (Output
Buffer OBF) sowie einen Schnittstellenbaustein bestehend aus zwei
Teilen 23 und 24, wobei der eine Teilbaustein 23 teilnehmerunabhängig und
der zweite Teilbaustein 24 teilnehmerspezifisch ist. Der
teilnehmerspezifische Teilbaustein 24 (Customer CPU Interface
CIF) verbindet eine teilnehmerspezifische Host-CPU 3e,
also einen kundenspezifischen Teilnehmer, mit dem FlexRay-Kommunikationsbaustein 10.
Dazu ist eine bidirektionale Datenleitung 36, eine Adressleitung 37 sowie
ein Steuereingang 38 vorgesehen. Ebenso vorgesehen ist
mit 39 ein Interrupt- oder Unterbrechungs-Ausgang. Der teilnehmerspezifische
Teilbaustein 24 steht in Verbindung mit einem teilnehmerunabhängigen Teilbaustein 23 (Generic
CPU Interface, GIF), d. h. der FlexRay-Kommunikationsbaustein 10,
der auch als FlexRay-IPModul bezeichnet wird, verfügt über ein
generisches, also allgemeines, CPU-Interface, an das sich über entsprechende
teilnehmerspezifische Teilbausteine 24, also Customer CPU
Interfaces CIF eine große
Anzahl von unterschiedlichen kundenspezifischen Host CPUs 3e anschließen lassen.
Dadurch muss abhängig
vom Teilnehmer 3e nur der Teilbaustein 24 variiert
werden, was einen deutlich geringeren Aufwand bedeutet.
-
Der
Eingabepufferspeicher oder Eingangspufferspeicher 21 und
der Ausgangspufferspeicher oder Ausgabepufferspeicher 22 können in
einem Speicherbaustein oder aber in getrennten Speicherbausteinen
ausgebildet sein. Dabei dient der Eingabepufferspeicher 21 für die Zwischenspeicherung von
Botschaften für
die Übertragung
zum Botschaftsspeicher 20. Der Eingabepufferbaustein ist
vorzugsweise so ausgebildet, dass er zwei vollständige Botschaften bestehend
aus jeweils einem Kopfsegment oder Header Segment, insbesondere
mit Konfigurationsdaten und ein Datensegment oder Payload Segment
speichern kann. Dabei ist der Eingabepufferspeicher zweiteilig (Teilpufferspeicher
und Schattenspeicher) ausgebildet, wodurch sich durch wechselweises
Schreiben der beiden Teile des Eingabepufferspeichers 21 bzw.
durch Zugriffswechsel die Übertragung
zwischen Teilnehmer-CPU 3e und Botschaftsspeicher 20 beschleunigen
lässt.
Ebenso dient der Ausgabepufferspeicher oder Ausgangspufferspeicher 22 (Output-Buffer
OBF) für
die Zwischenspeicherung von Botschaften für die Übertragung vom Botschaftsspeicher 20 zur
Teilnehmer-CPU 3e. Dabei ist auch der Ausgabepuffer 22 so
gestaltet, dass zwei komplette Botschaften bestehend aus Kopfsegment,
insbesondere mit Konfigurationsdaten und Datensegment, also Payload
Segment, gespeichert werden können.
Auch hier ist der Ausgabepufferspeicher 22 in zwei Teile,
einen Teilpufferspeicher und einen Schattenspeicher, aufgeteilt,
wodurch sich auch hier durch wechselweises Lesen der beiden Teile
die Übertragung
bzw. durch Zugriffswechsel die Übertragung
zwischen Teilnehmer- bzw. Host-CPU 3e und Botschaftsspeicher 20 beschleunigen
lässt. Diese
zweite Anordnung 14 bestehend aus den Blöcken 21 bis 24 ist
mit der ersten Anordnung 15 wie dargestellt verbunden.
-
Die
Anordnung
15 besteht aus einem Botschaftsverwalter
20 (Message
Handler MHD) und einem Botschaftsspeicher
30 (Message RAM).
Der Botschaftsverwalter
20 kontrolliert bzw. steuert den Datentransfer
zwischen dem Eingabepufferspeicher
21 sowie Ausgabepufferspeicher
22 und
dem Botschaftsspeicher
30. Gleichermaßen kontrolliert bzw. steuert
er die Datenübertragung
in der anderen Richtung über
die dritte Anordnung
13. Der Botschaftsspeicher
30 ist
vorzugsweise als single-ported RAM ausgeführt. Dieser RAM-Speicher speichert
die Botschaften bzw. Botschaftsobjekte, also die eigentlichen Daten,
zusammen mit Konfigurations- und Statusdaten. Die genaue Struktur
des Botschaftsspeichers
30 ist in
3 der
DE 10 2005 048584 und
der dazugehörigen
Figurenbeschreibung näher
beschrieben. Auf die dortigen Ausführungen wird ausdrücklich Bezug
genommen.
-
Die
dritte Anordnung 13 besteht aus den Blöcken 25 bis 28.
Entsprechend den beiden Kanälen
A, B des FlexRay Physical Layer ist diese Anordnung 13 in
zwei Datenpfade mit je zwei Datenrichtungen aufgeteilt. Dies wird
durch die Verbindungen 33 und 34 deutlich, worin
die beiden Datenrichtungen für
den Kanal A, RxA und TxA für
Empfangen (RxA) und Senden (TxA) sowie für Kanal B, RxB und TxB dargestellt
sind. Mit Verbindung 35 ist ein optionaler bidirektionaler
Steuereingang bezeichnet. Die Anbindung der dritten Anordnung 13 erfolgt über einen
ersten Pufferspeicher 25 für Kanal B und einen zweiten Pufferspeicher 26 für Kanal
A. Diese beiden Pufferspeicher 25, 26 (Transient
Buffer RAMs: RAM A und RAM B) dienen als Zwischenspeicher für die Datenübertragung
von bzw. zu der ersten Anordnung 15. Entsprechend der beiden
Kanäle
sind diese beiden Pufferspeicher 25 und 26 mit
jeweils einem Schnittstellenbaustein 27 und 28 verbunden,
welche die FlexRay-Protokoll-Controller oder Busprotokoll-Controller
bestehend aus einem Sende-/Empfangs-Schiebregister und einer FlexRay
Protokoll Finite State Maschine enthalten. Die beiden Pufferspeicher 25 und 26 dienen
somit als Zwischenspeicher für
die Datenübertragung
zwischen den Schieberegistern der Schnittstellenbausteine oder FlexRay Protokoll
Controller 27 und 28 und dem Botschaftsspeicher 30.
Auch hier werden vorteilhafter Weise durch jeden Pufferspeicher 25 oder 26 die
Datenfelder, also das Payload Segment oder Datensegment zweier FlexRay-Botschaften gespeichert.
-
Weiterhin
dargestellt im Kommunikationsbaustein 10 ist mit 29 eine
globale Zeiteinheit (Global Time Unit GTU), welche für die Darstellung
der globalen Zeitraster im FlexRay, also den Mikrotick μT und den
Makrotick MT, zuständig
ist. Ebenso wird über die
globale Zeiteinheit 29 die fehlertolerante Uhrensynchronisation
der Zykluszähler
(Cycle Counter) und die Kontrolle der zeitlichen Abläufe im statischen und
dynamischen Segment des FlexRay geregelt. Mit Block 30 ist
die allgemeine Systemsteuerung (System Universal Control SUC) dargestellt,
durch welche die Operationsmodi des FlexRay-Kommunikationscontrollers
kontrolliert und gesteuert werden. Dazu gehören der Wakeup, der Startup,
die Reintegration bzw. Integration, Normaloperation (normal operation)
und passive Operation (passive operation).
-
Block 31 zeigt
das Netzwerk und Fehlermanagement (Network- und Error Management
NEM), wie in der FlexRay-Protokollspezifikation beschrieben. Block 32 schließlich zeigt
die Unterbrechungssteuerung (Interrupt Control INT), welche die
Status- und Fehlerunterbrechungsflaggen (status and error interrupt
flags) verwaltet und die Unterbrechungsausgänge 39 zur Teilnehmer-CPU 3e kontrolliert
bzw. steuert. Der Block 32 enthält außerdem einen absoluten und
einen relativen Timer bzw. Zeitgeber zur Erzeugung der Zeitunterbrechungen
oder des Timerinterrupts.
-
Für die Kommunikation
in einem FlexRay-Netzwerk können
Botschaftsobjekte bzw. Botschaften (Message Buffer) mit bis zu 254
Datenbytes konfiguriert werden. Der Botschaftsspeicher 30 ist insbesondere
ein Botschafts-RAM-Speicher (Message RAM), welcher z. B. bis zu
maximal 128 Botschaftsobjekte speichern kann. Alle Funktionen, die die
Behandlung bzw. Verwaltung der Botschaften selbst betreffen, sind
dem Botschaftsverwalter oder Message Handler 20 implementiert.
Dies sind z. B. die Akzeptanzfilterung, Transfer der Botschaften
zwischen den beiden FlexRay-Protokoll-Controller-Blöcken 27 und 28 und
dem Botschaftsspeicher 30, also dem Message RAM sowie die
Kontrolle der Sendereihenfolge und das Bereitstellen von Konfigurationsdaten
bzw. Statusdaten. Der Message Handler 20 ist im Sinne der
vorliegenden Erfindung auch verantwortlich für den Transfer von auf einem
Kanal A eingehenden Daten von dem Kommunikations-Controller 27 zu
dem Kommunikations-Controller 28,
damit dieser die Daten über
den Kanal B an den Teilnehmer 3f weiterleiten kann.
-
Eine
externe CPU, also ein externer Prozessor der Teilnehmerprozessor
3e kann über die
Teilnehmerschnittstelle, mit dem teilnehmerspezifischen Teil
24 direkt
auf die Register des FlexRay-Kommunikationsbausteins
10 zugreifen.
Dabei wird eine Vielzahl von Registern verwendet. Diese Register
werden eingesetzt, um die FlexRay Protokoll Controller, also die
Schnittstellenbausteine
27 und
28, den Botschaftsverwalter
(Message Handler MHD)
20, die globale Zeiteinheit (Global
Time Unit GTU)
29, den allgemeinen Systemcontroller (System
Universal Controller SUC)
30, die Netzwerk- und Fehlermanagementeinheit
(Network und Error Management Unit NEM)
31, den Unterbrechungscontroller
(Interrupt Controller INT)
32 sowie den Zugriff auf das
Message RAM, also den Botschaftsspeicher
30 zu konfigurieren
und zu steuern und ebenso den entsprechenden Status anzuzeigen.
Auf diese Register wird in den
4 bis
6 und
7 bis
9 der
DE
10 2005 048584 und der dazugehörigen Figurenbeschreibung näher eingegangen.
Auf die dortigen Ausführungen
wird ausdrücklich
Bezug genommen. Der FlexRay-Kommunikationsbaustein
10 ermöglicht die
einfache Umsetzung der FlexRay-Spezifikation, wodurch einfach ein
ASIC oder ein Mikrocontroller mit entsprechender FlexRay-Funktionalität generiert
werden kann.
-
Selbstverständlich kann
der Kommunikationsbaustein 10 auch für die Anbindung anderer Teilnehmer
des Kommunikationssystems 1 an das Kommunikationsmedium 2,
beispielsweise der Teilnehmer 3a; 3b; 3c,
oder gar des Testers 3d (vgl. 1), eingesetzt
werden.