-
Stand der Technik
-
Die
vorliegende Erfindung betrifft ein Verfahren zum Übertragen
eines Datensignals über
einen aktiven Sternkoppler eines Kommunikationssystems, insbesondere
eines FlexRay-Kommunikationssystems,
gemäß dem Oberbegriff
des Anspruchs 1 und einen aktiven Sternkoppler eines Kommunikationssystems,
insbesondere eines FlexRay-Kommunikationssystems,
gemäß dem Oberbegriff
des Anspruchs 9.
-
Derartige
Sternkoppler sind beispielsweise für FlexRay-Kommunikationssysteme
aus der FlexRay-Spezifikation v2.1 bekannt. Der Aufbau und die Funktionsweise
gehören
zu der spezifizierten physikalischen Schicht (sogenannter Physical
Layer) des FlexRay-Kommunikationssystems.
Aktive Sternkoppler sind in Kommunikationsnetzen von Bedeutung,
in denen sich die Kommunikationsverbindung (zum Beispiel ein Datenbus)
aufspaltet, also eine Sterntopologie hat, und ein Datensignal auf
mehrere Zweige des Datenbusses aufgeteilt werden soll. Außerdem sind
aktive Sternkoppler von Bedeutung, wenn es um die Übertragung
von Datensignalen über
komplexe Netztopologien und längere
Strecken geht, da sie zusätzlich
oder alternativ zur Aufteilung des Datensignals auf mehrere Zweige
das Signal auch verstärken
können.
-
Ein
entsprechender aktiver Sternkoppler (sogenannter Active Star) für den Einsatz
in einem FlexRay-Kommunikationssystem wird von der Firma Philips
Semiconductors angeboten. In dem bekannten Sternkoppler sind FlexRay-Kommunikations-Controller
vom Typ "SJA 2510" gemäß der Spezifikation
v2.1 und ein ARM9-Mikrocontroller integriert. An dem bekannten aktiven
Sternkoppler sind mehrere Anschlüsse
vorgesehen, an die mehrere Zweige der Kommunikationsverbindung angeschlossen
sind. Die Anschlüsse
können
entweder als Eingang für
eingehende Datensignale und/oder als Ausgang für abgehende Datensignale konfiguriert
werden. Der Sternkoppler weist an jedem Anschluss einen Bus-Treiber
zum Verstärken
eines ausgehenden Datensignals auf. Ein über einen der Anschlüsse eingehendes
analoges Datensignal wird an eine zentrale Verarbeitungslogik des
Sternkopplers weitergeleitet, die ein Rechengerät, bspw. in Form eines Field
Programmable Gate Arrays (FPGA), eines Mikrocontrollers oder eines
digitalen Signalprozessors (DSP), aufweist.
-
Die
zentrale Verarbeitungslogik digitalisiert das eingehende analoge
Datensignal und ermöglicht
so eine Weiterverarbeitung des Datensignals (z.B. Überwachungs-
und/oder Routerfunktion) in dem aktiven Sternkoppler. Falls in dem
Sternkoppler ein Kommunikations-Controller
vorgesehen ist, kann dieser in Abhängigkeit von dem Inhalt des
in der zentralen Verarbeitungslogik dekodierten eingehenden Datensignals
eine Überwachungs-
und/oder Routerfunktion übernehmen.
Bin ebenfalls optional vorgesehener Bus-Guardian kann den Zugriff
des Kommunikations-Controllers des Sternkopplers auf den Datenbus überwachen
und/oder steuern. Das in der zentralen Verarbeitungslogik vorhandene
eingegangene digitale Datensignal wird über Bus-Treiber (sogenannter
Bus Driver), welche die Bitfolge des digitalen Signals in eines
oder mehrere analoge Signale zurückwandeln
und verstärken,
an die Kommunikationsverbindung angelegt.
-
Die
aus dem Stand der Technik von Philips bekannten aktiven Sternkoppler
umfassen Bustreiber vom Typ Philips "TJA 1080", die denen von FlexRay-Transceivereinheiten
(man spricht hier von FlexRay-Knoten) entsprechen. Der bekannte
Sternkoppler ist somit nichts anderes als eine Verknüpfung mehrerer
Transceiver zu einem Hub. Ein Hub leitet von einem Teilnehmer (oder
Knoten) eines Kommunikationsnetzwerks über einen Zweig der Kommunikationsverbindung
eingehende Daten an alle übrigen
Teilnehmer des Kommunikationssystems weiter und verstärkt gleichzeitig
das weiter zu leitende Signal.
-
In
der Entwicklung der physikalischen Schicht für FlexRay stellt der Bustreiber
vom Typ Philips "TJA 1080" den Stand der Technik
dar. Zudem wird derzeit der Einsatz einer integrierten Energie-
und Datenübertragung
angestrebt (FlexRay-PLC; Power Line Communications). Unter Beachtung
der FlexRay-Spezifikation wurde ein FlexRay-PLC-System auf Basis
eines konditionierten Bordnetzes in einem Kraftfahrzeug aufgebaut. Gemäß Kapitel
2.1 der FlexRay-Spezifikation "Electrical
Physical Layer Specification",
Version 2.1 kann jede beliebige physikalische Schicht als FlexRay-Kommunikationskanal
eingesetzt werden, so lange die spezifizierten grundlegenden Anforderungen
erfüllt
werden.
-
Bei
der FlexRay-PLC werden mittels einer DBPSK (Differential Binary
Phase Shift Keying)-Modulation die
Daten auf einen hochfrequenten Träger aufmoduliert und über das
Energiebordnetz übertragen.
Das konditionierte Bordnetz ermöglicht
eine simple Gestaltung des Übertragungssystems,
da keine aufwendigen Entzerrer erforderlich sind. Insofern hält sich
die digitale Signalverarbeitung in Grenzen, weshalb eine schnelle
Datenübertragung
von 10 MBit/sec mit einer Übertragungsverzögerung (Propagation
Delay) von maximal 2,5 μsec
(wie in der FlexRay-Spezifikation gefordert) erzielt werden kann.
-
Bei
FlexRay handelt es sich um ein schnelles, deterministisches und
fehlertolerantes Bussystem, insbesondere für den Einsatz in Kraftfahrzeugen.
Das FlexRay-Protokoll arbeitet nach dem Prinzip des Time Division
Multiple Access (TDMA), wobei den 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 Übertragung
von Botschaften auf dem Bussystem optimal zu nutzen, unterteilt
FlexRay den Zyklus in einen statischen und einen dynamischen Teil
bzw. in ein statisches und ein dynamisches Segment. Die festen Zeitschlitze
befinden sich dabei im statischen Teil am Anfang eines Buszyklusses.
Im dynamischen Teil werden die Zeitschlitze dynamisch vorgegeben.
Darin wird nun der exklusive Buszugriff jeweils nur für eine kurze
Zeit, für
die Dauer mindestens eines sogenannten Minislots, ermöglicht.
Nur wenn innerhalb eines Minislots tatsächlich ein Buszugriff erfolgt,
wird der Zeitschlitz um die für
den Zugriff benötigte
Zeit verlängert.
Damit wird Bandbreite also nur verbraucht, wenn sie auch tatsächlich benötigt wird.
In FlexRay sind zwei Kanäle
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 aber auch mit niedrigeren Datenraten betrieben werden.
Die Leitungen der beiden Kanäle
entsprechen dabei der physikalischen Schicht, insbesondere des sogenannten
OSI (Open System Architecture) Schichtenmodells. Die beiden Kanäle dienen
hauptsächlich
der redundanten und damit fehlertoleranten Übertragung von Botschaften,
wobei die gleichen Daten über
beide Kanäle übertragen
werden. Alternativ können
jedoch ü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 der andere Kanal
dann ungenutzt und frei ist. 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 sogenannte
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
lokale Uhrzeit eines Teilnehmers so korrigiert wird, dass alle lokalen
Uhren zu einer globalen Uhr synchron laufen.
-
Bei
der Übertragung
von Daten oder Botschaften über
ein solches Bussystem werden Impulse verzerrt, weil High-to-Low
bzw. Low-to-High-Flanken auf dem Übertragungsweg unterschiedlich
stark verzögert werden.
Wird der gesendete Impuls im Empfänger mit dem dort vorliegenden
Abtasttakt (der sogenannter Sampling Rate) mehrfach (zum Beispiel
n-mal pro Bit, insbesondere 8-mal pro Bit) abgetastet, so entscheidet die
Lage des Abtastpunktes, d.h. die Auswahl genau eines dieser n Abtastwerte,
ob das Datum richtig oder falsch abgetastet wird. Das ist insbesondere
dann schwierig, wenn der Abtastzeitpunkt auf eine Flanke des Signals
Bezug nimmt und relativ dazu auch über viele Perioden des Abtasttaktes
mehrere binäre Datenwerte (Bits)
des Senders auswertet. Hier wirkt sich zusätzlich zu einer Impulsverzerrung
auch noch die Taktfrequenzabweichung zwischen Sender und Empfänger aus.
Dabei kann das abzutastende Signal vorbehandelt sein, um zum Beispiel
kurzzeitige Störungen
auszufiltern. Ein solches Filter kann durch das Auswerten mehrerer
Abtastsignale in der zeitlichen Reihenfolge mit einer Mehrheitsentscheidung
(sog. Voting) realisiert sein. Insbesondere bei der Spezifikation
des FlexRay-Protokolls, in dem es bei n Netzwerkknoten
unterschiedliche Übertragungswege
geben kann (jeder denkbare Pfad hat 2 Sender-Empfänger-Kombinationen),
hat es sich gezeigt, dass die auftretenden asymmetrischen Verzögerungen
(das heißt
steigende und fallende Flanken breiten sich mit unterschiedlichen
Verzögerungen
im Netzwerk aus) auf den unterschiedlichen Übertragungswegen zu Problemen
beim Timing führen
können.
Die Verzögerung
zwischen steigender und fallender Flanke eines Signals wird auch
als Impulsverzerrung bezeichnet.
-
Asymmetrische
Verzögerungen
können
sowohl systematische als auch stochastische Ursachen haben. Beim
FlexRay-Protokoll wirken sich systematische Verzögerungen nur auf die steigenden
Flanken aus, da auf die fallenden Flanken synchronisiert wird. Stochastische
Verzögerungen
haben Auswirkungen sowohl auf die steigenden als auch auf die fallenden
Flanken und sind durch Rauschvorgänge oder EMV-Jitter verursacht.
Jede Komponente des Netzwerks muss bezüglich der durch sie verursachten
asymmetrischen Verzögerung
separat untersucht werden, wobei nach dem Stand der Technik die
in den einzelnen Komponenten auftretenden Verzögerungen addiert werden müssen, um
die asymmetrische Verzögerung
des gewählten Übertragungspfads
zu erhalten.
-
Bei
der Realisierung von FlexRay-Datenübertragungssystemen, insbesondere
bei komplexen Systemen umfassend mehrere aktive Sternkoppler und
passive Netzwerke, hat sich zudem gezeigt, dass die dort auftretenden
asymmetrischen Verzögerungszeiten
so groß sind,
dass sie ein durch das FlexRay-Protokoll vorgegebenes Zeitbudget übersteigen.
Gemäß FlexRay-Protokoll wird mit
fallender BSS (Byte Start Sequence)-Flanke ein Abtastzähler synchronisiert,
d.h. zurück
auf 1 gesetzt. Bei einem Zählerstand
von 5 wird abgetastet. Bei einer 8-fachen Überabtastung (sogenanntes Oversampling),
wie sie derzeit in FlexRay vorgesehen ist, verbleiben zwischen dem
Abtastzeitpunkt (5. Abtastwert) und dem 8. Abtastwert also noch
3 Abtasttakte die bei einem Kommunikationscontroller-Takt von 80
MHz jeweils 12,5 ns, in der Summe also einem Zeitbudget von 37,5
ns entsprechen. Dieses Zeitbudget dient eigentlich zum Ausgleich
von asymmetrischen Verzögerungen
aufgrund der Differenz von fallender zu steigender Flankensteilheit
und der Abweichungen der lokalen Uhren zwischen Sender und Empfänger. Falls
jedoch – wie
dies bei komplexen Netztopologien der Fall sein kann – die asymmetrische
Verzögerung
das vorgesehene Zeitbudget übersteigt,
führt dies
dazu, dass bei einer Abtastung zum 5. Abtasttakt (Zählerstand
des Abtastzählers
auf 5) ein falscher Wert ermittelt wird, weil dasjenige Bit, das
eigentlich hätte
abgetastet werden sollen, auf Grund der asymmetrischen Verzögerung schon
zu einem früheren
Zeitpunkt anlag und durch den frühen
Flankenwechsel nicht mehr anliegt. Eine entsprechende Behandlung
gilt für
eine asymmetrische Verzögerung
nach spät.
Dann steht ein Zeitbudget von 4 Abtasttakten entsprechend 50 ns
zur Verfügung.
Die Folge eines Übersteigens
des Zeitbudgets nach früh
oder spät
sind Decodierungsfehler, es werden also falsche Daten empfangen.
-
Diese
Decodierungsfehler können
zwar durch geeignete Fehlererkennungsalgorithmen erkannt werden,
so dass eine erneute Übertragung
des Bits oder des gesamten Datenrahmens veranlasst werden kann. Als
Fehlererkennungsalgorithmus kann beispielsweise ein sog. Parity
Bit oder ein sog. Cyclic Redundancy Check (CRC) eingesetzt werden.
Der Nachteil eines häufigen
Ansprechens des Fehlererkennungsalgorithmus liegt jedoch in der
damit verbundenen schlechteren Verfügbarkeit des Datenübertragungssystems,
da die fehlerhaften Daten bspw. erneut übertragen oder verworfen werden.
-
Offenbarung der Erfindung
-
Zusammenfassend
kann gesagt werden, dass durch das FlexRay-Protokoll Vorgaben gemacht
werden, die der Physical Layer – zumindest
bei komplexen Netztopologien – nicht
halten kann. Es hat sich gezeigt, dass die auftretenden asymmetrischen
Verzögerungen
den Aufbau von komplexen Netzwerkstrukturen verbieten, da diese
dann nicht mehr den Timing-Anforderungen der FlexRay-Spezifikation
entsprechen. Der vorliegenden Erfindung liegt deshalb die Aufgabe
zugrunde, eine Datenübertragung
im Rahmen einer vorgegebenen Protokollspezifikation, insbesondere
hinsichtlich der auftretenden asymmetrischen Verzögerungen,
auch über
komplexe Netzwerkstrukturen zu ermöglichen.
-
Zur
Lösung
dieser Aufgabe wird ausgehend von dem Verfahren der eingangs genannten
Art vorgeschlagen, dass in dem Sternkoppler das eingehende Datensignal
hinsichtlich einer asymmetrischen Verzögerung von dem übertragenen
Datensignal entkoppelt wird und dass in dem Sternkoppler die asymmetrische
Verzögerung
des eingehenden Datensignals reduziert wird, so dass das ausgehende
Datensignal eine geringere asymmetrische Verzögerung aufweist als das eingehende
Datensignal.
-
Erfindungsgemäß wird also
vorgeschlagen, bei der Übertragung
eines Datensignals von einem sendenden Teilnehmer zu einem empfangenden
Teilnehmer über
eine komplexe Netzwerktopologie mit mindestens einem aktiven Sternkoppler,
den aktiven Sternkoppler dahingehend zu erweitern, dass eine deutliche
Verringerung, nach Möglichkeit
sogar eine Eliminierung der asymmetrischen Verzögerung, welche dem Datensignal
bis zum Erreichen des Sternkopplers aufgeprägt wurde, vorgenommen werden
kann. Dies bezieht sich nur auf die Strecke zwischen dem sendenden
Teilnehmer des Kommunikationssystems und dem erfindungsgemäßen aktiven
Sternpunkt. Ausgehend von einer deutlich reduzierten asymmetrischen
Verzögerung
am Ausgang des aktiven Sternkoppler kann dem Datensignal auf der
letzten Teilstrecke des Übertragungspfads
zwischen dem aktiven Sternkoppler und dem empfangenden Teilnehmer
zwar ein neuer Anteil der asymmetrischen Verzögerung aufgeprägt werden.
In der Summe über
den gesamten Übertragungspfad
betrachtet kann der Einsatz der erfindungsgemäßen aktiven Sternkoppler die
asymmetrische Verzögerung
des bei dem empfangenden Teilnehmer eingehenden Datensignals jedoch
deutlich reduzieren. In einer Worst Case Betrachtung, die für die Klassifizierung
eines Kommunikationssystems erforderlich ist, kann durch die vorliegende
Erfindung an jedem erfindungsgemäß ausgebildeten
Sternkoppler eine Entkopplung hinsichtlich der Berechnung der maximalen
asymmetrischen Verzögerung
des Gesamtnetzwerks erzielt werden.
-
Mit
der vorliegenden Erfindung ist es möglich, eine einfache, sehr
effiziente und kostengünstige
Reduktion der asymmetrischen Verzögerung auf der Übertragungsstrecke
zu erzielen. Dazu ist es ausreichend, wenn einige Sternkoppler in
einem Kommunikationsnetzwerk durch erfindungsgemäße Sternkoppler ersetzt werden.
Vorzugsweise werden jedoch alle Sternkoppler in einem Kommunikationsnetzwerk
durch erfindungsgemäße Sternkoppler
ersetzt, sofern dies nicht in Konflikt mit der maximal zulässigen Ausbreitungsverzögerung steht.
Mit der vorliegenden Erfindung kann die Akzeptanz von FlexRay erhöht werden,
da FlexRay-Kommunikationssysteme
bisher auf relativ einfache Netztopologien beschränkt waren,
was nunmehr nicht mehr der Fall ist. Mit der Erfindung können auch
sehr komplexe Topologien realisiert werden, ohne dass die asymmetrische
Verzögerung
auf den Übertragungspfaden
Werte jenseits des gemäß FlexRay-Spezifikation
erlaubten Toleranzfensters erreicht.
-
Die
Unteransprüche
haben vorteilhafte Ausgestaltungen der Erfindung zum Gegenstand.
Ihre Vorteile und weitere Ausführungsbeispiele
der Erfindung können
im einzelnen der nachfolgenden Figurenbeschreibung entnommen werden.
-
Kurze Beschreibung der Zeichnungen
-
1 eine
zentrale Verarbeitungslogik eines erfindungsgemäßen aktiven Sternkopplers;
-
2 einen
aus dem Stand der Technik bekannten aktiven Sternkoppler;
-
3 Signalverläufe eines
gesendeten Signals und eines empfangenen Signals zur Erläuterung
der asymmetrischen Verzögerung;
-
4 ein
Schaltbild eines Zwischenspeichers zum Einsatz in einer zentralen
Verarbeitungslogik eines erfindungsgemäßen aktiven Sternkopplers;
und
-
5 Signalverläufe des
Zwischenspeichers aus 4.
-
Ausführungsform(en)
der Erfindung
-
In 2 ist
ein aus dem Stand der Technik bekannter aktiver Sternkoppler für ein FlexRay-Kommunikationssystem
in seiner Gesamtheit mit dem Bezugszeichen 100 bezeichnet.
Der Sternkoppler 100 wird in der FlexRay-Protokollspezifikation
auch als aktiver Sternpunkt (Active Star) bezeichnet. Der in 2 dargestellte Sternkoppler 100 kann
an bis zu vier Zweige einer Kommunikationsverbindung (z.B. eines
Datenbusses) angeschlossen werden. Die Kommunikationsverbindung
kann eine oder mehrere elektrische Leitungen, eine oder mehrere
optische Leitungen oder andersartig ausgebildete Übertragungskanäle, beispielsweise
Funkverbindungen, aufweisen.
-
Der
in 2 dargestellte Sternkoppler 100 ist über einen
ersten Anschluss 101 und einen zweiten Anschluss 102 jeweils
an eine Leitung eines ersten Zweiges der Kommunikationsverbindung
(nicht dargestellt) angeschlossen. Über weitere Anschlüsse 103, 104; 105, 106 und 107, 108 kann
der aktive Sternkoppler 100 in entsprechender Weise an
jeweils zwei Leitungen von weiteren Zweigen der Kommunikationsverbindung
angeschlossen werden. Der Sternkoppler 100 könnte also
in einem FlexRay-Kommunikationssystem mit einer Kommunikationsverbindung
mit Sterntopologie und bis zu vier Zweigen (oder Armen) eingesetzt
werden.
-
Der
aktive Sternkoppler 100 weist für jeden der vier Zweige einen
eigenen Bus-Treiber (sogenannten Bus Driver, BD) 109, 110, 111, 112 auf.
Die Bus-Treiber 109 – 112 entsprechen
von ihrer Funktion her einer Sende-Empfangs-Einheit (sogenannter
Transceiver). In den Bus-Treibern 109 – 112 wird
(zum Empfangen) die Differenz der über die beiden Leitungen der
Zweige der Kommunikationsverbindung übertragenen und an den Anschlüssen 101, 102; 103, 104; 105, 106 oder 107, 108 anliegenden
Signale gebildet und (zum Senden) für jeden Zweig ein Differenzsignal
generiert. Des weiteren wandeln die Bus-Treiber 109 – 112 ein über einen
der Zweige eingehendes analoges Datensignal bzw. Differenzsignal
in ein digitales Signal zur Weiterverarbeitung in dem Sternkoppler 100 um.
Die Bitfolge des empfangenen digitalen Signals wird von den Bus-Treibern 109 – 112 an
eine zentrale Verarbeitungslogik 113 weitergeleitet, die
ein Rechengerät,
das bspw. als ein FPGA (Field Programmable Gate Array), ein Mikrocontroller,
ein DSP (Digital Signal Processor), ein CPLD (Complex Programmable
Logic Device) oder einfach als eine diskrete Logikschaltung ausgebildet
ist, zur Verarbeitung des eingehenden digitalen Datensignals umfasst.
-
Wahlweise
und deshalb gestrichelt dargestellt umfasst der bekannte Sternkoppler 100 einen
Kommunikations-Controller (Communication Controller, CC) 114,
der die über
einen der Bus-Treiber 109 – 112 eingehenden
und in der zentralen Verarbeitungslogik 113 vorverarbeiteten
Daten weiter verarbeitet und/oder auswertet, um eine Überwachungs-
und/oder Routerfunktionalität
zu realisieren. Zur Realisierung der Routerfunktion müssen die
eingehenden und vorverarbeiteten Daten inhaltlich analysiert werden,
um zu ermitteln, für
welchen der an den Sternkoppler 100 angeschlossenen Zweige
bzw. für
welchen der Teilnehmer die über
einen der Kanäle
eingegangenen Daten bestimmt sind. Diese Information kann in der
Regel einem Kopf-Segment (sog. Header) der eingehenden Datenpakete
entnommen werden. Falls ein Kommunikations-Controller 114 in dem
Sternkoppler 100 vorgesehen ist, sind an dem Sternkoppler 100 ein
Empfangs-Anschluss (Receive, RxD) 115, ein Sendeanschluss
(Transmit, TxD) 116 und ein Übertragungs-Auslöseanschluss
(Transmit Enable, TxEN) 117 vorgesehen, welche an den Kommunikations-Controller 114 geführt sind.
-
Ebenfalls
optional und deshalb gestrichelt dargestellt, umfasst der Sternkoppler 100 eine Überwachungseinheit
in Form eines Bus-Guardian 118, welche den Zugriff des
Kommunikations-Controllers 114 auf die Kommunikationsverbindung überwacht
und/oder steuert. Der Bus-Guardian 118 ist über einen
Bus-Guardian-Auslöseanschluss
(Bus Guardian Enable BGE) 119 und einen Empfangs-Auslöseanschluss
(Receive Enable, RxEN) 120 von außerhalb des Sternkopplers 100 ansteuerbar.
-
Schließlich umfasst
der bekannte aktive Sternkoppler 100 auch eine Versorgungsspannungsquelle 121,
an der über
einen Anschluss (Vcc) 125 eine
Betriebsspannung und über
einen weiteren Anschluss 123 (GND) Masse anliegt. Zusätzlich kann
ein Spannungsunterbrechungs-Anschluss
(Inhibit, INH) 124 und ein Anschluss 122 (VBat) vorgesehen sein, an dem eine Bordnetzspannung
eines Kraftfahrzeugs anliegt.
-
Um
in dem Kommunikationssystem 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 sogenannte 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 lokale Uhrzeit eines Teilnehmers so korrigiert wird, dass alle
lokalen Uhren zu einer globalen Uhr synchron laufen. So verhält es sich
auch bei dem bekannten Sternkoppler 100, dessen lokales
Taktsignal von einer lokalen Uhr ebenfalls auf den globalen Zeittakt
des Kommunikationssystems synchronisiert ist.
-
Bei
der Realisierung von FlexRay-Datenübertragungssystemen, insbesondere
bei komplexen Systemen umfassend mehrere Sternkoppler und passive
Netzwerke, hat sich gezeigt, dass die dort auftretenden asymmetrischen
Verzögerungszeiten
so groß sind,
dass sie ein durch das FlexRay-Protokoll vorgegebenes Zeitbudget übersteigen.
Gemäß FlexRay-Protokoll
v.2.1 wird mit fallender BSS (Byte Start Sequence)-Flanke ein Abtastzähler synchronisiert,
d.h. zurück
auf 1 gesetzt. Bei einem Zählerstand
von 5 wird abgetastet. Bei einer 8-fachen Überabtastung (sogenanntes Oversampling),
wie sie derzeit in FlexRay vorgesehen ist, verbleiben zwischen dem
Abtastzeitpunkt (5. Abtastwert) und dem 8. Abtastwert also noch
3 Abtasttakte die bei einem Kommunikationscontroller-Takt von 80
MHz jeweils 12,5 ns, in der Summe also einem Zeitbudget von 37,5
ns entsprechen. Dieses Zeitbudget dient eigentlich zum Ausgleich
von asymmetrischen Verzögerungen aufgrund
der Differenz von fallender zu steigender Flankensteilheit und der
Abweichungen der lokalen Uhren bzw. Taktsignale/Quarztoleranzen
zwischen Sender und Empfänger.
Falls jedoch – wie
dies bei komplexen Netztopologien der Fall sein kann – die asymmetrische
Verzögerung
das vorgesehene Zeitbudget übersteigt, führt dies
dazu, dass bei einer Abtastung beim 5. Abtasttakt (Zählerstand
des Abtastzählers
auf 5) ein falscher Wert ermittelt wird, weil dasjenige Bit, das
eigentlich hätte
abgetastet werden sollen, auf Grund der asymmetrischen Verzögerung schon
zu einem früheren
Zeitpunkt anlag und durch den frühen
Flankenwechsel nicht mehr anliegt. Eine analoge Behandlung gilt
für eine
asymmetrische Verzögerung
nach spät.
Dann steht ein Zeitbudget von 4 Abtasttakten entsprechend 50 ns
zur Verfügung.
Die Folge eines Übersteigens
des Zeitbudgets nach früh
oder spät
sind Decodierungsfehler, es werden also falsche Daten empfangen.
-
Zur
Erläuterung
des Begriffs der asymmetrischen Verzögerung wird auf 3 verwiesen.
Dort ist ein von einem sendenden Teilnehmer des Kommunikationssystems
mit dem Bezugszeichen 10 bezeichnetes Signal (TxD) und
das entsprechende Signal (RxD), wie es bei einem empfangenden Teilnehmer
empfangen wird, dargestellt. Die Verzögerung für steigende Flanken ist mit
dem Bezugszeichen 16 und die Verzögerung für fallende Flanken mit dem
Bezugszeichen 18 bezeichnet. Abhängig von der Differenz der
Verzögerungen
für steigende
Flanken 16 und fallende Flanken 18 ergibt sich
eine asymmetrische Verzögerung 20 des übertragenen Datensignals
auf dem betrachteten Übertragungspfad.
Bei der Übertragung
von Daten oder Botschaften über ein
Bussystem mit solchen Verzögerungen 16, 18,
werden Impulse verzerrt, weil High-to-Low- bzw. Low-to-High-Flanken
auf dem Übertragungsweg
unterschiedlich stark verzögert
werden. Das führt
dann letzten Endes zu der asymmetrischen Verzögerung 20.
-
Um
die asymmetrischen Verzögerungen 20 in
einem Kommunikationsnetzwerk reduzieren zu können, wird eine Erweiterung
des bekannten Sternkopplers 100 dahingehend vorgeschlagen,
dass eine Reduzierung bzw. sogar Eliminierung der asymmetrischen
Verzögerung,
die bis zum Erreichen des Sternkopplers 100 dem Datensignal
aufgeprägt
wurde, vorgenommen werden kann. Dies bezieht sich nur auf die Strecke
zwischen dem sendenden Teilnehmer und dem Sternkoppler 100,
während
auf der letzten Teilstrecke des Übertragungspfads
zwischen aktivem Sternkoppler 100 und dem empfangenden
Teilnehmer ein neuer Anteil an asymmetrischer Verzögerung auf
das Datensignal aufgeprägt
werden kann.
-
Insbesondere
wird eine Erweiterung des Sternkopplers 100 vorgeschlagen,
die zu einer Entkopplung der asymmetrischen Verzögerung auf der Übertragungsstrecke
führt.
Somit muss für
eine Worst Case Betrachtung des asymmetrischen Delays nur noch der
Pfad zwischen einem Knoten (bzw. Teilnehmer) und einem erfindungsgemäßen aktiven
Sternkoppler, sowie zwischen zwei erfindungsgemäßen aktiven Sternkopplern untersucht
werden. Das bedeutet, dass sofern die Summe aller auf diesen beiden
Teil-Übertragungsstrecken
maximal auftretenden asymmetrischen Verzögerungen je Komponente den
Grenzwert des maximal zulässigen asymmetrischen
Delays nicht verletzt, keine weitere Analyse des späteren Gesamtaufbaus
des Kommunikationsnetzwerks erforderlich ist.
-
Die
erfindungsgemäß vorgeschlagene
Erweiterung des Sternkopplers 100 wird in der zentralen
Verarbeitungseinheit 113 implementiert. Eine erweiterte
Verarbeitungseinheit 113 ist in 1 dargestellt.
Anstelle einer simplen Verzweigungsmatrix zum Steuern der ein- und
ausgehenden Signale innerhalb der zentralen Verarbeitungslogik 113,
sowie der Überwachung
durch den optionalen Bus Guardian 118, wird im erfindungsgemäßen aktiven
Sternkoppler eine komplette Transceiverfunktion implementiert. Der
Sternkoppler ist also ein echter Teilnehmer des Kommunikationssystems
mit einer eigenen lokalen Uhr (Oscillator 132), deren lokales Taktsignal 134 in
einer Synchronisationseinheit 136 auf das globale Taktsignal 138 synchronisiert
wird.
-
Einer
der Bustreiber 109-112 des erfindungsgemäßen Sternkopplers
ist als Empfänger
konfiguriert und mindestens ein anderer Bustreiber 109-112 als
Sender. In dem Ausführungsbeispiel
aus 1 wird das Eingangssignal 10 bspw. von
dem Bustreiber 110 empfangen und über den Bustreiber 112 wieder
aus dem Sternkoppler 100 ausgesandt. Die zentrale Verarbeitungseinheit 113 des
Sternkopplers weist Mittel zum Entkoppeln des asymmetrischen Delays
auf der Übertragungsstrecke
auf. Diese Mittel bewirken eine physikalische Trennung des Eingangs
(Bustreiber 110) von dem Ausgang (Bustreiber 112)
des Sternkopplers, so dass ein über
den Sternkoppler zu übertragendes
Datensignal 40 nicht mehr direkt von dem empfangenden Bustreiber 110 des
Sternkopplers zu dem sendenden Bustreiber 112 übertragen
werden kann. Außerdem
weist der Sternkoppler 100 Mittel zum Reduzieren der asymmetrische
Verzögerung
des eingehenden Datensignals 40 auf, so dass das abgehende
Datensignal 41 eine geringere asymmetrische Verzögerung aufweist
als das eingehende Datensignal 40.
-
Gemäß der in 1 dargestellten
Ausführungsform
der Erfindung sind sowohl die Mittel zum Reduzieren der asymmetrische
Verzögerung
als auch die Mittel zum Entkoppeln des asymmetrischen Delays als ein
Speicherelement 130 ausgebildet, das beispielsweise als
ein asynchroner FIFO-Speicher realisiert ist. Ein FIFO ist eine
besondere Form eines Schieberegisters. Das gemeinsame Merkmal ist,
dass die Daten in der gleichen Reihenfolge am Ausgang des FIFO-Speichers
erscheinen, wie sie eingegeben wurden. Das zuerst gelesene Wort
(First In) wird wieder zuerst ausgelesen (First Out). Bei einem
FIFO-Speicher kann dieser Vorgang im Unterschied zu einem Schieberegister
völlig
asynchron erfolgen, das heißt
der Auslesetakt ist unabhängig
vom Einlesetakt.
-
Zur
Realisierung des erfindungsgemäßen Verfahrens
wird das eingehende Datensignal 40 zunächst mit dem global synchronisierten
Taktsignal 138 in einer Dekodiereinheit 140 dekodiert.
Zum Dekodieren des eingehenden Signals 40 wird dieses Bit
für Bit
jeweils mehrfach, bspw. 8-fach, überabgetastet.
Durch eine Mehrheitsentscheidung über die abgetasteten Signalwerte
eines zu verschiedenen Abtastzeitpunkten abgetasteten Datenbits
wird der Wert des Datenbits ermittelt. Falls bspw. bei einer 8-fachen Überabtastung
sechs Abtastungen den Wert "1" ergeben und lediglich
zwei Abtastungen den Wert "0", wird davon ausgegangen, dass
die Abtastwerte "0" fehlerhaft sind
(bspw. als Folge des asymmetrischen Delays) und dass das Datenbit tatsächlich den
Wert "1" hat. Das Datenbit
wird mit dem Wert "1" in dem Speicher 130 abgespeichert.
-
Wie
bereits erwähnt,
entspricht der Empfangsteil des Sternkopplers dem eines herkömmlichen
Knotens, das heißt
der Takt wird auf die Empfangsfolge und somit auf den Takt des sendenden
Knotens synchronisiert. Aufgrund der im Signal 40 vorkommenden
asymmetrischen Verzögerung
kann es zu Verschiebungen im Rahmen der Synchronisation kommen.
Bevor die Daten in dieser Form wieder auf den Kanal gegeben werden,
wird deshalb der asymmetrische Delay aus dem Signal 40 entfernt.
Dazu werden die Daten in dem asynchronen FIFO-Speicher 130 zwischengespeichert
und anschließend
in einer Kodiereinheit 142 mit dem lokalen Systemtakt 134 des
aktiven Sternkopplers 100, das heißt nicht mit dem synchronisierten
Taktsignal 138 des Kommunikationssystems, erneut kodiert.
Der Ausgang des aktiven Sternkopplers entspricht dann wiederum einem
sendenden Knoten, der die Daten des Kommunikations-Controllers (CC),
in diesem Fall aus dem Zwischenspeicher 130 liest und diese
gegebenenfalls verstärkt
und über
die physikalische Schicht (physical layer) versendet. Die Berechnung
des asymmetrischen Delays kann nun wiederum von neuem beginnen,
da durch das Auslesen der Sendedaten aus dem Speicher 130 nur
noch das asymmetrische Delay des Oszillators 132, das heißt des aktiven
Sternkopplers 100 selbst, einen Einfluss auf das Datensignal 41 am
Ausgang des Sterns besitzt.
-
Der
Einsatz des asynchronen FIFO-Speichers 130 ist erforderlich,
da aufgrund des Frequenzversatzes zwischen dem synchronisierten
Takt 138 bzw. dem Takt des sendenden Teilnehmers und dem
Takt 134 des aktiven Sterns keine direkte Verbindung von
Datenleitungen zulässig
ist. Ansonsten könnten
bei längeren Datenrahmen
aufgrund der beiden asynchron laufenden Taktsignale 134, 138 Übertragungsfehler
auftreten. Aus diesem Grund wird der asynchrone FIFO-Speicher 130 als
Schnittstelle zwischen den beiden Taktebenen eingesetzt. Der asynchrone
FIFO-Speicher 130 kann zum Datenaustausch zwischen komplett
unabhängigen Taktdomänen eingesetzt
werden. Die Beseitigung des asymmetrischen Delays aus dem Datensignal 40 erkauft
man sich durch eine Zwischenspeicherung der Daten und somit durch
eine geringfügige
Erhöhung
der Übertragungsverzögerung (des
Propagation Delays). Gemäß der FlexRay-Spezifikation
v.2.1 muss darauf geachtet werden, dass die maximale Verzögerung eines
aktiven Sternkopplers zwei Bitzeiten nicht überschreitet, das heißt mit anderen
Worten, ein Datenbit darf für
maximal 2 Bitzeiten in dem FIFO-Speicher 130 gespeichert werden.
Für das
Timing eines aktiven Sternkopplers gelten gemäß Spezifikation folgende Grenzwerte:
- – Übertragungsverzögerung (sog.
Propagation delay) über
einen aktiven Sternkoppler: max. 250 ns
- – Asymmetrische
Verzögerung
(sog. Asymmetric propagation delay): max. 8 ns
- – Zusätzliche
Verkürzung
des Datenrahmens (sog. Truncation) durch Einfügen eines aktiven Sternkopplers in
einen Übertragungspfad
zwischen Knoten M und Knoten N: max. 450 ns
-
Für die Worst-Case-Betrachtung
wird eine 10 MBit/sec-Verbindung betrachtet, da bei niedrigeren
Datenraten größere asymmetrische
Verzögerungen
auftreten dürfen,
um trotzdem noch einen fehlerfreien Empfang der übertragenen Daten zu gewährleisten.
Wenn man die Übertragungsverzögerung in
Bitzeiten für
eine 10 MBit/sec-Verbindung ausdrückt, kommt man auf eine maximal
zulässige
Verzögerung
von kleiner oder gleich 2,5 Bitzeiten. Ein Datenbit darf somit für maximal
2 Bitzeiten in dem FIFO-Speicher 130 gespeichert werden,
da 3 Bitzeiten bereits zu viel wären.
Zu Beginn der Übertragung
bzw. des Datenrahmens (sog. Frames) 4,5 Bits verloren gehen -(Truncation).
-
Herkömmliche
FIFO-Speicher dienen zum Speicher von 8 Bit-Datenworten, wobei auch
andere Varianten erhältlich
sind (vgl. Datenblätter
der Hersteller von FIFO-Speichern, bpsw. Texas Instruments, Inc.).
Generell erfolgt das Ablegen der Informationen in einem Speicher
mit wahlfreiem Zugriff (sog. Random Access Memory; RAM). Für den Einsatz
in einem erfindungsgemäßen aktiven
Sternkoppler ist die Speicherung kompletter Datenworte nicht erforderlich.
Es reicht aus, jeweils nur ein Bit in einen Speicher abzulegen.
Die "Haltbarkeit" der abgelegten Informationen
muss ebenfalls nicht sehr lange sein, das heißt der Speicher kann aufgrund
der maximal zulässigen Übertragungsverzögerung kurz
ausgelegt werden. In dem vorliegenden Fall genügt ein 4 Bit FIFO-Speicher.
-
Im
Rahmen der vorliegenden Erfindung wird ein spezielles Speicherkonzept
eingeführt. 4 zeigt einen
1-Bit asynchronen FIFO-Speicher 130 in Ringstruktur der
Länge 4.
Der FIFO-Speicher 130 wurde
bewusst als Ringstruktur programmiert, da bei diesem Typ die Durchlaufzeiten
im Vergleich zu einem herkömmlichen
Schieberegister eine geringere Rolle spielen. Denn bei dieser Art
von FIFOs werden nicht die Daten verschoben, sondern lediglich ein
Pointer, der auf die abgelegten Daten zeigt. Somit wird allerdings
ein Speicher mit separatem Lese- und Schreibtakt benötigt. Der
Name Ringspeicher ist auf den Überlauf
der Pointer zurück zu
führen,
da dadurch quasi ein Ring des Speichers entsteht. Die jeweiligen
Pointer werden durch Taktteiler 150 bis 154 gewonnen.
Die eingehenden Datenbits der dekodierten Empfangsdaten 160 werden
nacheinander in den 4 D-Flip-Flops 162 bis 168 abgespeichert.
Die Speicherung erfolgt synchron zum synchronisierten Takt 138 mit
den Taktsignalen T1 bis T4. Die Auswahl des Flip-Flops 162 bis 168 erfolgt
durch eine Vorteilung des synchronisierten Takts 138 um
den Faktor 4 und einer um eine Taktzeit verschobenen Ausgabe.
-
Die
Ausgabe der Daten bzw. das erneute versenden und kodieren mit der
Kodiereinheit 142 erfolgt dagegen mit dem lokalen Systemtakt 134 des
Sternkopplers 100, wie der 4 entnommen
werden kann. Die Auswahl der entsprechenden Speicherstelle für den Lesevorgang
erfolgt ähnlich
der des Schreibvorgangs. Ebenfalls durch eine Teilung des Systemtakts 134 mittels
Taktteiler 156 und 158 wird die jeweilig folgende Speicherstelle
durch einen Schalter (sog Switch) 170 ausgewählt. Je
mehr Speicherzellen der Ringspeicher beinhalten würde, umso
größer könnte der
zulässige
Unterschied in den Taktfrequenzen zwischen synchronisiertem Takt 138 und
lokalem Systemtakt 134 ausfallen.
-
5 zeigt
den zeitlichen Verlauf der Signale des 1-Bit asynchronen FIFO-Speichers 130 in Ringstruktur
der Länge
4 aus 4, beim Eintreffen eines Datensignals (SOF), nach
vorheriger Initialisierung und der nachfolgend beginnenden Zwischenspeicherung
der Datenbits.
-
Das
System befindet sich zu Beginn der Signalverläufe aus 5 in einem
Standby-Zustand. In diesem Zeitraum werden die Flip-Flops entsprechend
der Werte unter der Bezeichnung INIT initialisiert. Danach erfolgt
dann der Beginn des Datenrahmens (sog. Datenframe), welcher in der 5 mit
SOF (Start of Frame) bezeichnet wurde. In der Zeile "Data In" sind die eingehenden
Daten zu erkennen, während
zu diesem Zeitpunkt ein synchronisierter Takt ("Clk syn") vorliegt. Zudem besteht hier gemäß der FlexRay-Spezifikation
v.2.1 ein zusätzlicher
Spielraum von ca. 4 Bits (siehe 3). Durch
die Taktteiler werden daraus die entsprechenden Trigger bzw. verzögerten Taktsignale
T1 bis T4 gewonnen. In der darauf folgenden Zeile ist mit Pfeilen
bezeichnet, welches Bit in welchem positiv flankengetriggertem Register
D0 bis D3 abgespeichert wird.
-
Parallel
zur Detektion des Beginns des Datenrahmens (SOF) wird auch der Systemtakt 134 ("Sys-Clk") auf den Ausgang
des asynchronen FIFO-Speichers 130 geschaltet. Aufgrund
der Initialisierung beginnt dieser die Datenbits um zwei Registerwerte
versetzt aus dem Ringspeicher zu lesen. Somit müssen die ersten beiden am Ausgang
("Output") anliegenden Bits
(D2, D3) verworfen werden, bevor die ersten Nutzdaten (D0, D1,...)
aus dem FIFO-Speicher 130 ausgelesen
werden. Anhand, der 5 lässt sich gut erkennen, dass die Übertragungsverzögerung (Propagation
delay) durch Einsatz der vorliegenden Erfindung zwar erhöht wurde,
jedoch mit einer Dauer von 2 Bitzeiten genau im Bereich des zulässigen Grenzwerts
gemäß FlexRay-Spezifikation
liegt.
-
Der
Empfänger überabtastet
das eingehende Signal gemäß FlexRay-Spezifikation
mit der 8-fachen Frequenz
der Bitdauer bzw. Symbolrate. Die Abtastfrequenz im Empfänger muss
folglich mindestens 80 MHz betragen. Somit ergibt sich alle 12,5
ns ein neuer Abtastwert. Zur Kompensation. des Versatzes zwischen
Sender und Empfänger
und Abweichungen, die durch den Kanal entstehen, adaptiert der Empfänger die
Datenperiode durch Variation der Taktfrequenz. Somit verwendet der
Empfänger
wahlweise 7, 8 (ideal) oder 9 Taktzyklen, um das eingehende kodierte
und abgetastete Signal zurück
zu gewinnen.
-
Durch
Begrenzung der maximalen Phasenkorrektur auf 1/8 der gesamten Datenperiode
ergibt sich der theoretische Fehler bei der Detektion einer Sollflanke
ebenfalls zu 1/8 der Bitdauer. Bei der Berechnung der asymmetrischen
Verzögerung
eines FlexRay-Kommunikationssystems muss dieser Fehler berücksichtigt
werden, was auf eine maximale Verzögerung von 12,5 ns bei einer
Abtastfrequenz von 80 MHz führt.
Dieser Fehler wird zwar am Eingang des aktiven Sternkopplers 100 durch
das vorgeschlagene Konzept herbeigeführt (wie dies übrigens
auch in jedem FlexRax-Knoten der Fall ist), jedoch durch das vorgestellte
Konzept nicht auf den Sendepfad weitergegeben, sondern durch den
Einsatz des asynchronen FIFO-Speichers 130 ebenfalls bereinigt.
-
Setzt
man weiter als maximal zulässigen
Frequenzoffset der beiden Taktfrequenzen den Versatz um maximal
eine Bitdauer an (wobei durch die Ringstruktur der Länge 4 mit
Startversatz um 2 Speicherstellen nach der Initialisierung in positiver
wie negativer Versatzrichtung genügend Spielraum für diese
Annahme besteht), so ergibt sich die Quarzgüte zu:
mit
rb als
Datenrate und N
Frame als Anzahl an Bits
pro Datenrahmen (sog. Frame). Ein FlexRay-Datenrahmen beinhaltet laut der Spezifikation
maximal 2096 Bits. Für
eine Worst-Case Betrachtung ist eben diese maximale Framelänge von
Bedeutung wodurch sich eine maximale Frequenztoleranz von
ergibt.
Herkömmliche
Quarzoszillatoren haben sogar nur einen Toleranzbereich von 100
ppm. Weitere Unsicherheiten wie die der asymmetrischen Verzögerungen
auf den relevanten Übertragungsstrecken
und der oben beschriebenen Digitalisierung haben nur einen Einfluss
auf den Empfang des Bits jedoch nicht auf den gemittelten Frequenzversatz,
der für
das Beschreiben und das Auslesen des FIFO-Speichers in Ringstruktur von
Bedeutung ist.
-
Zusammenfassend
ergibt sich durch die vorliegende Erfindung also eine besonders
vorteilhafte Möglichkeit,
die asymmetrische Verzögerung
selbst in komplexen Netzwerkstrukturen auf einen sehr niedrigen Wert
zu reduzieren, der problemlos innerhalb des gemäß Protokollspezifikation zulässigen Toleranzfensters für die asymmetrische
Verzögerung
liegt. Die vorliegende Erfindung kann problemlos mit weiteren Maßnahmen
zur Reduzierung der asymmetrischen Verzögerung oder zur anderweitigen
Verbesserung des Datenübertragungsverhaltens
in der Netzwerkstruktur, bspw. einer variablen Adaption des Abtastzeitpunktes,
kombiniert werden.