-
Die Erfindung betrifft einen Datenbusteilnehmer mit einer bidirektionalen Datenbusschnittstelle, die einen Downstream-Datenbuseingang zum Empfang von Daten von einem übergeordneten Datenbusteilnehmer, einen Upstream-Datenbuseingang zum Empfang von Daten von einem untergeordneten Datenbusteilnehmer, einen Taktgeber zur Erzeugung eines internen Taktsignals für den Datenbusteilnehmer und eine Synchronisationseinheit zur Synchronisation eines Taktgebers auf das Taktsignal des übergeordneten Datenbusteilnehmers hat. Diese Synchronisationseinheit ist dann zur Detektion von Transitionen in dem am Downstream-Datenbuseingang empfangenen Downstream-Daten-strom, zur Regelung der Frequenz des internen Taktsignals in Abhängigkeit der detektierten Transitionen und zur Einstellung einer definierten ersten Phasenlage des internen Taktsignals zu den detektierten Transitionen eingerichtet.
-
Die Erfindung betrifft weiterhin ein Verfahren zur Synchronisation von solchen Datenbusteilnehmern.
-
Bei der Übertragung und Verarbeitung von Daten zwischen Datenbusteilnehmern besteht oftmals das Problem der Synchronisierung der Datenbusteilnehmer. Diese haben in der Praxis einen eigenen lokalen Taktgeber der auch nach Einstellung auf einen globalen Takt mit der Zeit abdriftet.
-
Stand der Technik
-
EP 1 253 494 B1 schlägt vor, bisher freilaufende Verarbeitungszyklen starr an den Zyklus eines Feldbussystems zu koppeln, indem ein Takt zur Synchronisation vorgegeben wird. Hierzu ist eine Synchronisationssignal-Generierungseinrichtung vorhanden, die ein Synchronisationssignal erzeugt, mit dem die Zyklen des Feldbussystems mit den Verarbeitungstasks in der Steuerung- und/oder Regelungsvorrichtung gekoppelt werden. Es wird somit zentral ein Synchronisationssignal für alle angeschlossenen Datenbusteilnehmer bereitgestellt.
-
Es ist auch z.B. aus
DE 298 09 721 Ui bekannt, ein Synchronisationssignal auf mindestens einer gesonderten Leitung allen angeschlossenen Teilnehmern parallel zuzuführen. Dies erfordert jedoch eine separate Leitungsverbindung. Zudem treten Laufzeitverzögerungen auf.
-
-
DE 197 51302 A1 offenbart ein Verfahren zur Kommunikationssteuerung mit einer Hauptstation und Nebenstationen, bei dem ohne eine Synchronisiersignalleitung Zeitdaten für Kommunikationstimer in der Hauptstation zusammen mit Kommunikationsdaten an die Nebenstationen gesendet werden, um deren Kommunikationstimer zu synchronisieren. Vor dem Senden von Befehlsdaten werden von der Hauptstation Zeitdaten gesendet. Die Kommunikationstimer der Nebenstationen fügen zu den empfangenen Zeitdaten Übertragungsverzögerungs-Korrekturdaten hinzu. Damit werden Weiterleitungsverzögerungen in den vorhergehenden Stationen ausgeglichen.
-
DE 10 2010 000 962 A1 offenbart ein Verfahren zur Überwachung eines Frequenzsignals für Datenbusteilnehmer, die mit einer seriellen peripheren Schnittstelle (Serial Peripheral Interface SPI) miteinander verbunden sind. Diese SPI-Schnittstelle erlaubt eine bidirektionale, synchrone und serielle Datenübertragung zwischen einer Mastereinheit und verschiedenen Slave-Einheiten. Hierzu sind wenigstens drei Leitungen zwischen der Mastereinheit und der ersten daran angeschlossenen Slave-Einheit für die bidirektionale Datenübertragung vorgesehen, nämlich zwei Datenleitungen und eine Taktleitung. Die Taktleitung ist entbehrlich, wenn die Datenleitungen genutzt werden um aus den Flanken der Datenleitung einen Takt zu erzeugen. Mit diesem Takt soll ein Zähler gesteuert werden, der gegen einen Zähler mit internem Takt verglichen werden kann.
-
Auch in
DE 101 48 878 B4 wird ein Synchronisieren von Sendetakten der Datenübertragung und vom Satellitensystem zu einer Auswerteeinheit vorgeschlagen, wobei die von der Auswerteeinheit erfassten Sendetakte der Satellitensysteme individuell auf der Grundlage eines Systemtakts der Auswerteeinheit synchronisiert werden. Es ist somit ein globaler Systemtakt einer zentralen Auswerteeinheit vorgesehen, der zur Synchronisierung aller angeschlossenen Teilnehmer genutzt wird.
-
Alexandra Dopplinger, Jim Innis: Using IEEE 1588 for synchronization of networt-connected devices. Industrial Control Design Line, 2007, http://www.embedded.com beschreiben die Synchronisation von hierarchisch miteinander vernetzten Geräten mit Hilfe von „boundary“ und „transparent“ „clocks“. Diese haben typischerweise mehr als zwei Ausgänge, wobei ein Ausgang als Takt-Slave für einen Upstream-Taktmaster und der andere Ausgang als Takt-Master für einen Downstream-Taktslave fungiert.
-
US 2012/0008727 A1 offenbart ein Gerät zur Wiederherstellung von Taktdaten, die mit empfangenen Daten synchronisiert werden. Für den Upstream- und den Downstream ist jeweils ein eigener Taktgeber vorgesehen.
-
Ausgehend hiervon ist es Aufgabe der vorliegenden Erfindung, einen verbesserten Datenbusteilnehmer und ein verbessertes Verfahren zur Synchronisation von Datenbusteilnehmern zu schaffen, wobei ohne Notwendigkeit der Bereitstellung eines zentralen Systemtaktes bzw. Synchronisationstaktes eine zuverlässige und einfache Synchronisation der miteinander verbundenen und Datenströme austauschenden Datenbusteilnehmer möglich ist.
-
Offenbarung der Erfindung
-
Die Aufgabe wird mit dem Datenbusteilnehmer mit den Merkmalen des Anspruchs 1 sowie durch das Verfahren zur Synchronisation von solchen Datenbusteilnehmern mit Merkmalen des Anspruchs 5 gelöst.
-
Vorteilhafte Ausführungsformen sind in den Unteransprüchen beschrieben.
-
Bei einem Datenbusteilnehmer der eingangs genannten Art ist die Datenbusschnittstelle bidirektional und hat weiterhin einen Upstream-Datenbusausgang zum Senden von Daten an einen übergeordneten Datenbusteilnehmer.
-
Der Datenbusteilnehmer ist damit nicht nur zum Empfangen von Daten von einem übergeordneten Datenbusteilnehmer im Downstream-Datenstrom sondern zum (Zurück-)Senden von Daten an den übergeordneten Datenbusteilnehmer im Upstream-Datenstrom eingerichtet. Es wird vorgeschlagen, dass mindestens jeder übergeordnete Datenbusteilnehmer eine Phasenlage-Korrektureinheit zur Detektion von Transitionen in dem über den Upstream-Datenbuseingang vom direkt untergeordneten Datenbusteilnehmer empfangbaren Datenstrom und zum Verzögern dieses Upstream-Datenstroms in Abhängigkeit der Detektion derart hat, dass eine definierte zweite Phasenlage des auf die Transitionen im empfangenen Downstream-Datenstrom synxhronisierten internen Taktsignals zu den Transitionen des verzögerten Datenstroms eingestellt wird. Die Phasenlage-Korrektureinheit kann die Phasenlage des am Upstream-Datenbuseingang empfangenen Datenstroms z.B. mit Hilfe einer Delayline bestimmen und den Datenstrom nach einer Phasenkorrektur über seinen Upstream-Datenbusausgang an einen übergeordneten Datenbusteilnehmer ausgeben.
-
Da die Taktfrequenz des internen Taktgebers, d. h. die Frequenz und Phasenlage des internen Taktsignals, bereits auf den ersten Downstream-Datenstrom eingestellt ist, lässt sich für den Upstream-Datenstrom keine Einstellung des Taktgebers auch auf den Upstream-Datenstrom erreichen. Daher wird stattdessen vorgeschlagen, mit Hilfe der Phasenlage-Korrektureinheit den empfangenen Upstream-Datenstrom im übergeordneten Datenbusteilnehmer, d.h. im Empfänger, insgesamt so zu verzögern, dass sich auch hier eine definierte zweite Phasenlage zwischen dem auf dem Downstream-Datenstrom eingestellten internen Taktsignal zu dem Upstream-Datenstrom einstellt. Damit ist der von dem übergeordneten Datenbusteilnehmer empfangene Upstream-Datenstrom auf den vom untergeordneten Datenbusteilnehmer empfangenen Downstream-Datenstrom ebenfalls synchronisiert und Taktfrequenz und Phasenlage des übergeordneten Datenbusteilnehmers und des untergeordneten Datenbusteilnehmers aufeinander zum synchronisierten Senden und Empfangen von Datenströmen abgestimmt.
-
Unter Transition im Sinne der vorliegenden Erfindungen wird jede charakteristische Signaländerung im Datenstrom verstanden, die zur Synchronisation des Taktgebers auf das Taktsignal eines übergeordneten Datenbusteilnehmers genutzt werden kann. Diese Transitionen sind in der Praxis bevorzugt Signalflanken eines digitalen Signals beim Wechsel z. B. vom Low-Signalpegel in einen High-Signalpegel, d. h. beim Wechsel von einer digitalen „Null“ in eine digitale „Eins“ oder umgekehrt. Als Transitionen können aber auch andere charakteristische Signalmuster genutzt werden, deren Signalzeitpunkt mit einer zur Synchronisation erforderlichen Genauigkeit feststellbar ist.
-
Damit werden charakteristische Signalwechsel in einem Downstream-Datenstrom, der von einem übergeordneten Datenbusteilnehmer an den vorlie-genden Datenbusteilnehmer weitergegeben und damit vom vorliegenden Datenbusteilnehmer empfangen wird, erkannt. Auf Grundlage der detektierten Transitionen wird dann eine definierte erste Phasenlage des internen Taktsignals in Bezug auf die detektierten Transitionen eingestellt. Das heißt, dass der Zeitpunkt eines charakteristischen Signalwechsels in dem Downstream-Datenstrom die Grundlage zur Synchronisation des Taktgebers derart gibt, dass der detektierte Zeitpunkt einer Transition als Synchronisationszeitpunkt angenommen wird, auf den die Phasenlage des internen Taktsignals geregelt wird.
-
So wird durch die Synchronisationseinrichtung die Phasenlage der Transitionen im Downstream-Datenstrom relativ zum eigenen Takt gemessen und die Frequenz des eigenen Taktgebers so geregelt, dass diese Taktgeberfrequenz möglichst exakt der im Downstream-Datenbussignal verborgenen Taktes entspricht und sich eine definierte erste Phasenlage zwischen den Flankenwechseln im Downstream-Datenbustrom und im eigenen internen Takt ergibt. Die im Downstream-Datenstrom detektierten Transitionen werden somit als Synchronisationsinformation zur Einstellung des internen Taktsignals des Taktgebers genutzt.
-
Im Vergleich zu einer separaten Synchronisationsnachricht oder Synchronisationsleitung hat die vorgeschlagene, auf den Downstream-Datenstrom eines übergeordneten Datenbusteilnehmer bezogene Synchronisation den Vorteil, dass die Datenbusteilnehmer eines komplexeren Systems ihre Taktgeber dann immer jeweils auf ihren benachbarten vorhergehenden Busteilnehmer synchronisieren und sich dann im Ergebnis bei allen Datenbusteilnehmern in einem Netzwerk unabhängig von der Verschaltung und ohne Probleme durch Laufzeitverschiebungen und ohne separate Synchronisationsleitung die exakt gleiche Frequenz der internen Taktgeber einstellt. Lediglich die Phasenlage zwischen den Takten ist aufgrund von Laufzeiten auf den Leitungen sowie Latenzen von Datenbusteilnehmern nicht definiert. Da jeder Datenbusteilnehmer den Takt seines Empfängers auf die Flanken im ankommenden Datenstrom synchronisiert und die Phasenlage des Taktes im Sender des übergeordneten Datenbusteilnehmers keine Rolle spielt, stellt eine ungleiche Phasenlage der Takte der Datenbusteilnehmer eines Netzwerkes kein Problem dar.
-
Die Verzögerung des Upstream-Datenstroms kann beispielsweise durch Einfügen von Verzögerungselementen oder -daten in den Upstream-Datenstrom erfolgen. Vorteilhaft ist es, wenn der Datenstrom nicht verändert wird, sondern eine elektrische Durchlaufverzögerung des Datensignals z.B. mit in Reihe geschalteten Verzögerungselementen vorgenommen wird. Solche Verzögerungselemente können z.B. Look-Up-Tabellen (LUTs) in einem FPGA (Field Programmable Gate Array) oder Gatter in einem ASIC (Anwender-spezifische Integrierte Schaltung) sein. Die Synchronisationseinheit und die Phasenlage-Korrektureinheit können entweder als separate Hardwareschaltungen ausgeführt sein. Denkbar ist aber auch, dass Synchronisationseinheit und Phasenlage-Korrektureinheit als Softwarelogik realisiert wird, die auf gemeinsame oder getrennte Hardwareplattformen, wie Mikrokontrollern, Prozessoren oder FPGAs ausgeführt werden.
-
Die Synchronisationseinheit und/oder die Phasenlage-Korrektureinheit sind vorzugsweise zur Einstellung einer definierten Phasenlage im Bereich von 90° bis 270° und bevorzugt im Bereich von etwa 180° eingerichtet. Die definierte Phasenlage sollte dabei so eingestellt werden, dass eine Abtastung des Nutzsignals möglichst fehlerfrei gewährleistet werden kann. Bei der seriellen Datenübertragung in einem Datenstrom sind Flankensteilheit, Einschwingvorgänge und Phasenjitter oftmals zu beachten, die eine Signalabtastung nicht unmittelbar nach einem Signalwechsel erlauben. Die sicherste Abtastung eines seriellen Datensignals ist daher zeitlich genau zwischen dem Einschalten eines High- und/oder Low-Datensignals und dem Ausschalten, d. h. genau zwischen den Umschaltzeitpunkten oder Transitionen eines Datenwortes sichergestellt, dies entspricht einer Phasenlage von 180°.
-
Das Verfahren zur Synchronisation von Datenbusteilnehmer hat in entsprechender Weise wie der Aufbau des Datenbusteilnehmers die Schritte:
- - Empfangen eines Downstream-Datenstroms von einem übergeordneten Datenbusteilnehmer durch einen untergeordneten Datenbusteilnehmer über einen Downstream-Datenbuseingang;
- - Detektieren von Transitionen in dem am Downstream-Datenbuseingang empfangenen Downstream-Datenstrom;
- - Synchronisieren eines internen Taktsignals eines Taktgebers des untergeordneten Datenbusteilnehmers in Abhängigkeit der detektierten Transitionen und
- - Einstellen einer definierten ersten Phasenlage des synchronisierten internen Taktsignals zu den detektierten Transitionen,
- - Empfangen eines Upstream-Datenstroms von einem weiter untergeordneten Datenbusteilnehmer über einen Upstream-Datenbuseingang durch einen Datenbusteilnehmer;
- - Detektieren von Transitionen in dem am Upstream-Datenbuseingang empfangenen Upstream-Datenstrom;
- - Verzögern dieses empfangenen Upstream-Datenstroms in Abhängigkeit der detektierten Transitionen derart, dass eine definierte zweite Phasenlage des auf die Transitionen im empfangenen Downstream-Datenstrom synchronisierten internen Taktsignals zu den Transitionen des verzögerten Upstream-Datenstroms eingestellt wird und
- - Senden des verzögerten Upstream-Datenstroms über einen Upstream-Datenbusausgang an einen übergeordneten Datenbusteilnehmer.
-
Nach dem Verzögern des empfangenen Upstream-Datenstroms ist dieser auf den Datenbusteilnehmer synchronisiert und kann abgetastet und vom Datenbusteilnehmer verwendet bzw. weiterverarbeitet werden.
-
Dabei ist es besonders vorteilhaft, wenn keine Verzögerungsdaten in den Upstream-Datenstrom zu dessen Verzögerung eingefügt werden, sondern rein elektrische Verzögerungselemente, wie z.B. LUTs (Look-Up-Tables) in einem FPGA (Field Programmable Gate Array) zum Einsatz kommen. Als Verzögerungselement eignen sich alle Hardwarelösungen, die den Datenstrom selbst nicht verändern, ihn aber durch sein „Propagation Delay“ (Laufzeitverzögerung) verzögern. Von den Verzögerungselementen sollten mehrere zur Verfügung stehen und die Laufzeitverzögerung der Verzögerungselemente sollte ungefähr gleich sein.
-
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels mit den beigefügten Zeichnungen näher erläutert. Es zeigen:
- 1 - Blockdiagramm eines Netzwerkes aus Datenbusteilnehmern als Skizze zur Verdeutlichung der Synchronisation;
- 2 - Blockdiagramm eines Datenbusteilnehmers und eines übergeordneten Datenbusteilnehmers mit Downstream- und Upstream-Datenstrom.
-
1 lässt ein Blockdiagramm eines Netzwerks aus einer Vielzahl von Datenbusteilnehmern 1 erkennen. Dabei ist ein allen weiteren Datenbusteilnehmern 1 übergeordneter Master vorgesehen, auf dem beispielsweise ein speicherprogrammierbares Steuerungsprogramm SPS abläuft. Bei diesem Master kann es sich um einen programmierbaren Logikkontroller PLC handeln, der im industriellen Automatisierungsprozess oder bei der Hausautomation in an sich bekannter Weise Verwendung findet.
-
Die Datenbusteilnehmer 1 sind in einem Bussystem zu einem Strang oder Stern oder einer Kombination davon zusammengeschaltet. Zwischen zwei benachbarten Busteilnehmern 1 in einem Strang bestehen je zwei unidirektionale Punkt-zu-Punkt-Verbindungen, so dass zwischen benachbarten Datenbusteilnehmern 1 eine bidirektionale Voll-Duplex-Kommunikation möglich ist. Dies ist durch die zu einem untergeordneten Datenbusteilnehmer 1 gerichteten Pfeile für den Downstream-Datenstrom D und die zu dem übergeordneten Datenbusteilnehmer 1 gerichteten Pfeile für den Upstream-Datenstrom U skizziert.
-
Für die zuverlässige Abtastung des seriellen Datenstroms in dem jeweiligen Datenbusteilnehmer 1 ist es erforderlich, dass die Taktgeber der Datenbusteilnehmer 1 des Netzwerkes aufeinander synchronisiert werden. Hierfür ist für alle untergeordneten Datenbusteilnehmer, die jeweils einen übergeordneten Datenbusteilnehmer haben, von dem sie einen Downstream-Datenstrom D empfangen, vorgesehen, dass diese Datenbusteilnehmer 1 ihre internen Taktgeber jeweils auf den benachbarten übergeordneten Datenbusteilnehmer 1 synchronisieren, der näher am Master M gelegen ist, als der nachfolgende Datenbusteilnehmer 1. Dies wird durch die sich in Richtung Master M gerichteten Synchronisationspfeilen funktional verdeutlicht.
-
Die Synchronisation erfolgt hierbei nicht wie üblich anhand eines separaten Synchronisationssignals und auch nicht mit Hilfe einer separaten Synchronisationsleitung, wie die separaten Pfeile vermuten lassen könnten. Vielmehr erfolgt die Synchronisation anhand einer Detektion von Transitionen in dem am Downstream-Datenbuseingang eines Datenbusteilnehmers empfangenen Downstream-Datenstroms D.
-
2 lässt ein Blockdiagramm von zwei direkt benachbarten Datenbusteilnehmern 1, wie beispielsweise Slave S1 und Slave S2 erkennen. Jeder dieser untergeordneten Datenbusteilnehmer 1 hat einen Datenbuseingang 2 für den Downstream-Datenstrom D, um den Datenstrom von einem übergeordneten Datenbusteilnehmer 1 zu empfangen. Weiterhin hat jeder Datenbusteilnehmer 1 einen Upstream-Datenbusausgang 3 zum Senden eines Upstream-Datenstroms U an den jeweils übergeordneten Datenbusteilnehmer.
-
Weiterhin haben die Datenbusteilnehmer 1 in der Regel auch einen Downstream-Ausgang 4 zum Aussenden eines Downstream-Datenstroms an einen jeweils untergeordneten Datenbusteilnehmer 1. Dieser Downstream-Datenstrom kann entweder der am Downstream-Datenbuseingang 2 empfangene und unveränderte Downstream-Datenstrom sein, der Nachrichten vom Master M an die an den Master M angeschlossenen Slave Si (mit i = 1 bis m bzw. n, wobei i, m und n ganze Zahlen sind) enthält. Denkbar ist aber auch, dass ein Datenbusteilnehmer 1 in den am Downstream-Datenbuseingang 2 empfangenen Downstream-Datenstrom D selbst nach Auslesen von an ihn gerichteten Nachrichten eigene Nachrichten an nachfolgende Datenbusteilnehmer 1 einfügt. Der am Downstream-Datenbuseingang 2 eingehende, synchronisierte und abgetastete Datenstrom D wird in einer Verarbeitungseinheit 10 entweder mitgelesen und unverändert durchgeleitet oder verändert und dann weitergeleitet.
-
In entsprechender Weise haben die Datenbusteilnehmer 1 in der Regel auch einen Upstream-Datenbuseingang 5 zum Empfangen von Upstream-Datenströmen U eines untergeordneten Datenbusteilnehmers 1. In dem letzten Datenbusteilnehmer 1 einer Folge von Datenbusteilnehmern kann auf die Downstream-Datenbusausgänge 4 und Upstream-Datenbuseingänge 5 verzichtet werden. Denkbar ist, dass dort der Downstream-Datenbusausgang 4 intern im Datenbusteilnehmer 1 direkt mit den Upstream-Datenbuseinang 5 verbunden ist, um eine Ringleitung bereitzustellen.
-
Erkennbar ist, dass die Datenbusteilnehmer 1 jeweils einen Taktgeber 6 haben, der in an sich bekannter Weise z. B. mit Hilfe eines Quarz-Bausteins und/oder einer PLL-Schleife (Phasen-Regel-Schleife) oder ähnliches ausgeführt ist.
-
Zur Synchronisation des internen Taktgebers 6 ist eine Synchronisationseinheit 7 vorgesehen, die zur Detektion von Transitionen in dem am Downstream-Datenbuseingang 2 empfangenen Downstream-Datenstroms D eingerichtet ist.
-
Hierzu kann die Synchronisationseinheit 7 zur Messung der Phasenlage der Transitionen im seriellen Downstream-Datenstrom D relativ zum eigenen Takt entweder mittels einer geeigneten Elektronikschaltung als Hardware oder mittels einer geeigneten softwareunterstützten Signalverarbeitung eingerichtet sein. Dabei ist die Synchronisationseinheit 7 zur Regelung der Frequenz des internen Taktsignals des Taktgebers 6 vorzugsweise so eingerichtet, dass die eingeregelte Frequenz des internen Taktsignals des Taktgebers 6 exakt der Frequenz des im Downstream-Datenstroms D verborgenen Taktes entspricht.
-
Die Synchronisationseinheit 7 ist weiterhin eingerichtet, um eine definierte Phasenlage des internen Taktsignals zu den detektierten Transitionen einzustellen. Der vom Taktgeber 6 vorgegebene interne Takt wird somit so eingestellt, dass sich zwischen den Flankenwechseln im Downstream-Datenstrom D und dem eigenen Taktsignal eine definierte Phasenlage ergibt, die ein Abtasten des Downstream-Datenstrom D möglichst fehlerfrei sicherstellt. Daher sollte die Phasenlage im Bereich von 90° bis 270° und bevorzugt im Bereich von etwa 180° (± 10 %) eingestellt werden. Bei z. B. 180° Phasenverschiebung kann der Downstream-Datenstrom D mit zwei in Reihe geschalteten Registern 9a, 9b genau in der Mitte zwischen zwei Flankenwechseln sicher abgetastet werden.
-
Dies ist anhand der im Downstream-Datenstrom D zwischen den beiden Datenbusteilnehmern 1 skizzierten Signals mit überlagerten Signalwechseln von High-Level auf Low-Level und umgekehrt und dem darunter skizzierten Taktsignal CLK mit dem Flankenwechsel von Low auf High bei 180° zur Transition T deutlich.
-
Der abgetastete Downstream-Datenstrom D wird dann in der Verarbeitungseinheit 10 entweder mitgelesen und unverändert durchgeleitet oder verändert und dann weitergeleitet. Anschließend wird der Datenstrom D über ein letztes Register 9c synchron zum internen Takt am Downstream-Datenbusausgang 4 ausgegeben. Dabei ist es für die Kommunikation wichtig, dass der Datenstrom D mindestens zwei Register 9a, 9b durchlaufen hat, bevor er an dem Downstream-Datenbusausgang 4 ausgegeben wird. Auf diese Weise wird nicht nur die elektrische Amplitude des Signals aufgefrischt, sondern auch das Timing der Flanken. Die Auffrischung des Timings ist in der Praxis nicht nur auf dem Downstream, sondern auch auf dem Upstream wichtig.
-
Im Ergebnis haben alle Datenbusteilnehmer 1 in einem Netzwerk somit die exakt gleiche Frequenz an ihren Taktgebern 6 eingestellt. Lediglich die Phasenlage zwischen den Takten ist aufgrund von Laufzeiten auf den Leitungen sowie den Latenzen von Datenbusteilnehmern 1 nicht definiert. Für den seriellen Downstream-Datenstrom D stellt dies kein Problem dar, da die Synchronisationseinheit 7 den Takt des Empfängers für den Downstream-Datenstrom auf die Flanken im ankommenden Datenstrom D synchronisiert und die Phasenlage des Taktes im Sender des übergeordneten Datenbusteilnehmers 1 hierbei keine Rolle spielt. In der Praxis werden auf dem seriellen Upstream-Datenstrom U die Datenbits mit exakt der gleichen Frequenz des Downstream-Datenstroms D an den übergeordneten Datenbusteilnehmer 1, d. h. den linken Nachbarn ausgegeben, wie der Downstream-Datenstrom D vom übergeordneten Datenbusteilnehmer 1 empfangen wird. Aufgrund der Laufzeiten in den Leitungen und der Latenzen von Datenbusteilnehmern 1 ist dabei die Phasenlage zwischen den Flanken im Upstream-Datenstrom U und dem lokalen Takt des übergeordneten Busteilnehmers des Upstream-Datenstroms U vollkommen undefiniert.
-
Um auch den Upstream-Datenstrom U zuverlässig zwischen zwei Flankenwechseln abtasten zu können, ist eine Phasenlage-Korrektureinheit 8 in den Datenbusteilnehmern 8 vorgesehen, welche die Phasenlage zwischen den Flankenwechseln im empfangenen Upstream-Datenstrom U und dem lokalen Takt des jeweiligen Datenbusteilnehmers 1 z. B. durch Messen detektiert. Die Phasenlage-Korrektureinheit 8 ist dann zur Verzögerung des vom untergeordneten Datenbusteilnehmer 1 empfangenen Upstream-Datenstroms U derart eingerichtet, dass das mit Upstream-Datenstrom U übertragene Signal vom Datenbusteilnehmer 1 anschließend genau in der Mitte zwischen den Flankenwechseln abgetastet werden kann und in den lokalen Takt des übergeordneten Datenbusteilnehmers 1 als Empfänger des Upstream-Datenstroms U einsynchronisiert wird. Für die Abtastung können beispielsweise zwei Speicherregister 9d, 9e vorgesehen werden, in die der Upstream-Datenstrom U seriell hintereinander sukzessive durchgeschoben wird.
-
Die Verzögerung des Upstream-Datenstroms U kann vorteilhaft, wie skizziert durch dynamisches Einfügen von Verzögerungselementen erfolgen. Dabei wird der Datenstrom U nicht verändert, sondern durch geeignete Logikelemente insgesamt leicht verzögert (Laufzeitverzögerung). Das Datenstromsignal wird hierzu durch die in Reihe hintereinander geschalteten Logikelemente (z.B. LUTs oder Buffer) geleitet.
-
Auf dem Upstream U werden die Upstream-Daten auf Grund der Synchronisation des untergeordneten Datenbusteilnehmers 1 auf den Downstream D bereits mit der richtigen Frequenz empfangen. Nur die Phasenlage muss durch die Phasenlage-Korrektureinheit 8 korrigiert werden. Dazu wird der Datenstrom durch eine Kette von digitalen Logikelementen geschickt, die den Datenstrom nicht verändern, sondern einfach nur weiterleiten. Die Weiterleitung geschieht verzögert um das Propagation Delay der eingesetzten Logikelemente. Eine solche Kette wird auch Delayline genannt. Je nachdem, an welchem Kettenglied (Logikelement) der Datenstrom abgegriffen wird, lässt sich eine bestimmte Verzögerung einstellen. Als Logikelemente eignen sich zum Beispiel Look-Up-Tables LUTs in FPGAs.
-
Mit einem derart synchronisierten Netzwerk von Datenbusteilnehmern 1 ist eine unterbrechungsfreie Übertragung unendlich langer Datenströme möglich. Eine Zerlegung in Datenpakete ist nicht erforderlich, wie dies z. B. bei Ethernet vorgesehen ist, um bei jedem Datenpaket eine neue Synchronisation auf eine Präambel zu ermöglichen. Dadurch wird keine Bandbreite für die Präambel oder ähnliches verbraucht und der Zugriff auf das Übertragungsmedium ist jederzeit möglich, da nicht erst eine Präambel gesendet werden muss.
-
Weiterhin sind Pufferspeicher, wie First-In-First-Out-Speicher oder jegliche Art von Empfangs- oder Sendepuffer nicht erforderlich. Hierdurch wird zum Einen die Durchlaufzeit der Daten minimiert und zum Anderen können durch den geringeren Hardwareaufwand Kosten gesenkt werden. Die Verarbeitung von Daten erfolgt in allen Datenbusteilnehmern bis in die höheren Protokollschichten, teilweise bis auch in die softwareimplementierten Protokollschichten, aufgrund der synchronisierten Taktgeber, mit denen die Logik und die Prozessoren der Datenbusteilnehmer versorgt werden, taktsynchron und auf den Takt genau deterministisch.
-
Weiterhin ist ein Oversampling des seriellen Datenstroms beim Senden und/oder Empfangen nicht erforderlich. Damit sind in den Datenbusteilnehmer 1 keine Taktfrequenzen größer als die Baudrate zur Datenübertragung erforderlich. Dadurch ergeben sich eine geringere Verlustleistung und eine geringere Störabstrahlung. Durch die niedrigeren Taktraten wird auch der Aufwand und Kosten für Signalverarbeitungseinheiten in Form von FPGAs (Field Programmable Gate Array) bzw. ASICs (Anweder-Spezifische-Integrierte-Schaltung) minimiert.
-
Ein weiterer Vorteil besteht darin, dass spezielle Füllsymbole oder inhaltsleere Datenbits, die bei anderen Lösungen bei Bedarf im Datenstrom eingefügt oder daraus entfernt werden, um leicht unterschiedliche Baudraten auszugleichen, nicht erforderlich sind.
-
Die Latenz beim Durchleiten von Daten auf dem Downstream und Upstream ist gegenüber anderen Lösungen, die ebenfalls das Timing des Signals wieder auffrischen, äußerst gering.