JESD204B/C High-Speed-ADC/DAC: Link-Budget bei der Migration von parallelem LVDS
Ein 14-bit-250-MS/s-ADC benötigt über 30 LVDS-Paare; ab 1 GS/s wird paralleles Routing unmöglich. JESD204B/C bündelt die Drähte zu wenigen Hochgeschwindigkeits-Lanes — der Preis: Link, Taktung und deterministische Latenz müssen neu durchgerechnet werden. Dieser Artikel rechnet L/M/F/K, SYSREF, Jitter-Budget und PCB-Kanalverlust vollständig durch.
1. Warum die Hochgeschwindigkeitserfassung paralleles LVDS aufgibt
Vor 2010 sprachen ADCs mit FPGAs über paralleles LVDS: Abtasttakt, 6–14 Datenpaare pro Kanal, Frame-Sync. Ein 14-bit-250-MS/s-ADC allein zieht 14 Datenpaare plus Frame- und Bit-Takt — über 30 Differenzpaare pro Chip. Bei einem 1 GS/s, 16-bit-Wandler explodiert die Pin-Zahl; die PCB-Längenanpassung wird auf Pikosekunden verschärft, und Layout- wie Signalintegrations-Ingenieure verlieren den Schlaf.
JESD204 löst genau dies: Parallele Abtastwerte werden als 8b/10b- oder 64b/66b-Seriendatenstrom über SerDes gepackt. Ein 14-bit-250-MS/s-ADC läuft mit 2–4 Paaren; JESD204C treibt die Lane-Rate auf 32 Gbps, sodass sogar ein 12-bit-6,4-GS/s-DAC nur 8 Paare braucht. Der Preis: Sie müssen Link-Parameter, Clock-Tree und deterministische Latenz verstehen — es reicht nicht mehr, „Drähte anschließen und es läuft”.
2. L/M/F/K/N/N’: die sechs Buchstaben zuerst durchrechnen
Jedes JESD204-Design beginnt mit sechs Parametern, die Einsteiger oft verwirren:
| Parameter | Bedeutung | Beispiel (14-bit-250-MS/s-ADC) |
|---|---|---|
| L (Lanes) | Anzahl serieller Paare | 4 |
| M (Wandler) | ADC/DACs im Link | 2 (Zweikanal) |
| F (Oktetts/Frame) | 8-bit-Bytes pro Frame | 1 |
| K (Frames/Multiframe) | Frames pro Multiframe | 32 |
| N (Sample-Bits) | Effektive Abtastbreite | 14 bit |
| N’ (Bits + Steuerung) | Breite nach Overhead | 16 bit |
Die Lane-Rate ergibt sich direkt:
Lane-Rate = M × N’ × f_s / L × (1 + Coding-Overhead)
Für den obigen ADC: M=2, N’=16, f_s=250M, L=4:
2 × 16 × 250M / 4 = 2,0 Gbps (mit 8b/10b ≈ 2,5 Gbps).
Vergleichen Sie das mit Ihren FPGA-SerDes: Kintex-7-GTP bis 6,6 Gbps, UltraScale+-GTH bis 16 Gbps, JESD204C-GTY bis 32 Gbps. Eine falsche Lane-Rate ist der häufigste Rework-Grund — viele Ingenieure übernehmen den empfohlenen Wert aus dem ADC-Datenblatt, ohne aus eigener Lane-Zahl und Abtastrate zurückzurechnen.
3. Subclass 0/1/2: SYSREF und deterministische Latenz
Die drei Subclasses unterscheiden sich darin, ob die Latenz vom Abtastpunkt bis ins FPGA-Fabric deterministisch ist:
- Subclass 0: kein SYSREF; Latenz driftet mit Temperatur und Power-up. Unbrauchbar für Phased Array und Mehrkanal-MIMO.
- Subclass 1: SYSREF richtet den lokalen Multiframe-Takt des RX periodisch aus; Latenz ist deterministisch und wiederholbar.
- Subclass 2: Ausrichtung an SYNC~-Flanke, spart die SYSREF-Leitung, aber schwächer bei Mehrblatt-Synchronisation.
In der Praxis gilt: Sobald Sie Phased Array, Beamforming oder Mehrblatt-Sync bauen, nehmen Sie Subclass 1 + SYSREF. SYSREF ist ein niederfrequenter Puls (meist wenige kHz), der gleichzeitig an ADC und den SerDes-Clock-Recovery-Pfad des FPGA verteilt wird; die Leitungen zu allen Lanes müssen auf Pikosekunden angeglichen sein. Das ist dieselbe Idee wie bei der PTP-Mehrblatt-Synchronisation (siehe D19): Erst eine globale Referenz schaffen, dann von Determinismus sprechen.
4. Taktung und Jitter-Budget: wo Designs typischerweise scheitern
Auf der anderen Seite des Links ist der Clock-Tree der unsichtbare Türhüter. SerDes-Referenz-Takte fordern extrem niedrigen Jitter: typisch < 100 fs RMS für JESD204B 6 Gbps, verschärft auf < 50 fs für JESD204C ab 16 Gbps. Konsequenzen:
- SerDes-Refclk nicht vom einfachen Quarz speisen — das Phasenrauschen reicht nicht.
- Dediziertes JESD204-Takt-IC verwenden (z. B. TI LMK04828 / ADI AD9528), das Device-Clock, SYSREF und SerDes-Referenz aus einem niederjitterigen VCXO/PLL erzeugt.
- Taktleitungen als Differenzpaare führen, fern von Hochgeschwindigkeitsleitungen und schaltenden Knoten.
Abtasttakt-Jitter wirkt direkt auf das SNR: ENOB durch Jitter ≈ -20 log10(2π × f_in × θ_j) / 6,02. Bei 700 MHz IF und θ_j = 100 fs: ENOB ≈ 11,7 Bit; verdoppelter Jitter auf 200 fs senkt ENOB auf 10,2 Bit — ganze 1,5 Bit Verlust. Die vollständige Herleitung steht in D8 *Clock Tree and Jitter Budget*; behandeln Sie dies bei JESD204-Projekten als harte Größe, nicht als „gut genug”.
5. PCB- und Kanal-Budget: wieviel Budget bis zum FPGA-Pin bleibt
Eine JESD204-Lane läuft vom ADC-Pin zum FPGA-SerDes-Pin durch PCB-Kupfer, Vias, Steckverbinder, ggf. FMC-Mezzanine. Jeder Abschnitt dämpft Hochfrequenz:
| Kanalabschnitt | Typischer Verlust @ 5 GHz |
|---|---|
| 10 cm FR-4-Leiterbahn | -3 ~ -4 dB |
| Ein Via | -0,5 ~ -1 dB |
| FMC-Steckverbinder | -1 ~ -2 dB |
| AC-Koppelkondensator | -0,2 dB |
Der Gesamtverlust sollte bei Nyquist innerhalb von ca. -15 dB bleiben (der genaue Wert hängt von der RX-Entzerrung des FPGA ab). UltraScale+-GTH integriert ein 4-Tap-DFE, das bis -25 dB kompensiert — aber mit Mehrverbrauch und BER-Risiko. Faustregel: jenseits von 12 cm auf verlustarmes Laminat (Megtron 6 / RO4350B) wechseln, statt sich auf Entzerrung zu verlassen. Deshalb platzieren Hochgeschwindigkeits-SDR-Boards den ADC innerhalb von 5 cm am FPGA, statt ihn per Kabel herauszuführen.
6. Drei FPGA-Klassen: nach Lanes und Rate wählen
FPGAs werden nach SerDes-Fähigkeit in drei Klassen eingeteilt:
| FPGA-Klasse | SerDes-Typ | Max. Rate | Typ. Lanes | Einsatzzweck |
|---|---|---|---|---|
| Kintex-7 / Pendent | GTP | 6,6 Gbps | 8–16 | 1–2 Kanal 250–500 MS/s ADC |
| Kintex UltraScale+ | GTH | 16 Gbps | 16–32 | Mehrkanal 1 GS/s, volles JESD204B |
| Virtex-7 / Pendent | GTH-Klasse | 13 Gbps | 16–32 | Hohe Kanalzahl, langlebige Industrie |
Nicht nur nach Lane-Zahl wählen: Prüfen Sie, ob ein offizieller JESD204-IP-Core verfügbar ist. Xilinx liefert LogiCORE JESD204B; Fudan Micro JFM7K/JFM7V sind kompatibel; Pango Titan3 holt auf. Ohne IP-Core schreiben Sie 8b/10b-Codierung plus Alignment-State Machine selbst — der Arbeitsaufwand verdoppelt sich.
7. Duyuan-Boards für drei Projektgrößen
| Board | SerDes-Ressourcen | Passendes JESD204-Projekt |
|---|---|---|
| DUK7325T (JFM7K325T, ¥7.999) | 16 GTP-Lanes | 2–4 Kanal 250 MS/s auf einem Board, Lehre/Prototyp |
| DUKU15P (XCKU15P-SoM, ¥17.999) | 32 GTH-Lanes | 8-Kanal-1-GS/s-Erfassung, Phased-Array-Bench |
| DUF7690T (JFM7VX690T, ¥24.999) | 32 GTH-Lanes | Hochkanal-SDR, Radar, langlaufende Produkte |
Alle drei führen FMC/HPC-Steckverbinder zu Hochgeschwindigkeits-Bänken; Standard-ADC/DAC-Mezzaninen (AD9371, AD9680, ADRV9009) stecken direkt auf — kein Schaltplan-Redesign nötig.
8. Praktische Checkliste
In dieser Reihenfolge vermeiden Sie 80 % des JESD204-Reworks:
- Lane-Rate nach M × N’ × f_s / L berechnen, bevor Sie den Schaltplan zeichnen; sicherstellen, dass sie im SerDes-Fenster liegt.
- Bei Mehrkanal gleich mit Subclass 1 + SYSREF starten; keine Zeit mit Subclass 0 verschwenden.
- Taktung von dediziertem JESD204-Takt-IC, nicht von generischem PLL; Jitter-Budget aus f_s zurückrechnen, 3 dB Marge lassen.
- PCB-Verlust zuerst kalkulieren; jenseits 12 cm verlustarmes Laminat; AC-Koppelkappen auf FPGA-Seite platzieren.
- FPGA erst wählen, wenn ein Hersteller-JESD204-IP existiert — keine 8b/10b-State-Machine von Null schreiben.
- Beim Bring-up zuerst PRBS auf BER < 1e-12 fahren, dann den Abtastdatenpfad öffnen; nicht zuerst auf Wellenformen schauen.
JESD204 ist nicht „LVDS, nur schneller”. Es ist ein System aus Serialisierung, Taktverteilung und deterministischer Latenz. Wenn die Lane-Rate stimmt, SYSREF längenangepasst ist und das Jitter-Budget Marge hat, ist der Rest — SerDes-Phasenabgleich und Framing — nur noch Fleißarbeit.
Weiterlesen
- SDR-Frontend: Signalkette von der Antenne zum Basisband
- Clock Tree und Jitter-Budget
- Phased-Array-Radar: Beamforming und Pulskompression
