intel AN 889 8K DisplayPort Videoformaat Conversie Ontwerp Example
Over het 8K DisplayPort-videoformaatconversieontwerp Bijvample
Het 8K DisplayPort-videoformaatconversieontwerp Example integreert de Intel DisplayPort 1.4 videoconnectiviteit IP met een videoverwerkingspijplijn. Het ontwerp levert hoogwaardige schaling, kleurruimteconversie en framesnelheidconversie voor videostreams tot 8K bij 30 frames per seconde, of 4K bij 60 frames per seconde.
Het ontwerp is in hoge mate software- en hardwareconfigureerbaar, waardoor een snelle systeemconfiguratie en herontwerp mogelijk is. Het ontwerp is gericht op Intel® Arria® 10-apparaten en maakt gebruik van de nieuwste 8K-ready Intel FPGA IP van de Video and Image Processing Suite in Intel Quartus® Prime v19.2.
Over DisplayPort Intel FPGA IP
Om Intel Arria 10 FPGA-ontwerpen met DisplayPort-interfaces te maken, instantiëert u de DisplayPort Intel FPGA IP. Deze DisplayPort IP implementeert echter alleen het protocolcodering of decodering voor DisplayPort. Het omvat niet de transceivers, PLL's of herconfiguratiefunctionaliteit van transceivers die nodig zijn om de snelle seriële component van de interface te implementeren. Intel biedt afzonderlijke transceiver-, PLL- en herconfiguratie-IP-componenten. Het selecteren, parametriseren en aansluiten van deze componenten om een volledig compatibele DisplayPort-ontvanger of zenderinterface te creëren vereist specialistische kennis.
Intel biedt dit ontwerp voor degenen die geen transceiverexperts zijn. Met de parametereditor GUI voor de DisplayPort IP kunt u het ontwerp bouwen.
U maakt een exemplaar van de DisplayPort IP (die alleen ontvanger, alleen zender of gecombineerde ontvanger en zender kan zijn) in Platform Designer of de IP-catalogus. Wanneer u de DisplayPort IP-instantie parametriseert, kunt u ervoor kiezen een example-ontwerp voor die specifieke configuratie. Het gecombineerde ontwerp van ontvanger en zender is een eenvoudige doorvoer, waarbij de uitvoer van de ontvanger rechtstreeks naar de zender wordt gevoerd. Een ontwerp met vaste doorvoer creëert een volledig functionele ontvanger PHY, zender PHY en herconfiguratieblokken die alle transceiver- en PLL-logica implementeren. U kunt de relevante onderdelen van het ontwerp direct kopiëren of het ontwerp als referentie gebruiken. Het ontwerp genereert een DisplayPort Intel Arria 10 FPGA IP Design Example en voegt vervolgens veel van de files worden rechtstreeks gegenereerd in de compileerlijst die wordt gebruikt door het Intel Quartus Prime-project. Deze omvatten:
- Files om geparametriseerde IP-instanties te maken voor transceivers, PLL's en herconfiguratieblokken.
- Verilog-HDL files om deze IP's te verbinden met de hogere ontvanger PHY, zender PHY en Transceiver Reconfiguration Arbiter-blokken
- Synopsys ontwerpbeperking (SDC) files om de relevante timingbeperkingen in te stellen.
Kenmerken van het 8K DisplayPort-videoformaatconversieontwerp Example
- Invoer:
- DisplayPort 1.4-connectiviteit ondersteunt resoluties van 720×480 tot 3840×2160 bij elke framesnelheid tot 60 fps, en resoluties tot 7680×4320 bij 30 fps.
- Hot-pluggable ondersteuning.
- Ondersteuning voor zowel RGB- als YCbCr-kleurformaten (4:4:4, 4:2:2 en 4:2:0)
invoer. - Software detecteert automatisch het invoerformaat en stelt de verwerkingspijplijn op de juiste manier in.
- Uitvoer:
- DisplayPort 1.4-connectiviteit selecteerbaar (via DIP-switches) voor een resolutie van 1080p, 1080i of 2160p bij 60 fps, of 2160p bij 30 fps.
- Hot-pluggable ondersteuning.
- DIP-schakelaars om het vereiste uitvoerkleurformaat in te stellen op RGB, YCbCr 4:4:4, YCbCr 4:2:2 of YCbCr 4:2:0.
- Enkele 10-bits 8K RGB-verwerkingspijplijn met softwarematig configureerbare schaling en framesnelheidconversie:
- Lanczos-downscaler met 12 tikken.
- Lanczos-upscaler met 16 fasen en 4 kranen.
- Drievoudig bufferende videoframebuffer zorgt voor framesnelheidconversie.
- Mixer met alpha-blending maakt overlay van OSD-pictogrammen mogelijk.
Aan de slag met het 8K DisplayPort-videoformaatconversieontwerp Example
Hardware- en softwarevereisten
Het 8K DisplayPort-videoformaatconversieontwerp Exampbestand vereist specifieke hardware en software.
Hardware:
- Intel Arria 10 GX FPGA-ontwikkelkit, inclusief de DDR4 Hilo Daughter-kaart
- Bitec DisplayPort 1.4 FMC-dochterkaart (revisie 11)
- DisplayPort 1.4-bron die video tot 3840x2160p60 of 7680x4320p30 produceert
- DisplayPort 1.4-sink die video tot 3840 x 2160p60 weergeeft
- VESA-gecertificeerde DisplayPort 1.4-kabels.
Software:
- Windows- of Linux-besturingssysteem
- De Intel Quartus Prime Design Suite v19.2, inclusief:
- Intel Quartus Prime Pro-editie
- Platformontwerper
- Nios® II EDS
- Intel FPGA IP-bibliotheek (inclusief de video- en beeldverwerkingssuite)
Het ontwerp werkt alleen met deze versie van Intel Quartus Prime.
Downloaden en installeren van het Intel 8K DisplayPort-videoformaatconversieontwerp Example
Het ontwerp is beschikbaar in de Intel Design Store.
- Download het gearchiveerde project file udx10_dp.par.
- Pak het Intel Quartus Prime-project uit het archief:
- a. Open Intel Quartus Prime Pro-editie.
- b. Klik File ➤ Project openen.
Het venster Project openen wordt geopend. - c. Navigeer naar en selecteer udx10_dp.par file.
- d. Klik op Openen.
- e. Stel in het venster Ontwerpsjabloon openen de doelmap in op de gewenste locatie voor het uitgepakte project. De gegevens voor de ontwerpsjabloon file en projectnaam moeten correct zijn en u hoeft deze niet te wijzigen.
- f. Klik op OK.
Ontwerp Files voor het Intel 8K DisplayPort-videoformaatconversieontwerp Example
Tabel 1. Ontwerp Files
File of mapnaam | Beschrijving |
ip | Bevat de IP-instantie files voor alle Intel FPGA IP-instanties in het ontwerp:
• Een DisplayPort IP (zender en ontvanger) • Een PLL die klokken genereert op het hoogste niveau van het ontwerp • Alle IP waaruit het Platform Designer-systeem bestaat voor de verwerkingspijplijn. |
hoofd_afbeelding | Bevat pre_compiled.sof, een vooraf gecompileerde bordprogrammering file voor het ontwerp. |
non_acds_ip | Bevat broncode voor extra IP in dit ontwerp die Intel Quartus Prime niet bevat. |
sdc | Bevat een SDC file dat beschrijft de extra timingbeperkingen die dit ontwerp vereist. De SDC fileProgramma's die automatisch bij de IP-instanties worden meegeleverd, kunnen deze beperkingen niet aan. |
software | Bevat broncode, bibliotheken en build-scripts voor de software die draait op de ingebouwde Nios II-processor om de functionaliteit op hoog niveau van het ontwerp te controleren. |
udx10_dp | Een map waarin Intel Quartus Prime uitvoer genereert files voor het Platform Designer-systeem. De udx10_dp.sopcinfo-uitvoer file Hiermee kunt u de geheugeninitialisatie genereren file voor het softwaregeheugen van de Nios II-processor. U hoeft niet eerst het volledige Platform Designer-systeem te genereren. |
non_acds_ip.ipx | Deze IPX file declareert alle IP-adressen in de map non_acds_ip bij Platform Designer, zodat deze in de IP-bibliotheek verschijnen. |
LEESMIJ.txt | Korte instructies voor het bouwen en uitvoeren van het ontwerp. |
top.qpf | Het Intel Quartus Prime-project file voor het ontwerp. |
top.qsf | De Intel Quartus Prime-projectinstellingen file voor het ontwerp. Dit file vermeldt alle files die nodig zijn om het ontwerp te bouwen, samen met de pintoewijzingen en een aantal andere projectinstellingen. |
top.v | Het topniveau Verilog HDL file voor het ontwerp. |
udx10_dp.qsys | Het Platform Designer-systeem dat de videoverwerkingspijplijn, de Nios II-processor en de bijbehorende randapparatuur bevat. |
Het compileren van het 8K DisplayPort-videoformaatconversieontwerp Vbample
Intel biedt een vooraf gecompileerde bordprogrammering file voor het ontwerp in de map master_image (pre_compiled.sof), zodat u het ontwerp kunt uitvoeren zonder een volledige compilatie uit te voeren.
STAPPEN:
- Open in de Intel Quartus Prime-software het top.qpf-project file. Het gedownloade archief maakt dit aan file wanneer u het project uitpakt.
- Klik File ➤ Open en selecteer ip/dp_rx_tx/dp_rx_tx.ip. De parametereditor GUI voor de DisplayPort IP wordt geopend en toont de parameters voor de DisplayPort-instantie in het ontwerp.
- Klik op Genereer Example Ontwerp (niet genereren).
- Wanneer het genereren is voltooid, sluit u de parametereditor.
- In File Explorer, navigeer naar de softwaremap en pak het vip_control_src.zip-archief uit om de vip_control_src-map te genereren.
- Navigeer in een BASH-terminal naar software/script en voer het shellscript build_sw.sh uit.
Het script bouwt de Nios II-software voor het ontwerp. Het creëert zowel een .elf file die u tijdens runtime naar het bord kunt downloaden, en een .hex file om te compileren in de programmeertaal .sof van het bord file. - Klik in de Intel Quartus Prime-software op Verwerken ➤ Compilatie starten.
- Intel Quartus Prime genereert het udx10_dp.qsys Platform Designer-systeem.
- Intel Quartus Prime stelt het project in op top.qpf.
De compilatie creëert top.sof in de output_files map wanneer het voltooid is.
Viewhet Platform Designer System installeren en regenereren
- Klik op Extra ➤ Platformontwerper.
- Selecteer systeemnaam.qsys voor de Platform Designer-systeemoptie.
- Klik op Openen.
Platform Designer opent het systeem. - Review het systeem.
- Regenereer het systeem:
- a. Klik op HDL genereren….
- b. Schakel in het venster Generatie de optie Uitvoermappen wissen in voor geselecteerde generatiedoelen.
- c. Klik op Genereer
Het compileren van het 8K DisplayPort-videoformaatconversieontwerp Vbampbestand met de Nios II Software Build Tools voor Eclipse
U stelt een interactieve Nios II Eclipse-werkruimte in voor het ontwerp om een werkruimte te produceren die dezelfde mappen gebruikt als het build-script. Als u het buildscript eerder hebt uitgevoerd, moet u de mappen software/vip_control en software/vip_control_bsp verwijderen voordat u de Eclipse-werkruimte maakt. Als u het buildscript op enig moment opnieuw uitvoert, wordt de Eclipse-werkruimte overschreven.
STAPPEN:
- Navigeer naar de softwaremap en pak het vip_control_src.zip-archief uit om de vip_control_src-map te genereren.
- Maak in de geïnstalleerde projectmap een nieuwe map en noem deze werkruimte.
- Klik in de Intel Quartus Prime-software op Extra ➤ Nios II Software Build Tools voor Eclipse.
- a. Selecteer in het venster Workspace Launcher de werkruimtemap die u hebt gemaakt.
- b. Klik op OK.
- Klik in het Nios II – Eclipse-venster File ➤ Nieuw ➤ Nios II-applicatie en BSP van sjabloon.
Het dialoogvenster Nios II-applicatie en BSP van sjabloon verschijnt.- a. In de SOPC-informatie File in het vak udx10_dp/udx10_dp.sopcinfo file. De Nios II SBT voor Eclipse vult de CPU-naam in met de processornaam uit de .sopcinfo file.
- b. Typ vip_control in het vak Projectnaam.
- c. Selecteer Leeg project in de lijst Sjablonen.
- d. Klik op Volgende.
- e. Selecteer Een nieuw BSP-project maken op basis van de aanvraagprojectsjabloon met de projectnaam vip_control_bsp.
- f. Schakel Standaardlocatie gebruiken in.
- g. Klik op Voltooien om de applicatie en de BSP aan te maken op basis van de .sopcinfo file.
Nadat de BSP is gegenereerd, verschijnen de projecten vip_control en vip_control_bsp op het tabblad Projectverkenner.
- Kopieer in Windows Verkenner de inhoud van de map software/vip_control_src naar de nieuw aangemaakte map software/vip_control.
- Klik op het tabblad Projectverkenner van het Nios II – Eclipse-venster met de rechtermuisknop op de map vip_control_bsp en selecteer Nios II > BSP Editor.
- a. Selecteer Geen in het vervolgkeuzemenu voor sys_clk_timer.
- b. Selecteer cpu_timer in het vervolgkeuzemenu voor tijdenamp_timer.
- c. Schakel enable_small_c_library in.
- d. Klik op Genereren.
- e. Wanneer het genereren is voltooid, klikt u op Afsluiten.
- Klik op het tabblad Projectverkenner met de rechtermuisknop op de map vip_control en klik op Eigenschappen.
- a. Vouw in het venster Eigenschappen voor vip_control de eigenschappen van Nios II-applicatie uit en klik op Nios II-applicatiepaden.
- b. Klik op Toevoegen… naast Bibliotheekprojecten.
- c. Navigeer in het venster Bibliotheekprojecten naar de map udx10.dp\spftware\vip_control_src en selecteer de map bkc_dprx.syslib.
- d. Klik OK. Er verschijnt een bericht Converteren naar een relatief pad. Klik op Ja.
- e. Herhaal stap 7.b op pagina 8 en 7.c op pagina 8 voor de mappen bkc_dptx.syslib en bkc_dptxll_syslib
- f. Klik op OK.
- Selecteer Project ➤ Alles bouwen om het file vip_control.elf in de map software/vip_control.
- Bouw de mem_init file voor de Intel Quartus Prime-compilatie:
- a. Klik met de rechtermuisknop op vip_control in het Project Explorer-venster.
- b. Selecteer Doelen maken ➤ Bouwen….
- C. Selecteer mem_init_generate.
D. Klik op Bouwen.
De Intel Quartus Prime-software genereert de
udx10_dp_onchip_memory2_0_onchip_memory2_0.hex file in de map software/vip_control/mem_init.
- Terwijl het ontwerp op een aangesloten bord draait, voert u de vip_control.elf-programmering uit file gemaakt door de Eclipse-build.
- a. Klik met de rechtermuisknop op de map vip_control op het tabblad Projectverkenner van het Nios II -Eclipse-venster.
- b. Uitvoeren als ➤ Nios II-hardware selecteren. Als u een Nios II-terminalvenster geopend heeft, sluit dit dan voordat u de nieuwe software downloadt.
De Intel Arria 10 GX FPGA-ontwikkelkit instellen
Beschrijft hoe u de kit instelt om de 8K DisplayPort Video Format Conversion Design Ex uit te voerenampik.
Afbeelding 1. Intel Arria 10 GX-ontwikkelkit met HiLo-dochterkaart
De afbeelding toont het bord waarvan het blauwe koellichaam is verwijderd om de positionering van de DDR4 Hilo-kaart te tonen. Intel raadt u aan het ontwerp niet uit te voeren zonder dat het koellichaam op zijn plaats zit.
STAPPEN:
- Sluit de Bitec DisplayPort 1.4 FMC-kaart aan op het ontwikkelbord met behulp van FMC-poort A.
- Zorg ervoor dat de aan/uit-schakelaar (SW1) is uitgeschakeld en sluit vervolgens de stroomconnector aan.
- Sluit een USB-kabel aan op uw computer en op de MicroUSB-connector (J3) op het ontwikkelbord.
- Sluit een DisplayPort 1.4-kabel aan tussen de DisplayPort-bron en de ontvangerpoort van de Bitec DisplayPort 1.4 FMC-kaart en zorg ervoor dat de bron actief is.
- Sluit een DisplayPort 1.4-kabel aan tussen het DisplayPort-scherm en de zenderpoort van de Bitec DisplayPort 1.4 FMC-kaart en zorg ervoor dat het scherm actief is.
- Schakel het bord in met SW1.
Kaartstatus-LED's, drukknoppen en DIP-schakelaars
De Intel Arria 10 GX FPGA Development Kit heeft acht status-LED's (met zowel groene als rode zenders), drie gebruikersdrukknoppen en acht gebruikers-DIP-schakelaars. Het 8K DisplayPort-videoformaatconversieontwerp Example verlicht de LED's om de status van de DisplayPort-ontvangerverbinding aan te geven. Met de drukknoppen en DIP-schakelaars kunt u ontwerpinstellingen wijzigen.
Status-LED's
Tabel 2. Status-LED's
LED | Beschrijving |
Rode leds | |
0 | DDR4 EMIF-kalibratie wordt uitgevoerd. |
1 | DDR4 EMIF-kalibratie mislukt. |
7:2 | ongebruikt. |
Groene LED's | |
0 | Gaat branden wanneer de linktraining voor de DisplayPort-ontvanger met succes is voltooid en het ontwerp stabiele video ontvangt. |
5:1 | Aantal rijstroken DisplayPort-ontvanger: 00001 = 1 baan
00010 = 2 rijstroken 00100 = 4 rijstroken |
7:6 | Snelheid DisplayPort-ontvangerbaan: 00 = 1.62 Gbps
01 = 2.7 Gbps 10 = 5.4 Gbps 11 = 8.1 Gbps |
In de tabel wordt de status vermeld die elke LED aangeeft. Elke LED-positie heeft zowel rode als groene indicatoren die onafhankelijk van elkaar kunnen oplichten. Als een LED oranje oplicht, betekent dit dat zowel de rode als de groene indicatoren branden.
Gebruiker drukknoppen
Gebruikersdrukknop 0 regelt de weergave van het Intel-logo in de rechterbovenhoek van het uitvoerdisplay. Bij het opstarten maakt het ontwerp de weergave van het logo mogelijk. Door op drukknop 0 te drukken wordt de activering van de logoweergave omgeschakeld. Gebruikersdrukknop 1 regelt de schaalmodus van het ontwerp. Wanneer een bron of sink hot-plugged is, is het ontwerp standaard ingesteld op:
- Passthrough-modus, als de invoerresolutie kleiner is dan of gelijk is aan de uitvoerresolutie
- Downscale-modus, als de invoerresolutie groter is dan de uitvoerresolutie
Elke keer dat u op gebruikersknop 1 drukt, schakelt het ontwerp over naar de volgende schaalmodus (passthrough > upscale, upscale > downscale, downscale > passthrough). Gebruikersdrukknop 2 is ongebruikt.
Gebruiker DIP-switches
De DIP-switches regelen het optionele Nios II-terminalprinten en de instellingen voor het video-uitvoerformaat dat via de DisplayPort-zender wordt aangestuurd.
Tabel 3. DIP-schakelaars
In de tabel wordt de functie van elke DIP-schakelaar vermeld. De DIP-schakelaars, genummerd van 1 tot 8 (niet 0 tot 7), komen overeen met de nummers die op het schakelaaronderdeel zijn afgedrukt. Om elke schakelaar op AAN te zetten, beweegt u de witte schakelaar richting het LCD-scherm en weg van de LED's op het bord.
Schakelaar | Functie |
1 | Maakt afdrukken op de Nios II-terminal mogelijk indien ingesteld op AAN. |
2 | Uitvoerbits per kleur instellen:
UIT = 8 bits AAN = 10 bits |
4:3 | Stel de uitvoerkleurruimte en s inampleng: SW4 UIT, SW3 UIT = RGB 4:4:4 SW4 UIT, SW3 AAN = YCbCr 4:4:4 SW4 AAN, SW3 UIT = YCbCr 4:2:2 SW4 AAN, SW3 AAN = YCbCr 4:2:0 |
6:5 | Stel de uitvoerresolutie en framesnelheid in: SW4 UIT, SW3 UIT = 4K60
SW4 UIT, SW3 AAN = 4K30 SW4 AAN, SW3 UIT = 1080p60 SW4 AAN, SW3 AAN = 1080i60 |
8:7 | Ongebruikt |
Het 8K DisplayPort-videoformaatconversieontwerp uitvoeren Example
U moet het gecompileerde .sof-bestand downloaden file voor het ontwerp naar de Intel Arria 10 GX FPGA Development Kit om het ontwerp uit te voeren.
STAPPEN:
- Klik in de Intel Quartus Prime-software op Extra ➤ Programmer.
- Klik in het Programmer-venster op Auto Detect om de JTAG keten en ontdek de aangesloten apparaten.
Als er een pop-upvenster verschijnt waarin u wordt gevraagd de apparatenlijst van de Programmer bij te werken, klikt u op Ja. - Selecteer in de apparaatlijst de rij met het label 10AX115S2F45.
- Klik op Wijzigen File…
- Om de voorgecompileerde versie van de programmering te gebruiken file die Intel opneemt als onderdeel van de ontwerpdownload, selecteert u master_image/pre_compiled.sof.
- Om uw programmering te gebruiken file gemaakt door de lokale compilatie, selecteer output_files/top.sof.
- Schakel Programmeren/Configureren in de rij 10AX115S2F45 van de apparatenlijst in.
- Klik op Start.
Wanneer de programmeur klaar is, wordt het ontwerp automatisch uitgevoerd. - Open een Nios II-terminal om de uitgaande tekstberichten van het ontwerp te ontvangen, anders loopt het ontwerp vast na een aantal schakelwisselingen (alleen als u gebruikers-DIP-schakelaar 1 op ON zet).
- a. Open een terminalvenster en typ nios2-terminal
- b. Druk op Enter.
aangesloten op de ingang. Zonder bron is de uitvoer een zwart scherm met het Intel-logo in de rechterbovenhoek van het scherm.
Functionele beschrijving van het 8K DisplayPort-videoformaatconversieontwerp Vbample
Het Platform Designer-systeem, udx10_dp.qsys, bevat het DisplayPort-ontvanger- en zenderprotocol-IP, het videopijplijn-IP en de Nios II-processorcomponenten. Het ontwerp verbindt het Platform Designer-systeem met de DisplayPort-ontvanger en zender PHY-logica (die de interface-transceivers bevat) en de herconfiguratielogica van de transceiver op het hoogste niveau in een Verilog HDL RTL-ontwerp file (top.v). Het ontwerp omvat één enkel videoverwerkingspad tussen de DisplayPort-ingang en de DisplayPort-uitgang.
Afbeelding 2. Blokschema
Het diagram toont de blokken in het 8K DisplayPort Video Format Conversion Design Example. Het diagram toont niet enkele van de generieke randapparatuur die is aangesloten op de Nios II, de Avalon-MM tussen de Nios II-processor en de andere componenten van het systeem. Het ontwerp accepteert video van een DisplayPort-bron aan de linkerkant, verwerkt de video via de videopijplijn van links naar rechts voordat de video wordt doorgegeven aan de DisplayPort-sink aan de rechterkant.
DisplayPort-ontvanger PHY en DisplayPort-ontvanger IP
De Bitec DisplayPort FMC-kaart biedt een buffer voor het DisplayPort 1.4-signaal van de DisplayPort-bron. De combinatie van DisplayPort Receiver PHY en DisplayPort Receiver IP decodeert het binnenkomende signaal om een videostream te creëren. De DisplayPort-ontvanger PHY bevat de transceivers om de inkomende gegevens te deserialiseren en de DisplayPort-ontvanger IP decodeert het DisplayPort-protocol. De gecombineerde DisplayPort Receiver IP verwerkt het binnenkomende DisplayPort-signaal zonder enige software. Het resulterende videosignaal van de DisplayPort-ontvanger IP is een native pakketvormig streamingformaat. Het ontwerp configureert de DisplayPort-ontvanger voor 10-bit uitvoer.
DisplayPort naar geklokt video-IP
Het pakketvormige streaminggegevensformaat dat door de DisplayPort-ontvanger wordt uitgevoerd, is niet direct compatibel met het geklokte videogegevensformaat dat de Clocked Video Input IP verwacht. De DisplayPort naar Clocked Video IP is een aangepast IP-adres voor dit ontwerp. Het converteert de DisplayPort-uitgang naar een compatibel geklokt videoformaat dat u rechtstreeks op de geklokte video-ingang kunt aansluiten. De DisplayPort naar Clocked Video IP kan de draadsignaleringsstandaard wijzigen en de volgorde van de kleurvlakken binnen elke pixel wijzigen. De DisplayPort-standaard specificeert de kleurvolgorde die anders is dan de IP-volgorde van de Intel-videopijplijn. De Nios II-processor regelt de kleurwissel. Het leest de huidige kleurruimte voor verzending van de DisplayPort-ontvanger IP met zijn Avalon-MM-slave-interface. Het stuurt de DisplayPort naar Clocked Video IP om de juiste correctie toe te passen met zijn Avalon-MM-slave-interface.
Geklokte video-ingang
De geklokte video-ingang verwerkt het geklokte video-interfacesignaal van de DisplayPort naar Clocked Video IP en converteert dit naar Avalon-ST Video-signaalformaat. Dit signaalformaat verwijdert alle horizontale en verticale onderdrukkingsinformatie uit de video, waardoor alleen actieve beeldgegevens overblijven. Het IP pakketteert het als één pakket per videoframe. Het voegt ook extra metagegevenspakketten toe (ook wel controlepakketten genoemd) die de resolutie van elk videoframe beschrijven. De Avalon-ST-videostream door de verwerkingspijp is vier pixels parallel, met drie symbolen per pixel. De geklokte video-ingang zorgt voor clockcrossing voor de conversie van het geklokte videosignaal met variabele snelheid van de DisplayPort-ontvanger IP naar de vaste kloksnelheid (300 MHz) voor de video-IP-pijplijn.
Stream schoner
De streamcleaner zorgt ervoor dat het Avalon-ST-videosignaal dat naar de verwerkingspijplijn gaat, foutloos is. Hot-plugging van de DisplayPort-bron kan ertoe leiden dat het ontwerp onvolledige gegevensframes presenteert aan het geklokte video-invoer-IP en fouten genereert in de resulterende Avalon-ST-videostream. De grootte van de pakketten die de videogegevens voor elk frame bevatten, komt dan niet overeen met de grootte die wordt gerapporteerd door de bijbehorende besturingspakketten. De streamcleaner detecteert deze omstandigheden en voegt extra gegevens (grijze pixels) toe aan het einde van de overtredende videopakketten om het frame te voltooien en overeen te komen met de specificatie in het controlepakket.
Chroma-resampler (invoer)
De videogegevens die het ontwerp ontvangt bij de invoer van DisplayPort kunnen 4:4:4, 4:2:2 of 4:2:0 chroma s zijnampLED. De ingangschroma resampler neemt de binnenkomende video in elk formaat en converteert deze in alle gevallen naar 4:4:4. Om een hogere visuele kwaliteit te bieden, zijn de chroma resampler gebruikt het rekenkundig duurste gefilterde algoritme. De Nios II-processor leest de huidige chroma'sampling-formaat van de DisplayPort-ontvanger IP via de Avalon-MM-slave-interface. Het communiceert het formaat naar de chroma resampler via de Avalon-MM-slave-interface.
Kleurruimteconverter (invoer)
De ingevoerde videogegevens van DisplayPort kunnen de RGB- of YCbCr-kleurruimte gebruiken. De invoerkleurruimteconverter neemt de binnenkomende video in welk formaat dan ook en converteert deze in alle gevallen naar RGB. De Nios II-processor leest de huidige kleurruimte van de DisplayPort-ontvanger IP met zijn Avalon-MM-slave-interface; het laadt de juiste conversiecoëfficiënten naar de chroma resampler via de Avalon-MM-slave-interface.
Klipper
De clipper selecteert een actief gebied uit de binnenkomende videostream en gooit de rest weg. De softwarebesturing die op de Nios II-processor draait, definieert de te selecteren regio. De regio is afhankelijk van de resolutie van de gegevens die worden ontvangen bij de DisplayPort-bron en de uitvoerresolutie en schaalmodus. De processor communiceert de regio naar de Clipper via de Avalon-MM-slave-interface.
Schaal
Het ontwerp past schaling toe op de binnenkomende videogegevens op basis van de ontvangen invoerresolutie en de gewenste uitvoerresolutie. U kunt ook kiezen tussen drie schaalmodi (upscale, downscale en passthrough). Twee Scalaire IP's zorgen voor de schaalfunctionaliteit: één implementeert de vereiste schaalverkleining; de ander implementeert opschaling. Het ontwerp vereist twee scalers.
- Wanneer de scaler een downscale implementeert, produceert deze geen geldige gegevens over elke klokcyclus aan de uitgang. BijvoorbeeldampAls bijvoorbeeld een 2x downscale-verhouding wordt geïmplementeerd, is het geldige signaal aan de uitgang elke andere klokcyclus hoog terwijl het ontwerp elke even genummerde ingangslijn ontvangt, en vervolgens laag voor het geheel van de oneven genummerde ingangslijnen. Dit bursting-gedrag is van fundamenteel belang voor het proces van het verlagen van de datasnelheid aan de uitgang, maar is incompatibel met de downstream Mixer IP, die over het algemeen een consistentere datasnelheid verwacht om onderstroom aan de uitgang te voorkomen. Het ontwerp vereist de Frame Buffer tussen elke downscale en mixer. Dankzij de Frame Buffer kan de Mixer de gegevens lezen met de snelheid die nodig is.
- Wanneer de scaler een opschaling implementeert, produceert deze geldige gegevens over elke klokcyclus, zodat de volgende mixer geen problemen ondervindt. Het is echter mogelijk dat het niet bij elke klokcyclus nieuwe invoergegevens accepteert. Een 2x luxe nemen als example, op de even genummerde uitvoerlijnen accepteert het om de andere klokcyclus een nieuwe gegevensslag en accepteert het vervolgens geen nieuwe invoergegevens op de oneven genummerde uitvoerlijnen. De stroomopwaartse Clipper kan echter gegevens met een geheel andere snelheid produceren als hij een aanzienlijke clip toepast (bijvoorbeeld tijdens het inzoomen). Daarom moeten een Clipper en een opschaling over het algemeen worden gescheiden door een Frame Buffer, waarbij de Scaler achter de Frame Buffer in de pijplijn moet zitten. De Scaler moet vóór de Frame Buffer zitten voor downscaling, dus implementeert het ontwerp twee afzonderlijke scalers aan weerszijden van de Frame Buffer: één voor upscale; de andere voor downscale.
Twee schalers verminderen ook de maximale DDR4-bandbreedte die nodig is voor de framebuffer. U moet altijd downscales vóór de framebuffer toepassen, waardoor de gegevenssnelheid aan de schrijfzijde wordt geminimaliseerd. Pas altijd opschaling toe na de framebuffer, waardoor de gegevenssnelheid aan de leeszijde wordt geminimaliseerd. Elke Scaler krijgt de vereiste invoerresolutie van de besturingspakketten in de inkomende videostream, terwijl de Nios II-processor met de Avalon-MM-slave-interface de uitvoerresolutie voor elke Scaler instelt.
Framebuffer
De framebuffer gebruikt het DDR4-geheugen om drievoudige buffering uit te voeren, waardoor de video- en beeldverwerkingspijplijn framesnelheidconversie kan uitvoeren tussen de inkomende en uitgaande framesnelheden. Het ontwerp kan elke invoerframesnelheid accepteren, maar de totale pixelsnelheid mag niet hoger zijn dan 1 gigapixels per seconde. De Nios II-software stelt de uitvoerframesnelheid in op 30 of 60 fps, afhankelijk van de uitvoermodus die u selecteert. De uitgangsframesnelheid is een functie van de instellingen voor geklokte video-uitvoer en de uitgangsvideopixelklok. De tegendruk die de geklokte video-uitvoer op de pijplijn uitoefent, bepaalt de snelheid waarmee de leeszijde van de framebuffer videoframes uit de DDR4 haalt.
Menger
De mixer genereert een zwarte achtergrondafbeelding met een vast formaat die de Nios II-processor programmeert zodat deze overeenkomt met de grootte van het huidige uitvoerbeeld. De mixer heeft twee ingangen. De eerste invoer wordt aangesloten op de upscaler, zodat het ontwerp de uitvoer van de huidige videopijplijn kan weergeven. De tweede ingang is verbonden met het pictogramgeneratorblok. Het ontwerp maakt alleen de eerste ingang van de mixer mogelijk wanneer deze actieve, stabiele video detecteert op de geklokte video-ingang. Daarom handhaaft het ontwerp een stabiel uitvoerbeeld aan de uitvoer terwijl hot-plugging aan de invoer plaatsvindt. De ontwerp-alfa combineert de tweede invoer naar de mixer, verbonden met de pictogramgenerator, over zowel de achtergrond- als de videopijplijnafbeeldingen met 50% transparantie.
Kleurruimteconverter (uitvoer)
De output-kleurruimteconverter transformeert de ingevoerde RGB-videogegevens naar RGB- of YCbCr-kleurruimte op basis van de runtime-instelling van de software.
Chroma-resampler (uitvoer)
De uitgangschroma resampler converteert het formaat van 4:4:4 naar een van de formaten 4:4:4, 4:2:2 of 4:2:0. De software stelt het formaat in. De uitgangschroma resampler gebruikt ook een gefilterd algoritme om video van hoge kwaliteit te verkrijgen.
Geklokte video-uitvoer
De geklokte video-uitvoer converteert de Avalon-ST-videostream naar het geklokte videoformaat. De geklokte video-uitvoer voegt informatie over horizontale en verticale onderdrukking en synchronisatietiming toe aan de video. De Nios II processor programmeert de relevante instellingen in de geklokte video-uitgang afhankelijk van de outputresolutie en framerate die je vraagt. De geklokte video-uitgang converteert de klok, waarbij de vaste 300 MHz pijplijnklok overgaat naar de variabele snelheid van de geklokte video.
Geklokte video naar DisplayPort
De DisplayPort-zendercomponent accepteert gegevens die zijn geformatteerd als geklokte video. Verschillen in de draadsignalering en declaratie van de conduit-interfaces in Platform Designer voorkomen dat u de geklokte video-uitgang rechtstreeks aansluit op de DisplayPort-zender-IP. De Clocked Video to DisplayPort-component is een ontwerpspecifiek aangepast IP-adres om de eenvoudige conversie te bieden die nodig is tussen de geklokte video-uitvoer en het DisplayPort-zender-IP. Het verwisselt ook de volgorde van de kleurvlakken in elke pixel om rekening te houden met de verschillende kleuropmaakstandaarden die worden gebruikt door Avalon-ST Video en DisplayPort.
DisplayPort-zender IP en DisplayPort-zender PHY
De DisplayPort-zender IP en DisplayPort-zender PHY werken samen om de videostream om te zetten van geklokte video naar een compatibele DisplayPort-stream. De DisplayPort-zender IP verwerkt het DisplayPort-protocol en codeert de geldige DisplayPort-gegevens, terwijl de DisplayPort-zender PHY de transceivers bevat en de snelle seriële uitvoer creëert.
Nios II-processor en randapparatuur
Het Platform Designer-systeem bevat een Nios II-processor, die de DisplayPort-ontvanger en zender-IP's en de runtime-instellingen voor de verwerkingspijplijn beheert. De Nios II-processor wordt aangesloten op deze basisrandapparatuur:
- Een on-chip geheugen om het programma en de gegevens ervan op te slaan.
- AJTAG UART om softwareprintf-uitvoer weer te geven (via een Nios II-terminal).
- Een systeemtimer om vertragingen op millisecondenniveau te genereren op verschillende punten in de software, zoals vereist door de DisplayPort-specificatie van de minimale gebeurtenisduur.
- LED's om de systeemstatus weer te geven.
- Drukknopschakelaars om te schakelen tussen schaalmodi en om de weergave van het Intel-logo in en uit te schakelen.
- DIP-schakelaars maken het mogelijk om het uitvoerformaat te schakelen en het afdrukken van berichten naar een Nios II-terminal in en uit te schakelen.
Hot-pluggable gebeurtenissen op zowel de DisplayPort-bron- als sink-fire-interrupts die ervoor zorgen dat de Nios II-processor de DisplayPort-zender en -pijplijn correct configureert. De hoofdlus in de softwarecode bewaakt ook die waarden op de drukknoppen en DIP-schakelaars en past de pijplijnconfiguratie dienovereenkomstig aan.
I²C-controllers
Het ontwerp bevat twee I²C-controllers (Si5338 en PS8460) om de instellingen van drie van de andere componenten van de Intel Arria 10 10 GX FPGA Development Kit te bewerken. Twee Si5338-klokgeneratoren op de Intel Arria 10 GX FPGA Development Kit worden aangesloten op dezelfde I²C-bus. De eerste genereert de referentieklok voor de DDR4 EMIF. Standaard is deze klok ingesteld op 100 MHz voor gebruik met 1066 MHz DDR4, maar dit ontwerp laat de DDR4 draaien op 1200 MHz, waarvoor een referentieklok van 150 MHz vereist is. Bij het opstarten verandert de Nios II-processor, via het randapparaat van de I²C-controller, de instellingen in de registerkaart van de eerste Si5338 om de snelheid van de DDR4-referentieklok te verhogen naar 150 MHz. De tweede Si5338-klokgenerator genereert de vid_clk voor de geklokte video-interface tussen de pijplijn en de DisplayPort-zender-IP. U moet de snelheid van deze klok aanpassen voor elke verschillende uitvoerresolutie en framesnelheid die door het ontwerp wordt ondersteund. U kunt de snelheid tijdens runtime aanpassen wanneer de Nios II-processor dit nodig heeft. De Bitec DisplayPort 1.4 FMC-dochterkaart maakt gebruik van de Parade PS8460 jitter cleaning repeater en retimer. Bij het opstarten bewerkt de Nios II-processor de standaardinstellingen van dit onderdeel om aan de eisen van het ontwerp te voldoen.
Software beschrijving
Het 8K DisplayPort-videoformaatconversieontwerp Exampbestand bevat IP van de Intel Video and Image Processing Suite en de DisplayPort-interface IP. Al deze IP's kunnen gegevensframes verwerken zonder verdere tussenkomst als ze correct zijn ingesteld. U moet externe controle op hoog niveau implementeren om de IP's in te stellen om te beginnen en wanneer het systeem verandert, bijvoorbeeld hot-pluggebeurtenissen van de DisplayPort-ontvanger of zender of drukknopactiviteit van de gebruiker. In dit ontwerp zorgt een Nios II-processor, waarop op maat gemaakte besturingssoftware draait, voor de besturing op hoog niveau. Bij het opstarten van de software:
- Stelt de DDR4-referentieklok in op 150 MHz om een DDR-snelheid van 1200 MHz mogelijk te maken, en reset vervolgens de IP van de externe geheugeninterface om opnieuw te kalibreren op de nieuwe referentieklok.
- Stelt de PS8460 DisplayPort-repeater en retimer in.
- Initialiseert de DisplayPort-ontvanger en zenderinterfaces.
- Initialiseert de verwerkingspijplijn-IP's.
Wanneer de initialisatie voltooid is, gaat de software in een continue while-lus, waarbij een aantal gebeurtenissen wordt gecontroleerd en hierop wordt gereageerd.
Wijzigingen in de schaalmodus
Het ontwerp ondersteunt drie basisschaalmodi; passthrough, upscale en downscale. In de passthrough-modus schaalt het ontwerp de invoervideo niet, in de opschalingsmodus schaalt het ontwerp de invoervideo op, en in de downscale-modus schaalt het ontwerp de invoervideo terug.
De vier blokken in de verwerkingspijplijn; de Clipper, de downscaler, de upscaler en de Mixer bepalen in elke modus de presentatie van de uiteindelijke output. De software regelt de instellingen van elk blok, afhankelijk van de huidige invoerresolutie, uitvoerresolutie en de schaalmodus die u selecteert. In de meeste gevallen geeft de Clipper de invoer ongewijzigd door en is de achtergrondgrootte van de Mixer hetzelfde formaat als de uiteindelijke, geschaalde versie van de invoervideo. Als de resolutie van de invoervideo echter groter is dan de uitvoergrootte, is het niet mogelijk om een opschaling toe te passen op de invoervideo zonder deze eerst te knippen. Als de invoerresolutie lager is dan de uitvoer, kan de software geen downscale toepassen zonder een Mixer-achtergrondlaag toe te passen die groter is dan de invoervideolaag, waardoor zwarte balken rond de uitvoervideo worden toegevoegd.
Tabel 4. Pijplijnen voor verwerkingsblokken
Deze tabel geeft een overzicht van de actie van de vier verwerkingspijplijnblokken in elk van de negen combinaties van schaalmodus, invoerresolutie en uitvoerresolutie.
Modus | in > uit | in = uit | in < uit |
Doorgang | Knippen naar uitvoerformaat. Geen schaalverkleining | Geen clip
Geen downscale |
Geen clip
Geen downscale |
voortgezet… |
Modus | in > uit | in = uit | in < uit |
Geen luxe
Geen zwarte rand |
Geen luxe
Geen zwarte rand |
Geen luxe
Zwarte randblokken naar uitvoerformaat |
|
Luxe | Clip naar 2/3 uitvoerformaat Geen downscale
Opschalen naar uitvoerformaat Geen zwarte rand |
Clip naar 2/3 uitvoerformaat Geen downscale
Opschalen naar uitvoerformaat Geen zwarte rand |
Geen clip
Geen downscale Opschalen naar uitvoerformaat Geen zwarte rand |
Afschalen | Geen clip
Downscalen naar uitvoerformaat Geen upscaling Geen zwarte rand |
Geen clip
Downscalen naar uitvoerformaat Geen upscaling Geen zwarte rand |
Geen clip
Downscalen naar 2/3 invoergrootte Geen upscaling Zwarte randblokken naar uitvoerformaat |
Wissel tussen modi door op gebruikersknop 1 te drukken. De software bewaakt de waarden op de drukknoppen bij elke doorgang door de lus (het voert een software-debounce uit) en configureert de IP's in de verwerkingspijplijn op de juiste manier.
Wijzigingen bij de DisplayPort-ingang
Bij elke doorloop van de lus controleert de software de status van de geklokte video-ingang, op zoek naar veranderingen in de stabiliteit van de ingevoerde videostream. De software beschouwt de video als stabiel als:
- De geklokte video-ingang meldt dat de geklokte video succesvol is vergrendeld.
- De invoerresolutie en kleurruimte zijn niet veranderd sinds de vorige keer dat de lus werd doorlopen.
Als de invoer stabiel was, maar de vergrendeling heeft verloren of de eigenschappen van de videostream zijn veranderd, stopt de software met het verzenden van video door de pijplijn met de geklokte video-invoer. Het zorgt er ook voor dat de Mixer stopt met het weergeven van de invoervideolaag. De uitvoer blijft actief (met een zwart scherm en het Intel-logo) tijdens eventuele hotplug-gebeurtenissen van de ontvanger of resolutiewijzigingen.
Als de invoer niet stabiel was maar nu stabiel is, configureert de software de pijplijn om de nieuwe invoerresolutie en kleurruimte weer te geven, start de uitvoer van de CVI opnieuw en stelt de mixer in om de invoervideolaag opnieuw weer te geven. Het opnieuw inschakelen van de mixerlaag gebeurt niet onmiddellijk, omdat de Frame Buffer mogelijk nog steeds oude frames uit een eerdere invoer herhaalt en het ontwerp deze frames moet wissen. Vervolgens kunt u het display opnieuw inschakelen om glitching te voorkomen. De framebuffer houdt een telling bij van het aantal gelezen frames van de DDR4, dat de Nios II-processor kan lezen. De software-samptelt dit aantal op wanneer de invoer stabiel wordt en schakelt de Mixer-laag opnieuw in wanneer het aantal met vier frames is toegenomen, wat ervoor zorgt dat het ontwerp alle oude frames uit de buffer verwijdert.
DisplayPort-zender Hot-pluggable gebeurtenissen
Hot-pluggable gebeurtenissen bij de DisplayPort-zender veroorzaken een interrupt binnen de software die een vlag instelt om de hoofdsoftwarelus te waarschuwen voor een wijziging in de uitvoer. Wanneer het ontwerp een hot-pluggable zender detecteert, leest de software de EDID voor het nieuwe display om te bepalen welke resoluties en kleurruimten het ondersteunt. Als je de DIP-switches instelt op een modus die het nieuwe display niet kan ondersteunen, valt de software terug naar een minder veeleisende weergavemodus. Vervolgens configureert het de pijplijn, het DisplayPort-zender-IP en het Si5338-gedeelte dat de zender vid_clk genereert voor de nieuwe uitvoermodus. Wanneer de invoer wijzigingen ziet, wordt de Mixer-laag voor de invoervideo niet weergegeven omdat de software de instellingen voor de pijplijn bewerkt. De software wordt niet opnieuw ingeschakeld
de weergave tot na vier frames wanneer de nieuwe instellingen door het frame gaan
buffer.
Wijzigingen in de gebruikers-DIP-schakelaarinstellingen
De posities van gebruikers-DIP-schakelaars 2 tot en met 6 regelen het uitvoerformaat (resolutie, framesnelheid, kleurruimte en bits per kleur) dat via de DisplayPort-zender wordt aangestuurd. Wanneer de software wijzigingen op deze DIP-schakelaars detecteert, doorloopt deze een reeks die vrijwel identiek is aan die van een hot-pluggable zender. U hoeft de EDID van de zender niet op te vragen, aangezien deze niet verandert.
Revisiegeschiedenis voor AN 889: 8K DisplayPort-videoformaatconversieontwerp Example
Tabel 5. Revisiegeschiedenis voor AN 889: Ontwerp voor conversie van 8K DisplayPort-videoformaat Bijvample
Documentversie | Wijzigingen |
2019.05.30 | Eerste release. |
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment en zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en services. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk door Intel is overeengekomen. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze bestellingen voor producten of diensten plaatsen.
*Andere namen en merken kunnen eigendom van anderen zijn.
Documenten / Bronnen
![]() |
intel AN 889 8K DisplayPort Videoformaat Conversie Ontwerp Example [pdf] Gebruikershandleiding AN 889 8K DisplayPort-videoformaatconversieontwerp Bijvample, AN 889, 8K DisplayPort-videoformaatconversieontwerp Bijvample, Formaatconversieontwerp Example, Conversieontwerp Example |