Hardware Leitungscodierung und Protokoll Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 Hardware Leitungscodierung und Protokoll 1/22 2009-11-09
Übersicht Inhalt: Eingrenzung Allgemeines Differentielle Signalisierung Takt und Taktrückgewinnung Protokoll-Aspekte Hardware Leitungscodierung und Protokoll 2/22 2009-11-09
Eingrenzung Wir realisieren eine Schnittstelle mit: differentiell signalisierter bitserieller Punkt-zu-Punkt-Kommunikation. (Damit liegen wir voll im Trend der aktuellen Bussysteme!) Hardware Leitungscodierung und Protokoll 3/22 2009-11-09
Allgemeines Physische Übertragung: differentielle Treiber und Empfänger im CPLD, Senderseite: Parallel-Seriell-Wandler, Empfängerseite: Seriell-Parallel-Wandler, Hinweis: Realisierung mit einem von einer FSM gesteuerten Schieberegister. Hardware Leitungscodierung und Protokoll 4/22 2009-11-09
Differentielle Signalisierung Eigentliche Übertragungsart der Impulse auf der Leitung, Übertragung mittels Leitungspaaren (ggf. twisted pair ), Information ist die Spannungsdifferenz (bzw. deren Polarität), sehr unempfindlich gegenüber Störsignalen. Hardware Leitungscodierung und Protokoll 5/22 2009-11-09
Differentielle Signalisierung: Prinzip Hardware Leitungscodierung und Protokoll 6/22 2009-11-09
Differentielle Signalisierung: Störung Hardware Leitungscodierung und Protokoll 7/22 2009-11-09
IO-Zelle des CPLD 5768MX 96 programmierbare IO-Zellen pro Bank, viele verschiedene Logik-Pegel möglich, wir verwenden: LVDS. Hardware Leitungscodierung und Protokoll 8/22 2009-11-09
IO-Zelle des CPLD (2) Hardware Leitungscodierung und Protokoll 9/22 2009-11-09
LVDS Low Voltage Differential Signaling, sehr geringe Spannungsdifferenzen, energiesparend, Datenraten bis mehrere Gbps, Verwendung: z.b. zur Anbindung von Notebook-Displays. Hardware Leitungscodierung und Protokoll 10/22 2009-11-09
Physikalische Verbindung unserer Hardware Hardware Leitungscodierung und Protokoll 11/22 2009-11-09
Takt und Taktrückgewinnung Ein Empfänger soll idealerweise die Bitwerte jeweils in der Mitte eines Bit-Intervalls übernehmen er muss Frequenz und Phasenlage des Senders kennen! Lösungsmöglichkeiten Taktkanal, Taktrückgewinnung, Phasenrückgewinnung. Hardware Leitungscodierung und Protokoll 12/22 2009-11-09
Taktkanal Steigende Flanke (oder High-Pegel) markiert den Abtastzeitpunkt. Bewertung + relativ einfache Implementierung, Signallaufzeiten/Leitungslängen kritisch, interner Takt i.d.r. doppelt so groß wie Bitrate. Hardware Leitungscodierung und Protokoll 13/22 2009-11-09
Taktkanal Verbesserung Zustandswechsel (= jede Flanke) markiert den Abtastzeitpunkt. Bewertung Verdoppelung der Bitrate (Double-Data-Rate-Prinzip), sonst wie bei einfachem Taktkanal. Hardware Leitungscodierung und Protokoll 14/22 2009-11-09
Datenabhängiger Strobe Zustandswechsel auf dem Strobe-Kanal nur dann, wenn auf dem Datenkanal keiner erfolgt (XOR liefert Takt). Bewertung Genau eine Umladung pro Bit volle Bitrate und geringere Energieverluste. Hardware Leitungscodierung und Protokoll 15/22 2009-11-09
Taktrückgewinnung Ziel Einsparung des Taktkanals durch Ermittlung des Takts aus dem Datenkanal. Vorgehensweise Möglichst regelmäßige Pegelwechsel, am besten bei jedem übertragenen (Nutz-)Bit. Dazu viele Lösungsmöglichkeiten, z.b.: RZ-Code erzwungener Pegelwechsel nach jeder 1 ; ggf. Bit-Stuffing nötig, Manchester-Code 1 entspricht fallender Flanke, 0 steigender, Bit-Stuffing Einfügen von Füllbits nach längerer Zeit ohne Bitwechsel. Praktischer Nebeneffekt : Gleichspannungsanteil wird verringert. Hardware Leitungscodierung und Protokoll 16/22 2009-11-09
Phasenrückgewinnung Idee Ist die Frequenz von Sender und Empfänger annähernd gleich, muss nur noch die Phasenlage synchronisiert werden. Vorgehensweise Auch hier gelegentliche, ggf. erzwungene Pegelwechsel (vgl. Taktrückgewinnung), Häufigkeit der Synchronisation hängt von der maximalen Abweichung der Taktraten ab, bei kleinen übertragenen Datenpaketen genügt oft ein (kurzer) Synchronisationsheader. Hardware Leitungscodierung und Protokoll 17/22 2009-11-09
Phasenrückgewinnung (2) Synchronisationshäufigkeit Gegeben: Sendefrequenz f ( Abtastrate), zulässige Bitzeit t b < 1 f, (maximale) Periodenabweichung a 1 f. Frage: nach wievielen Takten n muss die Phasenlage wieder synchronisiert werden, wenn die Abtastung möglichst in der Mitte der gültigen Bitzeit erfolgen soll? Antwort: 0 < a < 1 : t b2 n ( 1 f a 1 f ) n 1 < a : t b2 n (a 1 f 1 f ) n f t b 2 (1 a) f t b 2 (a 1) Hardware Leitungscodierung und Protokoll 18/22 2009-11-09
Phasenrückgewinnung (3) Start-Stop-Protokolle Beiden Seiten bekannte Sendefrequenz, Datenblöcke fester Länge (z.b. 8 Bit), Synchronisationsheader ( Start-Bit, z.b. 1 Bit), ggf. Parity-Information, Stop-Bit. Realisiert z.b. in den RS232-Schnittstellen. Hardware Leitungscodierung und Protokoll 19/22 2009-11-09
Protokoll-Aspekte Unser Protokoll Baudrate ein Drittel der Local-Bus-Frequenz, also ca. 16,7 MHz, bzw. eine Bitzeit von 3 Takten, Startbit 1, Datenwort 8 Bit, Stopbit 0. 600 ns für die Übertragung eines Bytes. Hardware Leitungscodierung und Protokoll 20/22 2009-11-09
Protokoll-Aspekte (2) Verschiebung des Abtastzeitpunkts Exakte, dauerhafte Synchronisation von Sender und Empfänger ist nicht möglich Abtastzeitpunkte können sich verschieben, Bitlänge (in Bus-Takten) kann zwischen 2, 3 und 4 variieren. Hardware Leitungscodierung und Protokoll 21/22 2009-11-09
Protokoll-Aspekte (3) Hardware Leitungscodierung und Protokoll 22/22 2009-11-09