Diese Seite ist der fünfte Beitrag einer Artikelserie, die den Multi-Gigabit-Transceiver (MGT) vorstellt. Nachdem wir viele Themen behandelt (und einige Protokolle für FPGAs aufgelistet) haben, ist es an der Zeit zu betrachten, wie der PMA die Daten in ein elektrisches Signal umwandelt und umgekehrt.
Einführung
Der PMA besteht aus den Teilen des MGTs, die mit dem physikalischen Kanal zusammenhängen. Vor allem gehören der Serialisierer und der Deserialisierer zum PMA. Mit anderen Worten: Die Umwandlung der Bits des physikalischen Kanals von und in ein paralleles Wort findet innerhalb des PMA statt.
Der PMA ist außerdem der Teil, der die Bits in elektrische Spannungen umwandelt. Ebenso ist es der Teil, der die elektrischen Spannungen vom MGT auf der anderen Seite empfängt und in Bits umwandelt.
Eine weitere wichtige Rolle des PMA besteht darin, die Verzerrung des Spannungssignals auszugleichen, die auftritt, während sich das Signal zwischen den beiden MGTs bewegt:
- Der Sender kann das analoge Signal, das er zum Senden erzeugt, absichtlich verzerren. Die Verzerrung des Senders ist der Versuch, das Gegenteil dessen zu tun, was der physikalische Kanal mit dem Signal macht. Dies wird häufig als Pre-Emphasis bezeichnet.
- Der Entzerrer (Equalizer) des Empfängers kann das ankommende analoge Signal bearbeiten, um die durch den physikalischen Kanal verursachte Verzerrung abzuschwächen.
Diese Seite stellt diese Funktionen vor. Der PMA ist außerdem für andere Aufgaben zuständig, die nur relevant sind, wenn der Datenstrom abgeschaltet ist. Diese Themen werden auf der nächsten Seite behandelt.
Dies ist das Blockdiagramm eines typischen MGTs, das hier noch einmal gezeigt wird, um die Position des PMA im größeren Zusammenhang darzustellen (dieses Diagramm ist dasselbe wie auf der vorherigen Seite).
Ähnlich wie auf der vorherigen Seite werde ich die Ausdrücke Tx-PMA und Tx-PCS für die Teile des MGTs verwenden, die zum Senden von Daten dienen. Entsprechend verwende ich Rx-PMA und Rx-PCS für das Empfangen von Daten.
Wichtig ist, dass in den allermeisten Anwendungsszenarien kein Verständnis dafür nötig ist, wie der physikalische Kanal das Signal verzerrt und wie diese Verzerrung korrigiert wird. Meist genügt die Erkenntnis, dass die Verwendung des Entzerrers eine gute Idee ist.
Es sei jedoch darauf hingewiesen, dass der PMA zu einem großen Teil ein analoger Baustein ist. Das MGT hat auf dem FPGA-Chip in der Regel separate Stromversorgungspins. Einige dieser Pins versorgen den PMA mit Strom. An diesen Pins wird oft eine sauberere Versorgungsspannung verlangt als üblich. Werden diese Anforderungen nicht erfüllt, kann das die Leistungsfähigkeit des MGTs erheblich beeinträchtigen.
Zugunsten der folgenden Erläuterungen betrachten wir eine Kommunikationsverbindung mit 5 Gb/s. Dies ist die Datenrate, die von Protokollen wie SuperSpeed USB Gen 1 und PCIe 2.0 verwendet wird. Wir nehmen außerdem an, dass das zwischen dem PMA und dem PCS verwendete parallele Wort 32 Bit breit ist. Ich beginne mit einer vereinfachten Beschreibung des physikalischen Kanals und lasse einige Details aus, die weiter unten auf dieser Seite behandelt werden.
Senden von Daten
Der Tx-PMA wandelt das parallele Wort in ein elektrisches Signal um, indem er das parallele Wort beginnend mit dem LSB überträgt. Wenn Bit 0 eine „1“ ist, stellt der Tx-PMA seine Ausgangspins so ein, dass die Spannung zwischen D+ und D- beispielsweise 500 mV beträgt. Wenn dieses Bit eine „0“ ist, beträgt diese Spannung -500 mV (negativ).
Der Tx-PMA wartet 0,2 ns und macht dann dasselbe mit Bit 1 des parallelen Worts. Mit anderen Worten: Die Spannung zwischen D+ und D- beträgt dann entweder 500 mV oder -500 mV, je nach Bit 1. Auf diese Weise wird jedes Bit des parallelen Worts für die Dauer von 0,2 ns an den Ausgangspins dargestellt. Nach 6,4 ns ist das gesamte parallele Wort auf den Leitungen übertragen. Der Tx-PMA erhält ein neues paralleles Wort vom Tx-PCS und beginnt auf dieselbe Weise mit dessen Übertragung.
Die Übergabe des parallelen Worts vom Tx-PCS an den Tx-PMA ist mit einem Takt synchronisiert (oft XCLK genannt). In diesem Beispiel beträgt die Taktperiode 6,4 ns, die Frequenz also 156,25 MHz. Kein Wunder: 156,25 × 32 = 5000.
Was ich hier beschrieben habe, ist die Senderseite eines SERDES. Die für jedes Bit am Ausgang dieses SERDES vorgesehene Zeit beträgt 0,2 ns, was zu einer Datenrate von 5 Gb/s führt.
In diesem Beispiel betrug die Spannung zwischen den beiden differentiellen Ausgangspins 500 mV. Das liegt im erlaubten Bereich für PCIe und SuperSpeed USB. Beachten Sie, dass Protokollspezifikationen und Datenblätter von MGTs diese Spannung üblicherweise als differentielle Spitze-Spitze-Spannung (differential peak-to-peak voltage) angeben. Das ist die Differenz zwischen der niedrigsten und der höchsten differentiellen Spannung, in diesem Beispiel also die Differenz zwischen -500 mV und 500 mV. Für dieses Beispiel beträgt die differentielle Spitze-Spitze-Spannung also 1000 mV. Diese Zahl erscheint normalerweise in den Spezifikationen und Datenblättern.
Aber das Signal hat sich verändert, bis es am Empfänger ankommt. Das Bild unten zeigt ein Beispiel für die Wellenform des analogen Signals:
Das Ausgangssignal des Senders (die Spannung zwischen D+ und D-) ist in Rot dargestellt. Die blaue Wellenform ist ein Beispiel dafür, wie dieses Signal am Empfänger ankommen kann. Dieses Beispiel zeigt eine Simulation eines einfachen Tiefpassfilters mit einer Bandbreite von 2,5 GHz.
Auf dieser Seite stütze ich mich auf dieses Beispiel mit einer Datenrate von 5 Gb/s und einer differentiellen Spannung von 500 mV. Andere Zahlen sind natürlich möglich: Ein FPGA-MGT erlaubt die Steuerung der Datenübertragungsraten und der Ausgangsspannungen.
Das Augendiagramm
Die Wellenformen im obigen Bild zeigen, dass sich das am Empfänger ankommende Signal von dem vom Sender erzeugten Signal unterscheidet. Das Augendiagramm ist eine grafische Darstellung des Signals, das am Empfänger ankommt. Diese Grafik entsteht, indem mehrere Wellenformen in dasselbe Koordinatensystem gezeichnet werden. Jede dieser Wellenformen ist das Ergebnis einer zufälligen Kombination gesendeter Bits. Die überlagerten Wellenformen in der Grafik repräsentieren daher alle möglichen Formen des ankommenden Signals.
Dies ist das Augendiagramm für dasselbe Szenario wie im obigen Bild:
Dieses Bild erklärt, warum es „Augendiagramm“ genannt wird. Der grüne Bereich in der Mitte hat die Form eines Auges.
Die rote Linie zeigt den optimalen Zeitpunkt für die Spannungsmessung, um zu entscheiden, ob das gesendete Bit eine „0“ oder eine „1“ ist. Der Spannungsunterschied ist zu diesem Zeitpunkt am größten, sodass die Störfestigkeit gegenüber Rauschen hier am besten ist. Beachten Sie, dass der gewählte Zeitpunkt etwas nach null liegt. Vergleichen Sie dies mit dem vorherigen Bild: Das Bit, das zu diesem Zeitpunkt erkannt wird, wird bereits seit 0,2 ns übertragen, und die Erkennung erfolgt sogar noch etwas später.
Das Augendiagramm wird üblicherweise verwendet, um die Qualität des am Empfänger ankommenden Signals zu beurteilen. Diese Grafik wird häufig bei Simulationen des physischen Übertragungsmediums erstellt. Man kann ein Augendiagramm auch aus Messungen eines realen Signals mit einem Oszilloskop oder spezielleren Messgeräten gewinnen.
Empfangen von Daten
Der Rx-PMA wandelt ein elektrisches Signal in ein paralleles Wort um: Der Rx-PMA misst die Spannung zwischen seinen beiden Eingangspins (D+ und D-) einmal in jeder Zeitperiode von 0,2 ns. Ist diese Spannung positiv, wird Bit 0 des parallelen Worts mit „1“ belegt. Andernfalls ist dieses Bit „0“. Der Rx-PMA weist weiterhin den übrigen Bits des parallelen Worts Werte zu, von Bit 1 bis Bit 31. Wenn das parallele Wort vollständig ist, übergibt der Rx-PMA es an den Rx-PCS. Der Rx-PMA ist also ein Spiegelbild des Tx-PMA.
Woher weiß der Rx-PMA aber genau, wann er die Spannung seiner Eingangspins messen muss? Das sollte einmal in jeder Zeitperiode von 0,2 ns geschehen – aber wann genau innerhalb dieser Zeitperiode? Woher kennt der Rx-PMA den optimalen Zeitpunkt, der in dem obigen Augendiagramm als rote Linie dargestellt ist?
Um die Sache noch komplizierter zu machen, hat der Rx-PMA oft keinen Zugriff auf den Referenztakt, auf den sich der Tx-PMA stützt. Die Vorstellung des Empfängers davon, wie lange 0,2 ns dauern, ist also nicht exakt dieselbe wie die des Senders. Außerdem ändert sich die Frequenz dieses Referenztakts aufgrund von Jitter (jitter) ständig zufällig. Und bei Protokollen, die SSC (Spread Spectrum Clocking) erfordern, wird die Frequenz dieses Takts außerdem absichtlich kontinuierlich nach einem vorgegebenen Muster variiert.
Die Lösung dieses Problems ist die Taktrückgewinnung (Clock Data Recovery, CDR). Dies ist ein Mechanismus im Rx-PMA, der den optimalen Zeitpunkt für die Abtastung der Spannung an den Eingangspins findet. Der CDR erzeugt einen Abtasttakt, der sich an den ankommenden Datenstrom anpasst. Dieser Takt wird in diesem Beispiel durch 32 geteilt, um den Takt für die Schnittstelle zum Rx-PCS zu erzeugen.
Der CDR reagiert empfindlich auf Übergänge zwischen „0“ und „1“ im ankommenden analogen Signal. Genauer gesagt erkennt der CDR, wann die Spannung zwischen den beiden differentiellen Pins zwischen positiv und negativ wechselt. Dadurch kann der CDR die Frequenz des von ihm erzeugten Abtasttakts an den Takt des Senders anpassen.
Damit der CDR ordnungsgemäß funktioniert, benötigt er einen eigenen Referenztakt. Dessen Frequenz muss ungefähr der Taktfrequenz des Senders entsprechen. Dieser Referenztakt dient jedoch nur der anfänglichen Synchronisation mit dem Datenstrom. Nach dieser anfänglichen Synchronisation folgt der CDR der Frequenz des Senders mithilfe eines PLL. Dieser adaptive Mechanismus verändert die Frequenz des Abtasttakts kontinuierlich geringfügig, um eine Kopie des Sendertakts zu erzeugen. Darüber hinaus bemüht sich der CDR, den Abtastzeitpunkt innerhalb jeder 0,2-ns-Periode an die optimale Stelle zu bringen. Mit anderen Worten versucht der CDR sicherzustellen, dass die Abtastung des Signals an der roten Linie im oben gezeigten Augendiagramm erfolgt.
Der CDR spielt eine entscheidende Rolle für eine zuverlässige Kommunikationsverbindung. Wenn der Sender beispielsweise einen minderwertigen Referenztakt mit hohem Jitter (jitter) verwendet, erhöht das die Zufälligkeit der Länge jeder Bitperiode. Wenn der CDR des Empfängers sich nicht schnell genug an diese Zufälligkeit anpassen kann, erfolgt die Abtastung an nicht optimalen Positionen. Dadurch steigt die Wahrscheinlichkeit von Fehlern. Es ist auch möglich, dass der CDR die Synchronisation vollständig verliert, was zu einem vorübergehenden Verlust der Kommunikationsverbindung führt. Situationen dieser Art werden oft mit Problemen der Signalintegrität der Datenleitungen verwechselt statt mit einem minderwertigen Takt.
Bei einem FPGA-MGT hängt das Verhalten des CDR von mehreren konfigurierbaren Parametern ab. Leider ist die Bedeutung dieser Parameter meist kompliziert und nicht dokumentiert. Die FPGA-Tools wählen die Werte dieser Parameter automatisch anhand der MGT-Einstellungen. Dabei spielt insbesondere die Datenrate eine Rolle. Wenn ein bestimmtes bekanntes Protokoll ausgewählt wird, werden die CDR-Parameter entsprechend gewählt. Es kann sich manchmal lohnen, verschiedene Einstellungen auszuprobieren, um eine stabilere Verbindung zu erhalten – insbesondere bei minderwertigen Kabeln und Steckverbindern entlang der Verbindung zwischen den beiden MGTs.
Umpolung
Sowohl der Rx-PMA als auch der Tx-PMA unterstützen die Möglichkeit, die Polarität des physikalischen Kanals umzukehren. Das bedeutet, statt einer „1“ eine „0“ zu senden und umgekehrt. Oder eine „1“ zu empfangen, wenn normalerweise eine „0“ empfangen würde, und umgekehrt.
Mit anderen Worten: Wenn die Leitungen D+ und D- vertauscht sind, kann das MGT dies ausgleichen. Das ist eine triviale, aber dennoch sehr wichtige Eigenschaft, die das PCB-Design oft vereinfacht.
Signalverzerrung
In einer perfekten Welt käme das Spannungssignal des sendenden MGTs ohne jede Veränderung beim empfangenden MGT an. In der Realität erfährt das Signal auf dem Weg zu seinem Ziel mehrere Veränderungen. Das auffälligste Problem ist die Filterwirkung des Signalpfads: Jedes Mal, wenn der Tx-PMA nach einer „1“ eine „0“ sendet, gibt es einen scharfen Übergang von positiver zu negativer Spannung. Das Gegenteil passiert natürlich bei einem Übergang von „0“ auf „1“. Diese scharfe Spannungsänderung wird durch das physische Übertragungsmedium, das das Signal transportiert, verzerrt. Kabel und Leiterbahnen auf der Platine verhalten sich wie ein Tiefpassfilter.
Dieses Bild zeigt dasselbe Beispiel der Wellenformen von oben, allerdings mit der Simulation eines schwierigeren physikalischen Kanals:
Die blaue Wellenform zeigt, wie die am Empfänger ankommende Spannung sich an die Werte einiger zuvor gesendeter Bits „erinnert“. Erinnern wir uns: Der Empfänger muss je nachdem, ob die Spannung negativ oder positiv ist, über eine „0“ oder „1“ entscheiden. Die Werte früherer Bits stören also die Entscheidung des Empfängers. Die Tatsache, dass der Wert eines Bits die Entscheidung über ein anderes Bit beeinflusst, wird als Intersymbolinterferenz (Inter-Symbol Interference, ISI) bezeichnet.
Das Augendiagramm für dieselbe Simulation des physikalischen Kanals:
Dieses Augendiagramm zeigt, dass man weiterhin zwischen „0“ und „1“ unterscheiden kann, aber der Spielraum ist viel kleiner. Mit anderen Worten: Es braucht viel weniger Rauschen, um einen Fehler zu verursachen.
Abgesehen von der im obigen Augendiagramm simulierten Wirkung wird das Signal auf weitere Arten verzerrt:
- Das Signal verliert auf dem Weg zum Empfänger Energie, sodass die Spannung zwischen den differentiellen Leitungen niedriger wird als gesendet.
- Reflexionen überlagern das Signal auf seinem Weg vom Sender zum Empfänger. Dieser Effekt ähnelt einem akustischen Echo und tritt insbesondere dann auf, wenn das Signal einen Steckverbinder oder eine andere abrupte Unstetigkeit des leitenden Mediums passiert.
- Von verschiedenen äußeren Quellen wird dem Signal Rauschen hinzugefügt. Das ist bei der Kommunikation zwischen MGTs meist kein dominierender Faktor, da die Auswirkungen der Verzerrungen normalerweise schwerer wiegen. Bei einem langen und schlecht abgeschirmten Kabel kann dieses Rauschen jedoch erheblich sein.
Wir betrachten nun zwei Mechanismen zur Abschwächung der Signalverzerrung des physikalischen Kanals: den Entzerrer (Equalizer), der Teil des Empfängers ist, und die Pre-Emphasis, die Teil des Senders ist.
Entzerrer
Der Entzerrer (Equalizer) manipuliert das analoge Signal, das am MGT ankommt. Der Zweck dieser Einheit ist es, die Auswirkungen der Signalverzerrung des physikalischen Kanals abzuschwächen. Dadurch verringert der Entzerrer die Bitfehlerwahrscheinlichkeit des Kanals und ermöglicht höhere Datenraten. Der Entzerrer ist immer der erste Schritt der Verarbeitungskette im Rx-PMA.
Es gibt hauptsächlich zwei Arten von Entzerrern. Ein MGT kann beide unterstützen:
- LPM (Low Power Mode). Dieser Entzerrer besteht üblicherweise aus einem Hochpassfilter, der die Neigung des physikalischen Kanals kompensiert, den höheren Teil des Spektrums des analogen Signals zu dämpfen. Manche MGTs passen dieses Filter automatisch an das empfangene Signal an. Bei weniger fortgeschrittenen MGTs muss die Anwendungslogik eines aus mehreren Filtern auswählen.
- DFE (Decision Feedback Equalizer), das weiter unten ausführlicher erklärt wird.
Erinnern wir uns an das obige Beispiel: Der Rx-PMA misst die Spannung zwischen seinen beiden Eingangspins (D+ und D-) einmal in jeder Zeitperiode von 0,2 ns. Je nachdem, ob diese Spannung negativ oder positiv ist, erkennt der Rx-PMA eine „0“ oder eine „1“. Wenn ein Entzerrer verwendet wird, stützt sich der Rx-PMA stattdessen auf den Ausgang des Entzerrers.
Wenn ein DFE verwendet wird, wird angenommen, dass der Sender dafür sorgt, dass die gesendeten Bits statistisch unabhängig voneinander sind. Was, wenn der physikalische Kanal das Signal nicht verzerrt? In diesem Fall sind auch die Spannungen, anhand derer der Rx-PMA über eine „0“ oder „1“ entscheidet, statistisch voneinander unabhängig. Mit anderen Worten: Jedes Mal, wenn der Rx-PMA sein analoges Eingangssignal untersucht, darf es keinen statistischen Zusammenhang zu früheren oder späteren Signalen geben.
In der Realität verzerrt der physikalische Kanal jedoch das den Datenstrom tragende Signal. Daher gibt es eine statistische Beziehung zwischen den Spannungen, die eine „0“ oder eine „1“ darstellen: Die Tiefpassfilterwirkung verschmiert das Spannungssignal, und Reflexionen („Echos“) verringern ebenfalls die Qualität des Signals. Der Spannungspegel jedes Bits schwappt auf die benachbarten Bits über. Wie bereits erwähnt, wird dieser Effekt als Intersymbolinterferenz (ISI) bezeichnet. Wenn der Empfänger nichts gegen die Wirkung der ISI unternimmt, ist diese gegenseitige Beeinflussung der Bits gleichbedeutend mit zusätzlichem Rauschen im Kanal.
Der DFE arbeitet ähnlich wie ein Echounterdrücker: Er besteht aus einem Filter, das sich selbst so einstellt, dass jegliche Korrelation zwischen den Abtastwerten, die für „0“ oder „1“ stehen, entfernt wird. Genauer gesagt entfernt er die Korrelation zwischen den erkannten Bits („0“ oder „1“) und den analogen Signalen, die zu den benachbarten Bits gehören. Mit anderen Worten: Wenn der DFE sein Ziel erreicht hat, gibt es keine statistische Korrelation zwischen dem analogen Signal, das zur Entscheidung über ein Bit verwendet wird, und den Werten anderer Bits. In diesem Fall wird die ISI auf null reduziert, sodass die verschmierende Wirkung des Kanals und Reflexionen keinen Einfluss auf die Übertragungsqualität haben.
Beachten Sie, dass der DFE versuchen wird, eine statistische Korrelation zwischen den auf dem Kanal übertragenen Bits zu beseitigen, falls eine solche vorhanden ist. Infolgedessen stellt der DFE das analoge Filter so ein, dass es nicht der Verzerrung des physikalischen Kanals entspricht. Der DFE würde das Signal also verzerren, statt es zu reparieren. Aus diesem Grund ist ein Verwürfler (Scrambler) immer erforderlich, wenn DFE aktiviert ist.
Wenn es keine Möglichkeit gibt, sicherzustellen, dass die gesendeten Bits unkorreliert sind, kann der LPM-Entzerrer geeignet sein. Das Datenblatt des MGT gibt in der Regel an, ob der LPM-Entzerrer ohne Verwürfler verwendet werden kann.
Nicht alle MGTs haben einen DFE, aber fast alle MGTs haben eine Art LPM-Entzerrer. Die Informationen in den Datenblättern sind oft unvollständig, welche Art von Entzerrer das MGT unterstützt und wie diese Entzerrer funktionieren. Wenn das Datenblatt nichts über die Art des Entzerrers sagt, handelt es sich höchstwahrscheinlich um einen LPM.
Obwohl der DFE eine ausgefeiltere Art von Entzerrer ist, schneidet er nicht immer besser ab als der LPM, selbst wenn die Bits unkorreliert sind. Insbesondere wenn die Qualität des physikalischen Kanals relativ hoch ist, kann der LPM besser abschneiden als der DFE.
Pre-Emphasis
Es kann hilfreich sein, das Ausgangssignal des Senders so zu manipulieren, dass das am Empfänger ankommende Signal verbessert wird. Diese Methode wird Pre-Emphasis genannt und ist insbesondere dann nützlich, wenn die Signalverzerrung so stark ist, dass der Empfänger überhaupt nicht auf den Datenstrom synchronisieren kann. Es gibt mehrere Varianten dieser Methode, und jedes MGT hat seinen eigenen Funktionsumfang.
In den meisten Situationen wirkt der physikalische Kanal wie ein Tiefpassfilter. Der Sender kann einem Teil der Kanalverzerrung proaktiv entgegenwirken, indem er sein Ausgangssignal formt. Der einfachste Mechanismus ist die Post-Cursor-Emphasis (Post-Cursor Emphasis): Da der physikalische Kanal langsam auf Änderungen des Senderausgangs reagiert, gleicht der Sender dies aus, indem er beim Bitwechsel eine höhere Spannung anlegt. Oder genauer gesagt: Der Sender verringert die Spannung, wenn sich das Bit nicht ändert.
Um diesen Mechanismus zu veranschaulichen, erinnern wir uns an das obige Beispiel: Das Ausgangssignal des Senders betrug entweder -500 mV oder 500 mV (für eine „0“ oder „1“).
Mit Post-Cursor-Emphasis gilt: Wenn der Ausgang von „0“ auf „1“ wechselt, beträgt das Ausgangssignal wie zuvor 500 mV. Wenn das nächste Bit wieder „1“ ist, ist die Ausgangsspannung niedriger, zum Beispiel 400 mV. Dasselbe passiert bei Übergängen von „1“ auf „0“. In diesem Fall beträgt die Ausgangsspannung -500 mV. Wenn das nächste Bit wieder „0“ ist, beträgt die Spannung -400 mV.
Dieses Bild zeigt dieselbe Simulation wie das letzte Bild mit den Wellenformen, nun jedoch mit angewendeter Post-Cursor-Emphasis:
Die rote Wellenform zeigt, wie die Post-Cursor-Emphasis funktioniert: Das Ausgangssignal erhält bei jedem Bitwechsel einen kleinen Schub und kehrt sonst zu einer niedrigeren Spannung zurück. Diese Methode wird oft als De-Emphasis bezeichnet, weil der Sender die Spannung bei sich wiederholenden Bits verringert, diese Bits also „weniger betont“ werden.
Vergleicht man die blaue Wellenform mit dem obigen Bild, wird deutlich, dass der Spannungshub kleiner ist. Das mag nicht nach viel aussehen, aber der Unterschied wird im Augendiagramm deutlicher:
Das ist eindeutig besser, aber nicht gut genug: In einem solchen Szenario wird immer noch ein Entzerrer benötigt.
Beachten Sie, dass sich die Post-Cursor-Emphasis als einfaches FIR-Filter beschreiben lässt. Bezeichnen wir die Spannungen des Senders ohne Emphasis als x(n) (n ist die Nummer des gesendeten Bits). Jedes x(n) kann den Wert -500 mV oder 500 mV haben. Der Ausgang des Senders mit Post-Cursor-Emphasis lässt sich dann wie folgt schreiben:
y(n) = 0,9 x(n) - 0,1 x(n-1)
Dies ist ein einfacher Ausdruck für ein FIR-Filter, das hochfrequente Signale bevorzugt. Das kann als Ausgleich für das Verhalten des physikalischen Kanals als Tiefpassfilter gesehen werden.
Der Teil „Post-Cursor“ in dem Ausdruck „Post-Cursor-Emphasis“ bezieht sich darauf, dass das zugehörige FIR-Filter wie folgt geschrieben werden kann:
y(n) = (1-a) x(n) - a x(n-1)
In diesem Ausdruck wird a normalerweise als positive Zahl gewählt.
Dieses FIR-Filter besagt im Wesentlichen: Der Wert von y(n) hängt hauptsächlich von x(n) ab, aber wenn x(n-1) denselben Wert hatte, liegt y(n) ein wenig näher bei null. Die Beeinflussung von y(n) hängt also vom vorherigen Bit ab.
Daher bezieht sich das Wort „Cursor“ auf das aktuell gesendete Bit. Das Wort „Post“ bezieht sich darauf, dass dieses Filter vom zuvor gesendeten Bit abhängt, also von dem Bit nach dem „Cursor“.
Es ist möglich, die Idee eines FIR-Filters zu verallgemeinern, das hochfrequente Signale begünstigt. Insbesondere wird dieses FIR-Filter in MGTs häufig so implementiert:
y(n) = apre x(n+1) + a0 x(n) - apost x(n-1)
In diesem Ausdruck bezieht sich apost auf die bereits vorgestellte Post-Cursor-Emphasis. apre stellt die Abhängigkeit von dem Bit vor dem „Cursor“ dar, also Pre-Cursor-Emphasis, manchmal auch Preshoot genannt. Dies sollte nicht mit dem Begriff Pre-Emphasis verwechselt werden, der den gesamten Bereich der Manipulationen des Senderausgangssignals abdeckt, die sich mit einem FIR-Filter darstellen lassen.
Jedes MGT bietet unterschiedliche Möglichkeiten, das gesendete Signal zu formen. Post-Cursor-Emphasis ist meist verfügbar, weil mehrere Protokolle sie verlangen. Was die anderen Varianten betrifft, hängt es vom MGT ab.
Der offensichtliche Nachteil der Pre-Emphasis ist, dass die Ergebnisse der Anpassungen des Senders nur für den Empfänger sichtbar sind. Erinnern wir uns daran, dass der Entzerrer sich kontinuierlich anpassen kann, um einen optimalen Empfang zu erzielen. Der Pre-Emphasis-Mechanismus weiß jedoch im Allgemeinen nicht, wie gut das Signal auf der anderen Seite empfangen wird. Das kann durch das Protokoll gelöst werden. Beispielsweise legt das Displayport-Protokoll einen Mechanismus fest, der es der Empfängerseite erlaubt, Anforderungen an den Sender zu senden. Auf diese Weise steuert der Empfänger den Spannungspegel des Senders und die Stärke der Post-Cursor-Emphasis.
Pre-Emphasis ist auch nützlich, wenn der physikalische Kanal von vornherein bekannt ist, etwa wenn zwei FPGAs auf einer Platine miteinander verbunden sind. Es kann allerdings auch dann eine gute Idee sein, Pre-Emphasis einzusetzen, wenn die Kanalparameter unbekannt sind – insbesondere bei hohen Datenraten (8 Gb/s und darüber).
Beachten Sie, dass Pre-Emphasis und Entzerrer keinen Ersatz füreinander darstellen, auch wenn beide Filter sind, die die Signalqualität verbessern und Fehler verringern. Der Entzerrer ist in der Regel das stärkere Werkzeug der beiden. Die Rolle der Pre-Emphasis sollte darin bestehen, den Entzerrer zu unterstützen oder sicherzustellen, dass die Signalqualität gut genug ist, damit der Empfänger mit dem Sender synchronisieren kann.
Pre-Emphasis wird in vielen Anwendungen überhaupt nicht verwendet. Dieses Werkzeug ist insbesondere dann nützlich, wenn die Entfernung zwischen den beiden MGTs groß ist, und vor allem, wenn das Signal über eine Leiterplatte läuft. Wenn die Entfernung einigermaßen kurz ist und der Empfänger über einen guten Entzerrer verfügt, gibt es in der Regel keinen Grund, das Ausgangssignal des Senders zu manipulieren.
Statistische Augenabtastung
Man möchte die Qualität des Kanals oft beurteilen, auch wenn alle Daten fehlerfrei ankommen. Insbesondere ist es interessant zu wissen, wie weit der Kanal davon entfernt ist, Fehler zu erzeugen. Ist der Kanal robust, oder beginnen Fehler, sobald sich an der physischen Umgebung die kleinste Änderung ergibt?
Erinnern wir uns außerdem an die vorherige Seite: Wenn der Kanal zum Übertragen von Nutzdaten verwendet wird, ist ein BER-Test zur gleichen Zeit nicht möglich. Es ist daher schwierig, die Qualität des Kanals während des Betriebs zu beurteilen (außer bei einigen Protokollen, die alle Fehler melden, z. B. xillyp2p).
Der übliche Weg, die Qualität einer Verbindung zu beurteilen, ist die Messung des Augendiagramms am Empfänger. Das ist möglich, wenn das Signal über ein Kabel und einen Steckverbinder ankommt: Dafür gibt es Messgeräte, die allerdings recht teuer sind. Wenn das Signal jedoch auf einer Leiterplatte läuft und in einem Chip (insbesondere einem FPGA) ankommt, gibt es meist keinen Ort, an dem man das Signal abgreifen könnte. Wenn man mit einem Tastkopf eine Leiterbahn auf der Platine berührt, verändert sich die Form des Signals drastisch, sodass die Messung wertlos ist.
Die elegante Lösung für dieses Problem ist eine statistische Augenabtastung (statistical eye scan). Dabei misst der Rx-PMA das Augendiagramm des Signals selbst. Diese Methode hat mehrere Vorteile:
- Das Signal wird exakt an der Stelle gemessen, an der der Rx-PMA über eine „0“ oder „1“ entscheidet.
- Die Messung verändert das Signal nicht.
- Die Messung umfasst die Korrektur des Entzerrers. Sie hilft also bei der Wahl des zu verwendenden Entzerrers und bei der Feinabstimmung seiner Parameter.
- Wenn der CDR nicht in der Lage ist, mit dem Jitter (jitter) des Sendertakts fertig zu werden, ist das bei dieser Messung sichtbar.
- Die Messung stört den normalen Betrieb des Rx-PMA nicht. Es ist daher möglich, den Kanal zu testen, während er reale Daten transportiert.
Es gibt nur einen Nachteil bei dieser Methode: Ihr Ergebnis ist nicht wirklich ein Augendiagramm. Aber das Ergebnis ist fast genauso nützlich.
Erinnern wir uns von oben: Der Rx-PMA entscheidet, ob das empfangene Signal eine „0“ oder „1“ ist, je nachdem ob die differentielle Spannung des ankommenden Signals negativ oder positiv ist. Der CDR ist dafür verantwortlich, diese Entscheidung zum optimalen Zeitpunkt zu treffen.
Für die statistische Augenabtastung gibt es eine zusätzliche Einheit, die die Entscheidung über „0“ oder „1“ trifft. Diese zweite Einheit trifft ihre Entscheidung jedoch etwas früher oder etwas später als die erste Einheit. Dieser Zeitversatz wird über Register des MGTs gesteuert (das kann geschehen, während das MGT arbeitet).
Ein weiterer Unterschied zwischen den beiden Einheiten ist die Art und Weise, wie sie entscheiden, ob das Signal eine „0“ oder eine „1“ ist: Wie bereits erwähnt, vergleicht die erste Einheit die Spannung des Signals mit null. Die zweite Einheit kann stattdessen mit einer Reihe anderer Spannungsschwellen vergleichen. Wenn die Spannungsschwelle beispielsweise auf 100 mV gesetzt ist, entscheidet die zweite Einheit auf „1“, wenn das empfangene Signal über 100 mV liegt. Andernfalls entscheidet sie auf „0“.
Die zweite Einheit tut also genau dasselbe wie die erste, jedoch mit einem Versatz sowohl in der Zeit als auch in der Spannung. Die Logik im MGT vergleicht automatisch eine bestimmte Anzahl von Entscheidungen und zählt, wie oft die Entscheidungen voneinander abwichen. Mit anderen Worten zählt diese Logik, wie oft die Entscheidung des Rx-PMA über das Bit anders ausgefallen wäre, wenn der Zeitpunkt verschoben und die Schwellspannung verschoben worden wäre.
Wenn zwischen den Entscheidungen der beiden Einheiten nie ein Unterschied besteht, bedeutet das, dass sich die Position der zweiten Einheit (in Zeit und Spannung) innerhalb des Bereichs befindet, der in den obigen Augendiagrammen grün markiert wurde. Diese Situation erkennt man an einem Zählergebnis von null nach einer ausreichend langen Messdauer. Wenn sich die Position der zweiten Einheit den Rändern des grünen Bereichs nähert, wird das Ergebnis des Zählers zunehmend höher.
Die statistische Augenabtastung erhält man, indem man diesen Vergleich zwischen den beiden Einheiten über eine Reihe von Zeitversätzen und Spannungsschwellen wiederholt. Das geschieht durch die Anwendungslogik oder durch das Setzen der MGT-Register über JTAG. Der Prozess ähnelt einem Computerprogramm, das eine for-Schleife über die Zeitversätze innerhalb einer for-Schleife über die Schwellspannungen durchläuft. Wie viel Zeit dieser Vorgang benötigt, hängt von der Genauigkeit der Messung ab.
Dies ist ein Beispiel einer statistischen Augenabtastung (entnommen von einer anderen Seite), erstellt mit einem Artix-7-FPGA. Der grüne Bereich in der Mitte entspricht dem grünen Bereich in den obigen Augendiagrammen. Das gemessene Ergebnis unterscheidet sich quantitativ von allen oben gezeigten Bildern, da in den obigen Beispielen nur eine Art der Signalverzerrung simuliert wurde.
Es dauert etwa eine Minute, ein solches Bild zu erhalten. Man kann die Qualität des Kanals aber auch anhand eines gröberen Bildes gut beurteilen, das in weniger als einer Sekunde erstellt werden kann.
Normalerweise muss für eine statistische Augenabtastung nichts entworfen werden. Insbesondere kann dieser Vorgang mit Vivado über die JTAG-Verbindung durchgeführt werden. Leider besitzen nicht alle MGTs die Fähigkeiten für eine statistische Augenabtastung.
Damit ist die fünfte Seite in dieser Serie über MGTs abgeschlossen. Die nächste Seite setzt die Diskussion des PMA und seiner Fähigkeiten fort, wenn der reguläre Datenstrom abgeschaltet ist.







