Wie implementiert man die RGB-zu-LVDS-Videoübertragung mit FPGA?
Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.
Hier ist ein praxiserprobter Weg, paralleles RGB mit einem FPGA in LVDS (FPD-Link/OpenLDI) zu übertragen.
1) Wissen, was Ihr Panel erwartet
-
Link-Typ: Single-Link (meist 18/24-bit Panels) = 4 Datenpaare + 1 Uhrenpaar. Dual-Link = 8 Datenpaare + 1 Uhrenpaar.
-
Bittiefe: 18-bit (6:6:6 → meist 3 Datenpaare) oder 24-bit (8:8:8 → 4 Datenpaare).
-
Mapping: JEIDA-24 vs. VESA-24 (welche RGB-Bits sowie HS/VS/DE in welchem 7-bit-Lane landen). Das steht im Panel-Datenblatt.
-
Taktung: Das LVDS-Clock-Paar führt den Pixeltakt (PCLK). Jedes Datenpaar läuft mit 7× PCLK (7:1-Serialisierung).
-
Abschluss: 100 Ω differentiell am Empfänger (im Panel integriert).
Schneller Bitraten-Check (pro Datenpaar):Lane-Rate = 7 × PCLK
. Beispiel 1024×768@60 (PCLK ≈ 65 MHz) → 455 Mb/s pro Lane (für die meisten FPGAs problemlos). 1080p60 (148,5 MHz) → ~1,04 Gb/s pro Lane (erfordert schnellere I/Os oder Dual-Link).
2) Architektur auf hoher Ebene
Takte: per PLL/MMCM SERCLK = 7 × PCLK für die OSERDES-High-Speed-Clock erzeugen (oder 14:1 DDR, falls das Gerät das bevorzugt).
3) Daten-Packing (der einzige „panel-spezifische“ Teil)
Bilden Sie einen 28-bit-Bus pro Pixel: 24 Farbbits + HSYNC + VSYNC + DE + (1 Reserve/Control). Aufteilen in vier 7-bit-Lanes. Die exakte Bit-Reihenfolge hängt von JEIDA vs. VESA ab. Implementieren Sie das als Tabelle, damit Sie das Mapping ohne Änderung des Serialisierers tauschen können:
4) Serialisieren im FPGA (Beispiel Xilinx 7-Serie)
Verwenden Sie OSERDESE2 im SDR 7:1-Modus, getaktet mit SERCLK=7×PCLK und PCLK als Teiler-Clock:
Intel/AMD FPGAs: Verwenden Sie die entsprechenden ALTLVDS_TX/SerDes- oder OSERDES-Primitive. Viele Familien unterstützen 10:1 DDR; dann SERCLK = 5×PCLK und Sie senden 14 Bits pro Lane mit Padding.
5) Timing & Constraints (Xilinx-XDC-Skizze)
6) Hinweise auf Board-Ebene
-
Power/IO-Bank: LVDS-fähige Bank verwenden (Vcco=2,5 V bei vielen Devices).
-
Routing: 100-Ω-differentielle Impedanz. Intra-Pair-Längenfehler < 5 mm; Skew Lane↔Clock eng halten (Ziel < 100–200 ps).
-
Terminierung: Das Panel stellt 100 Ω pro Paar bereit; keine Quellterminierung hinzufügen, außer ausdrücklich empfohlen.
-
Steckverbinder-Pinout: LANE-Reihenfolge und Polarität zum Panel passend routen; nur tauschen, wenn Ihr Mapping das berücksichtigt.
7) Inbetriebnahme & Test
-
Zuerst Color-Bar-Generator im FPGA (ohne externe Quelle).
-
Duty-Cycle der weitergeleiteten Clock und Lane-Eye (falls möglich) mit dem Oszi prüfen.
-
Ist das Bild „verschlüsselt“ oder Farben vertauscht, sind meist JEIDA/VESA-Mapping oder Bit-Reihenfolge falsch →
MAP[]
anpassen. -
Bei mehreren Auflösungen/Refreshraten validieren; Lane-Raten vs. Device-Limits beachten.
8) Wann einen externen Serializer einsetzen?
Wenn die FPGA-I/Os zu langsam sind (z. B. >800 Mb/s pro Lane) oder Sie das Timing vereinfachen möchten, nutzen Sie einen dedizierten LVDS-Serializer-IC (gängige FPD-Link/OpenLDI-Tx-Bausteine). Dann gibt das FPGA nur paralleles RGB + HS/VS/DE + PCLK aus; der Chip übernimmt Packing und LVDS-Elektrik.
Schnell-Checkliste
-
Panel-Datenblatt: Single/Dual-Link, JEIDA/VESA-Map, Pinout, Timing, PCLK.
-
FPGA: LVDS-fähige I/O-Bank, PLL für 7× PCLK.
-
Mapping-Tabelle → 4×7-bit-Lanes implementiert.
-
OSERDES/SerDes @ 7:1 (oder 14:1 DDR) + ODDR-Forward-Clock.
-
LVDS-Routing/Impedanz und Polarität verifiziert.
-
Color-Bars → Quelle → End-Validierung.
Verwandte Artikel
- ·Wie implementiert man Ethernet-Kommunikation in einem FPGA?
- ·Wie verbindet man einen externen Speicher mit einem FPGA?
- ·Entwurf eines Ampelsteuerungssystems auf FPGA-Basis
- ·Anwendung von Differenzkristalloszillatoren auf Hochgeschwindigkeits-FPGAs
- ·Faseroptisches chaotisches Verschlüsselungssystem basierend auf FPGA
- ·Wie implementiert man UART, SPI oder I2C in einem FPGA?
- ·Entwurf eines multifunktionalen Roboterarmsystems mit Gestenerkennungssteuerung auf Basis der FPGA-Technologie
- ·Entwurfstechniken zur Reduzierung des FPGA-Stromverbrauchs
- ·Kosten-Effektivität im Vergleich: Altera vs Xilinx vs Lattice