Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
FPGA DVB-S Encoder
Die Idee ist, einen DVB-S-Encoder in VHDL zu realisieren.
Software
Schnittstellen
- Schnittstelle zum PC: Ethernet (UDP)
 - Schnittstelle zum I/Q-Modulator: 2xDAC
 
Komponenten
Ethernet - FIFO - Scrambler - RS-Encoder - Interleaver - P/S-Converter - Convolutional Coder - Puncturing - Mapping - (Interpolation) - Baseband Filter
Bis nach dem Interleaver ist die Struktur byteweise aufgebaut, danach arbeitet sie bit-seriell. Die Pipeline muss vor dem RS-Encoder aller 188 Byte angehalten werden können, damit der RS-Encoder seine sechs Paritätsbytes einschieben kann.
Controller
Aufgabe:
- Datenstrom überwachen (Frame-Syncronität)
 - Steuersignal für die einzelnen Komponenten erzeugen
- Sync-Signal für Framestart an Scrambler
 - Data Valid für Scrambler
 - Reset für den Interleaver
 - Reset für den RS-Encoder
 - Reset für den Convoluational Coder
 
 
Schnittstelle:
- Eingang: Datenstrom aus FIFO (Byte)
 - Ausgang: FIFO read enable (Bit)
 - TBC…
 
Netzwerk-RX
Aufgabe:
- Empfang von UDP-Paketen (Sanity-Check)
 - Weiterreichen der Nutzdaten an FIFO
 
Schnittstelle:
- Eingang: Netzwerk-Pins (Bits)
 - Ausgang: Datenstrom (Byte)
 - Ausgang: Daten valid (Bit)
 
Netzwerk-TX
Aufgabe:
- Auswerten der FIFO-Signale und Erzeugung von UDP-Nachichten zur Datenflusskontrolle
 - Wenn FIFO fast leer: „Mach schneller“ senden
 - Wenn FIFO fast voll: „Mach langsamer“ senden
 
Schnittstelle:
- Eingang: FIFO fast voll (Bit)
 - Eingang: FIFO fast leer (Bit)
 
FIFO
Aufgabe:
- MPEG-Datenstrom von Ethernet entgegennehmen und an Encoder weitergeben
 - Signalisierung der noch vorhandenen Daten (zu viel / zu wenig)
 
Schnittstelle:
- Eingang: Daten von Ethernet (Byte)
 - Eingang: Schreiben aktiv (Bit)
 - Eingang: Lesen aktiv (Bit)
 - Ausgang: Daten an Encoder (Byte)
 - Ausgang: Fast voll (Bit)
 - Ausgang: Fast leer (Bit)
 
Scrambler
Aufgabe:
- Entsprechend der Position im Frame Scrambling anwenden
 - MUX Adaptation (7 von 8 Sync Words invertieren)
 
Schnittstelle:
- Eingang: Reset-Sync-Logik (Byte)
 - Eingang: valide Daten vorhanden (Clock Enable) (Byte)
 - Eingang: Datenstrom von FIFO (Byte)
 - Ausgang: Angepasster Datenstrom (Byte)
 
RS-Encoder
Aufgabe:
- Verkürzten RS-Code auf jeweils einen MPEG-Frame anwenden
 - Paritätsbytes einfügen
 
Schnittstelle:
- Eingang: Daten ohne RS (Byte)
 - Ausgang: Daten mit RS (Byte)
 
Interleaver
Aufgabe:
- Vertauschen der Byte-Reihenfolge
 
Schnittstelle:
- Eingang: Daten (Byte)
 - Ausgang: Daten (Byte)
 
P/S-Converter
Aufgabe:
- Byteweisen Datenstrom in Bitweisen Datenstrom wandeln
 
Schnittstelle:
- Eingang: Daten (Byte)
 - Ausgang: Daten (Bit, MSB first)
 
Convolutional Coder
Aufgabe:
- Faltungskode auf serielle Daten anwenden
 
Schnittstelle:
- Eingang: Daten (Bit)
 - Ausgang: X (Bit)
 - Ausgang: Y (Bit)
 
Puncturing/Mapping
Aufgabe:
- Weglassen definierter Bits aus dem convolutional Coder
 - Mapping auf I/Q-Symbole
 
Schnittstelle:
- Eingang: X (Bit)
 - Eingang: Y (Bit)
 - Ausgang: I (Bit)
 - Ausgang: Q (Bit)
 
(Interpolator)
Aufgabe:
- Einfügen von Nullen in den Datenstrom
 
Schnittstelle:
- Eingang: I (Bit)
 - Eingang: Q (Bit)
 - Ausgang: I (Bit)
 - Ausgang: Q (Bit)
 
Baseband Filter
Aufgabe:
- Spectral Shaping mit RRC-Filter
 
Schnittstelle:
- Eingang: I (Bit)
 - Eingang: Q (Bit)
 - Ausgang: I (Bit-Vektor)
 - Ausgang: Q (Bit-Vektor)
 
