intel-LOGO

intel AN 889 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample

intel-AN-889-8K-DisplayPort-Video-Format-Conversion-Design-Example-PRO

Oor die 8K DisplayPort Video Format Conversion Design Example

Die 8K DisplayPort Video Format Conversion Design Example integreer die Intel DisplayPort 1.4-videokonneksie-IP met 'n videoverwerkingspyplyn. Die ontwerp lewer skaal van hoë gehalte, kleurruimteomskakeling en raamtempo-omskakeling vir videostrome tot 8K teen 30 rame per sekonde, of 4K teen 60 rame per sekonde.
Die ontwerp is hoogs sagteware en hardeware konfigureerbaar, wat vinnige stelselkonfigurasie en herontwerp moontlik maak. Die ontwerp is gerig op Intel® Arria® 10-toestelle en gebruik die nuutste 8K-gereed Intel FPGA IP van die video- en beeldverwerkingsuite in Intel Quartus® Prime v19.2.

Oor DisplayPort Intel FPGA IP
Om Intel Arria 10 FPGA-ontwerpe met DisplayPort-koppelvlakke te skep, instansieer die DisplayPort Intel FPGA IP. Hierdie DisplayPort IP implementeer egter net die protokol enkodeer of dekodeer vir DisplayPort. Dit sluit nie die transceivers, PLL's of transceiver-herkonfigurasie-funksionaliteit in wat nodig is om die hoëspoed-reekskomponent van die koppelvlak te implementeer nie. Intel bied aparte transceiver-, PLL- en herkonfigurasie-IP-komponente. Die keuse, parameterisering en koppeling van hierdie komponente om 'n DisplayPort-ontvanger of -senderkoppelvlak te skep wat ten volle voldoen, vereis spesialiskennis.
Intel verskaf hierdie ontwerp vir diegene wat nie transceiver kundiges is nie. Die parameterredigeerder GUI vir die DisplayPort IP laat jou toe om die ontwerp te bou.
Jy skep 'n instansie van die DisplayPort IP (wat slegs ontvanger, slegs sender of gekombineerde ontvanger en sender kan wees) in óf Platform Designer óf die IP Katalogus. Wanneer jy die DisplayPort IP-instansie parameteriseer, kan jy kies om 'n ex te genereerample ontwerp vir daardie spesifieke konfigurasie. Die gekombineerde ontwerp van die ontvanger en sender is 'n eenvoudige deurvoer, waar die uitset van die ontvanger direk na die sender invloei. 'n Vaste deurlaatontwerp skep 'n ten volle funksionele ontvanger PHY, sender PHY en herkonfigurasieblokke wat al die transceiver en PLL logika implementeer. Jy kan óf die relevante afdelings van die ontwerp direk kopieer, óf die ontwerp as 'n verwysing gebruik. Die ontwerp genereer 'n DisplayPort Intel Arria 10 FPGA IP Design Example en voeg dan baie van die files direk gegenereer in die samestellinglys wat deur die Intel Quartus Prime-projek gebruik word. Dit sluit in:

  • Files om geparameteriseerde IP-instansies vir transceivers, PLL's en herkonfigurasieblokke te skep.
  • Verilog HDL files om hierdie IP's te koppel aan die hoërvlak ontvanger PHY, sender PHY en Transceiver Reconfiguration Arbiter blokke
  • Synopsys-ontwerpbeperking (SDC) files om die relevante tydsbeperkings te stel.

Kenmerke van die 8K DisplayPort Video Format Conversion Design Example

  • Invoer:
    • DisplayPort 1.4-konnektiwiteit ondersteun resolusies van 720×480 tot 3840×2160 teen enige raamtempo tot 60 fps, en resolusies tot 7680×4320 by 30 fps.
    • Warmprop-ondersteuning.
    • Ondersteuning vir beide RGB en YCbCr (4:4:4, 4:2:2 en 4:2:0) kleurformate by die
      insette.
    • Sagteware bespeur outomaties die invoerformaat en stel die verwerkingspyplyn gepas op.
  • Uitset:
    • DisplayPort 1.4-verbinding kiesbaar (via DIP-skakelaars) vir óf 1080p, 1080i of 2160p resolusie by 60 fps, of 2160p by 30 fps.
    • Warmprop-ondersteuning.
    • DIP-skakelaars om die vereiste uitvoerkleurformaat op RGB, YCbCr 4:4:4, YCbCr 4:2:2 of YCbCr 4:2:0 te stel.
  • Enkele 10-bis 8K RGB-verwerkingspyplyn met sagteware-konfigureerbare skaal en raamtempo-omskakeling:
    • 12-tik Lanczos afskaaler.
    • 16-fase, 4-kraan Lanczos opskaaler.
    • Drievoudige bufferende videoraambuffer bied raamkoersomskakeling.
    • Menger met alfa-vermenging laat OSD-ikoon-oorleg toe.

Aan die gang met die 8K DisplayPort Video Format Conversion Design Example

Hardeware en sagteware vereistes

Die 8K DisplayPort Video Format Conversion Design Example vereis spesifieke hardeware en sagteware.

Hardeware:

  • Intel Arria 10 GX FPGA-ontwikkelingskit, insluitend die DDR4 Hilo-dogterkaart
  • Bitec DisplayPort 1.4 FMC dogterkaart (hersiening 11)
  • DisplayPort 1.4-bron wat tot 3840x2160p60 of 7680x4320p30 video produseer
  • DisplayPort 1.4-wasbak wat tot 3840x2160p60-video vertoon
  • VESA-gesertifiseerde DisplayPort 1.4-kabels.

Sagteware:

  • Windows of Linux OS
  • Die Intel Quartus Prime Design Suite v19.2, wat insluit:
    • Intel Quartus Prime Pro Edition
    • Platform Ontwerper
    • Nios® II EDS
    • Intel FPGA IP-biblioteek (insluitend die video- en beeldverwerkingsuite)

Die ontwerp werk net met hierdie weergawe van Intel Quartus Prime.

Laai af en installeer die Intel 8K DisplayPort Video Format Conversion Design Example

Die ontwerp is beskikbaar in die Intel Design Store.

  1. Laai die argiefprojek af file udx10_dp.par.
  2. Onttrek die Intel Quartus Prime-projek uit die argief:
    • a. Maak Intel Quartus Prime Pro Edition oop.
    • b. Klik File ➤ Maak projek oop.
      Die Open Project-venster word oopgemaak.
    • c. Navigeer na en kies die udx10_dp.par file.
    • d. Klik Open.
    • e. In die Open Design Template-venster, stel die Destination-lêergids op die verlangde plek vir die onttrekte projek. Die inskrywings vir die ontwerpsjabloon file en projeknaam moet korrek wees en jy hoef dit nie te verander nie.
    • f. Klik OK.

Ontwerp Files vir die Intel 8K DisplayPort Video Format Conversion Design Example

Tabel 1. Ontwerp Files

File of gidsnaam Beskrywing
ip Bevat die IP-instansie files vir al die Intel FPGA IP-gevalle in die ontwerp:

• 'n DisplayPort IP (sender en ontvanger)

• 'n PLL wat horlosies op die boonste vlak van die ontwerp genereer

• Al die IP waaruit die Platform Designer-stelsel vir die verwerkingspyplyn bestaan.

meester_beeld Bevat pre_compiled.sof, wat 'n vooraf saamgestelde bordprogrammering is file vir die ontwerp.
nie_acds_ip Bevat bronkode vir bykomende IP in hierdie ontwerp wat Intel Quartus Prime nie insluit nie.
sdc Bevat 'n SDC file wat die bykomende tydsbeperkings beskryf wat hierdie ontwerp vereis. Die SDC files wat outomaties by die IP-gevalle ingesluit word, hanteer nie hierdie beperkings nie.
sagteware Bevat bronkode, biblioteke en bouskrifte vir die sagteware wat op die ingeboude Nios II-verwerker loop om die hoëvlakfunksionaliteit van die ontwerp te beheer.
udx10_dp 'n Gids waarin Intel Quartus Prime uitset genereer files vir die Platform Designer-stelsel. Die udx10_dp.sopcinfo-uitvoer file laat jou toe om die geheue-inisialisering te genereer file vir die Nios II-verwerkersagtewaregeheue. Jy hoef nie eers die volledige Platform Designer-stelsel te genereer nie.
nie_acds_ip.ipx Hierdie IPX file verklaar al die IP in die non_acds_ip-lêergids aan Platform Designer sodat dit in die IP-biblioteek verskyn.
README.txt Kort instruksies om die ontwerp te bou en uit te voer.
top.qpf Die Intel Quartus Prime-projek file vir die ontwerp.
top.qsf Die Intel Quartus Prime-projekinstellings file vir die ontwerp. Hierdie file lys al die files wat nodig is om die ontwerp te bou, saam met die pen-opdragte en 'n aantal ander projekinstellings.
top.v Die topvlak Verilog HDL file vir die ontwerp.
udx10_dp.qsys Die Platform Designer-stelsel wat die videoverwerkingspyplyn, die Nios II-verwerker en sy randapparatuur bevat.

Samestelling van die 8K DisplayPort Video Format Conversion Design Example
Intel bied 'n vooraf saamgestelde bordprogrammering file vir die ontwerp in die master_image-gids (pre_compiled.sof) sodat jy die ontwerp kan laat loop sonder om 'n volledige samestelling uit te voer.
STAPPE:

  1. In die Intel Quartus Prime-sagteware, maak die top.qpf-projek oop file. Die afgelaaide argief skep dit file wanneer jy die projek uitpak.
  2. Klik File ➤ Maak oop en kies ip/dp_rx_tx/dp_rx_tx.ip. Die parameterredigeerder-GUI vir die DisplayPort IP maak oop en wys die parameters vir die DisplayPort-instansie in die ontwerp.
  3. Klik Genereer Example Ontwerp (nie genereer nie).
  4. Wanneer die generasie voltooi is, maak die parameterredigeerder toe.
  5. In File Verkenner, navigeer na die sagtewaregids en pak die vip_control_src.zip-argief uit om die vip_control_src-gids te genereer.
  6. In 'n BASH-terminaal, navigeer na sagteware/skrip en voer die dopskrip build_sw.sh uit.
    Die skrif bou die Nios II-sagteware vir die ontwerp. Dit skep beide 'n .elf file wat jy tydens hardlooptyd na die bord kan aflaai, en 'n .hex file saam te stel in die bord programmering .sof file.
  7. In die Intel Quartus Prime-sagteware, klik Verwerking ➤ Begin samestelling.
    • Intel Quartus Prime genereer die udx10_dp.qsys Platform Designer-stelsel.
    • Intel Quartus Prime stel die projek na top.qpf.

Die samestelling skep top.sof in die uitvoer_filese gids wanneer dit voltooi is.

Viewdie platformontwerperstelsel in te stel en te herstel

  1. Klik op Tools ➤ Platform Designer.
  2. Kies stelsel naam.qsys vir die Platform Designer stelsel opsie.
  3. Klik Open.
    Platform Designer maak die stelsel oop.
  4. Review die stelsel.
  5. Regenereer die stelsel:
    • a. Klik Genereer HDL….
    • b. Skakel in die Generasie-venster Vee uitsetgidse aan vir geselekteerde generasieteikens.
    • c. Klik Genereer

Samestelling van die 8K DisplayPort Video Format Conversion Design Example met die Nios II Software Build Tools vir Eclipse
Jy stel 'n interaktiewe Nios II Eclipse-werkspasie op vir die ontwerp om 'n werkspasie te produseer wat dieselfde vouers gebruik wat die bouskrip gebruik. As jy voorheen die bouskrif gebruik het, moet jy die sagteware/vip_control en sagteware/vip_control_bsp-vouers uitvee voordat jy die Eclipse-werkspasie skep. As jy die bou-skrip op enige stadium weer laat loop, sal dit die Eclipse-werkspasie oorskryf.
STAPPE:

  1. Navigeer na die sagteware-gids en pak die vip_control_src.zip-argief uit om die vip_control_src-gids te genereer.
  2. Skep 'n nuwe gids in die geïnstalleerde projekgids en noem dit werkspasie.
  3. In die Intel Quartus Prime-sagteware, klik Tools ➤ Nios II Software Build Tools for Eclipse.
    • a. In die Workspace Launcher-venster, kies die werkspasie-lêergids wat jy geskep het.
    • b. Klik OK.
  4. Klik in die Nios II – Eclipse-venster File ➤ Nuut ➤ Nios II-toepassing en BSP vanaf sjabloon.
    Die Nios II-toepassing en BSP van sjabloon-dialoogkassie verskyn.
    • a. In die SOPC-inligting File boks, kies die udx10_dp/udx10_dp.sopcinfo file. Die Nios II SBT vir Eclipse vul die SVE-naam in met die verwerkernaam van die .sopcinfo file.
    • b. Tik vip_control in die Projeknaam-boks.
    • c. Kies Leë projek uit die Sjabloon-lys.
    • d. Klik op Volgende.
    • e. Kies Skep 'n nuwe BSP-projek gebaseer op die toepassingsprojeksjabloon met die projeknaam vip_control_bsp.
    • f. Skakel Gebruik verstekligging aan.
    • g. Klik Voltooi om die toepassing en die BSP gebaseer op die .sopcinfo te skep file.
      Nadat die BSP gegenereer het, verskyn die vip_control en vip_control_bsp projekte in die Project Explorer-oortjie.
  5. Kopieer in Windows Explorer die inhoud van die sagteware/vip_control_src-gids na die nuutgeskepte sagteware/vip_control-gids.
  6. In die Project Explorer-oortjie van die Nios II – Eclipse-venster, regskliek op die vip_control_bsp-lêergids en kies Nios II > BSP Editor.
    • a. Kies Geen uit die aftreklys vir sys_clk_timer.
    • b. Kies cpu_timer uit die aftreklys vir tyeamp_timer.
    • c. Skakel enable_small_c_library aan.
    • d. Klik op Genereer.
    • e. Wanneer generasie voltooi is, klik Exit.
  7. In die Project Explorer-oortjie, regskliek op die vip_control-gids en klik op Eienskappe.
    1. a. Brei Nios II-toepassingseienskappe in die Eienskappe vir vip_control-venster uit en klik Nios II-toepassingspaaie.
    2. b. Klik Voeg by... langs Biblioteekprojekte.
    3. c. In die Biblioteekprojekte-venster, navigeer na die udx10.dp\spftware \vip_control_src-gids en kies die bkc_dprx.syslib-gids.
    4. d. Klik OK. 'n Boodskap verskyn Skakel na 'n relatiewe pad om. Klik op Ja.
    5. e. Herhaal stappe 7.b op bladsy 8 en 7.c op bladsy 8 vir die bkc_dptx.syslib- en bkc_dptxll_syslib-gidse
    6. f. Klik OK.
  8. Kies Projek ➤ Bou alles om die file vip_control.elf in die sagteware/vip_control gids.
  9. Bou die mem_init file vir die Intel Quartus Prime-samestelling:
    1. a. Regskliek vip_control in die Project Explorer-venster.
    2. b. Kies Maak teikens ➤ Bou….
    3. c. Kies mem_init_generate.
      d. Klik Bou.
      Die Intel Quartus Prime-sagteware genereer die
      udx10_dp_onchip_memory2_0_onchip_memory2_0.hex file in die sagteware/vip_control/mem_init gids.
  10. Met die ontwerp wat op 'n gekoppelde bord loop, voer die vip_control.elf-programmering uit file geskep deur die Eclipse-bou.
    • a. Regskliek vip_control-lêergids in die Project Explorer-oortjie van die Nios II -Eclipse-venster.
    • b. Kies Run As ➤ Nios II Hardeware. As jy 'n Nios II-terminaalvenster oop het, maak dit toe voordat jy die nuwe sagteware aflaai.

Stel die Intel Arria 10 GX FPGA Development Kit op
Beskryf hoe om die kit op te stel om die 8K DisplayPort Video Format Conversion Design Example.

Figuur 1. Intel Arria 10 GX-ontwikkelingskit met HiLo-dogterkaart
Die figuur wys die bord met die blou koelplaat verwyder om die posisionering van die DDR4 Hilo-kaart te wys. Intel beveel aan dat jy nie die ontwerp laat loop sonder dat die heatsink in posisie is nie.

intel-AN-889-8K-DisplayPort-Video-Format-Conversion-Design-Example-1
STAPPE:

  1. Pas die Bitec DisplayPort 1.4 FMC-kaart by die ontwikkelingsbord deur FMC-poort A te gebruik.
  2. Maak seker dat die kragskakelaar (SW1) afgeskakel is, en koppel dan die kragaansluiting aan.
  3. Koppel 'n USB-kabel aan jou rekenaar en aan die MicroUSB Connector (J3) op die ontwikkelingsbord.
  4. Heg 'n DisplayPort 1.4-kabel tussen die DisplayPort-bron en die Ontvangerpoort van die Bitec DisplayPort 1.4 FMC-kaart aan en maak seker dat die bron aktief is.
  5. Heg 'n DisplayPort 1.4-kabel tussen die DisplayPort-skerm en die senderpoort van die Bitec DisplayPort 1.4 FMC-kaart aan en maak seker dat die skerm aktief is.
  6. Skakel die bord aan met SW1.

Bordstatus-LED's, drukknoppies en DIP-skakelaars
Die Intel Arria 10 GX FPGA Development Kit het agt status-LED's (met beide groen en rooi uitstralers), drie gebruikerdrukknoppies en agt gebruiker DIP-skakelaars. Die 8K DisplayPort Video Format Conversion Design Example verlig die LED's om die toestand van die DisplayPort-ontvangerskakel aan te dui. Die drukknoppies en DIP-skakelaars laat jou toe om ontwerpinstellings te verander.

Status-LED's

Tabel 2. Status LED's

LED Beskrywing
Rooi LED's
0 DDR4 EMIF-kalibrasie aan die gang.
1 DDR4 EMIF-kalibrasie het misluk.
7:2 Ongebruik.
Groen LED's
0 Verlig wanneer DisplayPort-ontvangerskakelopleiding suksesvol voltooi is, en die ontwerp stabiele video ontvang.
5:1 DisplayPort-ontvangerbaantelling: 00001 = 1 baan

00010 = 2 bane

00100 = 4 bane

7:6 DisplayPort-ontvangerbaanspoed: 00 = 1.62 Gbps

01 = 2.7 Gbps

10 = 5.4 Gbps

11 = 8.1 Gbps

Die tabel lys die status wat elke LED aandui. Elke LED-posisie het beide rooi en groen aanwysers wat onafhanklik kan verlig. Enige LED wat oranje gloei beteken dat beide die rooi en groen aanwysers aan is.

Gebruiker drukknoppies
Gebruikersdrukknoppie 0 beheer die vertoning van die Intel-logo in die regter boonste hoek van die uitsetskerm. By opstart maak die ontwerp die vertoon van die logo moontlik. Deur drukknoppie 0 te druk, verander die aktivering vir die logo-vertoning. Gebruikersdrukknoppie 1 beheer die skaalmodus van die ontwerp. Wanneer 'n bron of wasbak warmprop is, is die ontwerp verstek na óf:

  • Deurlaatmodus, as die invoerresolusie minder as of gelyk is aan die uitsetresolusie
  • Afskaalmodus, as die invoerresolusie groter is as die uitsetresolusie

Elke keer as jy gebruikerdrukknoppie 1 druk, ruil die ontwerp na die volgende skaalmodus (deurgaan > opskaal, opskaal > afskaal, afskaal > deurlaat). Gebruikersdrukknoppie 2 is ongebruik.

Gebruiker DIP-skakelaars
Die DIP-skakelaars beheer die opsionele Nios II-terminaaldrukwerk en die instellings vir die uitsetvideoformaat wat deur die DisplayPort-sender aangedryf word.

Tabel 3. DIP-skakelaars
Die tabel lys die funksie van elke DIP-skakelaar. Die DIP-skakelaars, genommer 1 tot 8 (nie 0 tot 7), pas by die nommers wat op die skakelaarkomponent gedruk is. Om elke skakelaar op AAN te stel, beweeg die wit skakelaar na die LCD en weg van die LED's op die bord.

Skakel oor Funksie
1 Aktiveer Nios II-terminaaldrukwerk wanneer dit op AAN gestel is.
2 Stel uitset bisse per kleur:

AF = 8 bis

AAN = 10 bis

4:3 Stel uitsetkleurruimte en sampling: SW4 AF, SW3 AF = RGB 4:4:4 SW4 AF, SW3 AAN = YCbCr 4:4:4 SW4 AAN, SW3 AF = YCbCr 4:2:2 SW4 AAN, SW3 AAN = YCbCr 4:2:0
6:5 Stel uitsetresolusie en raamtempo: SW4 OFF, SW3 OFF = 4K60

SW4 AF, SW3 AAN = 4K30 SW4 AAN, SW3 AF = 1080p60 SW4 AAN, SW3 AAN = 1080i60

8:7 Ongebruik

Die uitvoering van die 8K DisplayPort Video Format Conversion Design Example
Jy moet die saamgestelde .sof aflaai file vir die ontwerp na die Intel Arria 10 GX FPGA Development Kit om die ontwerp uit te voer.
STAPPE:

  1. In die Intel Quartus Prime-sagteware, klik Tools ➤ Programmer.
  2. Klik in die programmeerdervenster Auto Detect om die JTAG ketting en ontdek die gekoppelde toestelle.
    As 'n opspringvenster verskyn wat jou vra om die programmeerder se toestellys op te dateer, klik Ja.
  3. In die toestellys, kies die ry gemerk 10AX115S2F45.
  4. Klik Verander File…
    • Om die vooraf saamgestelde weergawe van die programmering te gebruik file wat Intel insluit as deel van die ontwerpaflaai, kies master_image/pre_compiled.sof.
    • Om jou programmering te gebruik file geskep deur die plaaslike samestelling, kies output_files/top.sof.
  5. Skakel Program/Configure aan in die 10AX115S2F45-ry van die toestellys.
  6. Klik Start.
    Wanneer die programmeerder voltooi is, loop die ontwerp outomaties.
  7. Maak 'n Nios II-terminaal oop om die uitset-teksboodskappe van die ontwerp te ontvang, anders sluit die ontwerp na 'n aantal skakelaarveranderings (slegs as jy gebruiker DIP-skakelaar 1 op AAN stel).
    • a. Maak 'n terminale venster oop en tik nios2-terminal
    • b. Druk Enter.

gekoppel aan die ingang. Met geen bron nie, is die uitset 'n swart skerm met die Intel-logo in die regter boonste hoek van die skerm.

Funksionele beskrywing van die 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample

Die Platform Designer-stelsel, udx10_dp.qsys, bevat die DisplayPort-ontvanger- en senderprotokol IP, die videopyplyn-IP en die Nios II-verwerkerkomponente. Die ontwerp verbind die Platform Designer-stelsel aan die DisplayPort-ontvanger en -sender PHY-logika (wat die koppelvlak-ontvangers bevat) en die herkonfigurasielogika van die sender-ontvanger op die boonste vlak in 'n Verilog HDL RTL-ontwerp file (bo.v). Die ontwerp bestaan ​​uit 'n enkele videoverwerkingspad tussen die DisplayPort-invoer en die DisplayPort-uitset.

Figuur 2. Blokdiagram
Die diagram toon die blokke in die 8K DisplayPort Video Format Conversion Design Example. Die diagram toon nie sommige van die generiese randapparatuur wat aan die Nios II, die Avalon-MM tussen die Nios II-verwerker en die ander komponente van die stelsel gekoppel is nie. Die ontwerp aanvaar video vanaf 'n DisplayPort-bron aan die linkerkant, verwerk die video deur die videopyplyn van links na regs voordat die video na die DisplayPort-wasbak aan die regterkant deurgegee word.intel-AN-889-8K-DisplayPort-Video-Format-Conversion-Design-Example-2

DisplayPort-ontvanger PHY en DisplayPort-ontvanger IP
Die Bitec DisplayPort FMC-kaart bied 'n buffer vir die DisplayPort 1.4-sein vanaf die DisplayPort-bron. Die kombinasie van DisplayPort Ontvanger PHY en DisplayPort Ontvanger IP dekodeer die inkomende sein om 'n videostroom te skep. Die DisplayPort-ontvanger PHY bevat die transceivers om die inkomende data te deserialiseer en die DisplayPort-ontvanger IP dekodeer die DisplayPort-protokol. Die gekombineerde DisplayPort-ontvanger-IP verwerk die inkomende DisplayPort-sein sonder enige sagteware. Die gevolglike videosein van die DisplayPort-ontvanger-IP is 'n inheemse, verpakte stroomformaat. Die ontwerp stel die DisplayPort-ontvanger op vir 10-bis-uitvoer.

DisplayPort na Geklokte Video IP
Die verpakte stroomdataformaat wat deur die DisplayPort-ontvanger afgevoer word, is nie direk versoenbaar met die geklokte videodataformaat wat die geklokte video-invoer IP verwag nie. Die DisplayPort to Clocked Video IP is 'n pasgemaakte IP vir hierdie ontwerp. Dit skakel die DisplayPort-uitset om in 'n versoenbare geklokte videoformaat wat jy direk aan die geklokte video-invoer kan koppel. Die DisplayPort na Clocked Video IP kan die draadseinstandaard verander en kan die volgorde van die kleurvlakke binne elke pixel verander. Die DisplayPort-standaard spesifiseer kleurbestelling wat anders is as die IP-bestelling van die IP-videopyplyn van Intel. Die Nios II-verwerker beheer die kleurruil. Dit lees die huidige kleurspasie vir oordrag vanaf die DisplayPort-ontvanger-IP met sy Avalon-MM-slawe-koppelvlak. Dit rig die DisplayPort na Clocked Video IP om die toepaslike regstelling toe te pas met sy Avalon-MM-slawe-koppelvlak.

Geklokte video-invoer
Die geklokte video-invoer verwerk die geklokte video-koppelvlaksein vanaf die DisplayPort na Clocked Video IP en skakel dit om na Avalon-ST Video seinformaat. Hierdie seinformaat stroop alle horisontale en vertikale leegmaakinligting van die video af en laat slegs aktiewe beelddata. Die IP pak dit as een pakkie per videoraam. Dit voeg ook bykomende metadata-pakkies (na verwys as beheerpakkette) by wat die resolusie van elke videoraam beskryf. Die Avalon-ST-videostroom deur die verwerkingspyp is vier pixels in parallel, met drie simbole per pixel. Die geklokte video-invoer verskaf klokkruising vir die omskakeling van die veranderlike tempo geklokte videosein vanaf die DisplayPort-ontvanger-IP na die vaste kloktempo (300 MHz) vir die video-IP-pyplyn.

Stroomskoonmaker
Die stroomskoonmaker verseker dat die Avalon-ST Video-sein wat na die verwerkingspyplyn oorgedra word, foutloos is. Warmprop van die DisplayPort-bron kan veroorsaak dat die ontwerp onvolledige rame van data aan die geklokte video-invoer-IP aanbied en foute in die gevolglike Avalon-ST-videostroom genereer. Die grootte van die pakkies wat die videodata vir elke raam bevat stem dan nie ooreen met die grootte wat deur die geassosieerde beheerpakkies gerapporteer word nie. Die stroomskoonmaker bespeur hierdie toestande en voeg bykomende data (grys pixels) by die einde van die aanstootlike videopakkies om die raam te voltooi en by die spesifikasie in die beheerpakkie te pas.

Chroma Resampler (invoer)
Die videodata wat die ontwerp by die invoer van DisplayPort ontvang, kan 4:4:4, 4:2:2 of 4:2:0 chroma s weesampled. Die invoerchroma resampler neem die inkomende video in enige formaat en skakel dit in alle gevalle om na 4:4:4. Om 'n hoër visuele kwaliteit te verskaf, word die chroma resampler gebruik die duurste gefiltreerde algoritme. Die Nios II-verwerker lees die huidige chroma sampling-formaat vanaf die DisplayPort-ontvanger-IP via sy Avalon-MM-slawe-koppelvlak. Dit kommunikeer die formaat aan die chroma resampler via sy Avalon-MM slawe-koppelvlak.

Kleurruimte-omskakelaar (invoer)
Die invoervideodata vanaf DisplayPort kan óf die RGB- of YCbCr-kleurruimte gebruik. Die invoerkleurruimte-omskakelaar neem die inkomende video in watter formaat dit ook al aankom en skakel dit in alle gevalle om na RGB. Die Nios II-verwerker lees die huidige kleurspasie vanaf die DisplayPort-ontvanger-IP met sy Avalon-MM-slawe-koppelvlak; dit laai die korrekte omskakelingskoëffisiënte na die chroma resampler deur sy Avalon-MM slawe-koppelvlak.

Knipper
Die knipper kies 'n aktiewe area uit die inkomende videostroom en gooi die res weg. Die sagtewarebeheer wat op die Nios II-verwerker loop, definieer die streek om te kies. Die streek hang af van die resolusie van die data wat by die DisplayPort-bron ontvang word en die uitsetresolusie en skaalmodus. Die verwerker kommunikeer die streek aan die Clipper deur sy Avalon-MM-slawe-koppelvlak.

Scaler
Die ontwerp pas skaal toe op die inkomende videodata volgens die insetresolusie wat ontvang is, en die uitsetresolusie wat u benodig. Jy kan ook kies tussen drie skaalmodusse (opskaal, afskaal en deurlaat). Twee Scalar IP's verskaf die skaalfunksie: een implementeer enige vereiste afskaling; die ander implemente opskaling. Die ontwerp vereis twee scalers.

  • Wanneer die skaaler 'n afskaal implementeer, produseer dit nie geldige data op elke kloksiklus by sy uitset nie. Byvoorbeeldample, as 'n 2x afskaalverhouding geïmplementeer word, is die geldige sein by die uitset hoog elke ander kloksiklus terwyl die ontwerp elke ewe genommerde insetlyn ontvang, en dan laag vir die geheel van die onewe genommerde insetlyne. Hierdie barsgedrag is fundamenteel tot die proses om die datatempo by die uitset te verminder, maar is onversoenbaar met die stroomaf Menger IP, wat gewoonlik 'n meer konsekwente datatempo verwag om ondervloei by die uitset te vermy. Die ontwerp vereis die raambuffer tussen enige afskaal en menger. Die raambuffer laat die menger toe om die data te lees teen die tempo wat dit vereis.
  • Wanneer die skaaler 'n opskaling implementeer, produseer dit geldige data op elke kloksiklus, so die volgende menger het geen probleme nie. Dit sal egter moontlik nie nuwe invoerdata op elke kloksiklus aanvaar nie. Neem 'n 2x upscale as 'n example, op die ewe genommerde uitsetlyne aanvaar dit 'n nuwe maatslag data elke ander kloksiklus, aanvaar dan geen nuwe insetdata op die onewe genommerde uitsetlyne nie. Die stroomop Clipper kan egter data teen 'n heeltemal ander tempo produseer as dit 'n beduidende snit toepas (bv. tydens 'n inzoom). Daarom moet 'n Clipper en upscale oor die algemeen geskei word deur 'n Raambuffer, wat vereis dat die Scaler agter die Raambuffer in die pyplyn sit. Die skaaler moet voor die raambuffer sit vir afskaal, so die ontwerp implementeer twee afsonderlike skalers weerskante van die raambuffer: een vir opskaal; die ander vir afskaal.

Twee Scalers verminder ook die maksimum DDR4-bandwydte wat deur die Frame Buffer vereis word. Jy moet altyd afskalings voor die raambuffer toepas, wat die datatempo aan die skryfkant tot die minimum beperk. Pas altyd opskalerings toe na die raambuffer, wat die datatempo aan die leeskant tot die minimum beperk. Elke Scaler kry die vereiste invoerresolusie van die beheerpakkette in die inkomende videostroom, terwyl die Nios II-verwerker met die Avalon-MM-slawe-koppelvlak die uitsetresolusie vir elke Scaler stel.

Raambuffer
Die raambuffer gebruik die DDR4-geheue om drievoudige buffering uit te voer wat die video- en beeldverwerkingspyplyn toelaat om raamkoersomskakeling tussen die inkomende en uitgaande raamkoerse uit te voer. Die ontwerp kan enige invoerraamtempo aanvaar, maar die totale pixeltempo moet nie 1 giga pixels per sekonde oorskry nie. Die Nios II-sagteware stel die uitsetraamtempo op óf 30 óf 60 fps, volgens die uitsetmodus wat jy kies. Die uitset raamtempo is 'n funksie van die geklokte video-uitset-instellings en die uitsetvideopikselklok. Die terugdruk wat die geklokte video-uitset op die pyplyn toepas, bepaal die tempo waarteen die leeskant van die raambuffer videorame van die DDR4 af trek.

Menger
Die menger genereer 'n vaste grootte swart agtergrond beeld wat die Nios II verwerker programmeer om die grootte van die huidige uitset beeld te pas. Die menger het twee insette. Die eerste invoer koppel aan die opskaler om die ontwerp toe te laat om die uitset van die huidige videopyplyn te wys. Die tweede inset verbind met die ikoongeneratorblok. Die ontwerp aktiveer slegs die menger se eerste invoer wanneer dit aktiewe, stabiele video by die geklokte video-invoer bespeur. Daarom handhaaf die ontwerp 'n stabiele uitsetbeeld by die uitset terwyl dit by die inset geprop word. Die ontwerp alfa meng die tweede invoer na die menger, gekoppel aan die ikoongenerator, oor beide die agtergrond- en videopyplynbeelde met 50% deursigtigheid.

Kleurruimte-omskakelaar (uitvoer)
Die uitvoerkleurruimte-omskakelaar transformeer die insette RGB-videodata na óf RGB- of YCbCr-kleurruimte gebaseer op die looptydinstelling vanaf sagteware.

Chroma Resampler (uitset)
Die uitset chroma resampler skakel die formaat van 4:4:4 om na een van 4:4:4, 4:2:2 of 4:2:0 formate. Die sagteware stel die formaat. Die uitset chroma resampler gebruik ook gefiltreerde algoritme om video van hoë gehalte te verkry.

Geklokte video-uitset
Die geklokte video-uitset skakel die Avalon-ST Video-stroom om na die geklokte video-formaat. Die geklokte video-uitset voeg horisontale en vertikale leegmaak- en sinchronisasietydberekeninginligting by die video. Die Nios II-verwerker programmeer die relevante instellings in die geklokte video-uitset, afhangende van die uitsetresolusie en raamtempo wat jy versoek. Die geklokte video-uitset skakel die klok om, wat van die vaste 300 MHz-pyplynklok na die veranderlike tempo van die geklokte video kruis.

Geklokte video na DisplayPort
Die DisplayPort-senderkomponent aanvaar data wat as geklokte video geformateer is. Verskille in die draadsein en verklaring van die kanaal-koppelvlakke in Platform Designer verhoed dat jy die geklokte video-uitset direk aan die DisplayPort-sender-IP koppel. Die geklokte video na DisplayPort-komponent is ontwerpspesifieke pasgemaakte IP om die eenvoudige omskakeling te verskaf wat benodig word tussen die geklokte video-uitset en die DisplayPort-sender-IP. Dit ruil ook die volgorde van die kleurvlakke in elke pixel om om rekening te hou met die verskillende kleurformateringstandaarde wat deur Avalon-ST Video en DisplayPort gebruik word.

DisplayPort-sender IP en DisplayPort-sender PHY
Die DisplayPort-sender IP en DisplayPort-sender PHY werk saam om die videostroom om te skakel van geklokte video na 'n DisplayPort-stroom wat voldoen. Die DisplayPort-sender-IP hanteer die DisplayPort-protokol en kodeer die geldige DisplayPort-data, terwyl die DisplayPort-sender PHY die transceivers bevat en die hoëspoed-reeksuitset skep.

Nios II verwerker en randapparatuur
Die Platform Designer-stelsel bevat 'n Nios II-verwerker, wat die DisplayPort-ontvanger en -sender-IP's en die looptydinstellings vir die verwerkingspyplyn bestuur. Die Nios II-verwerker koppel aan hierdie basiese randapparatuur:

  • 'n On-chip geheue om die program en sy data te stoor.
  • AJTAG UART om sagteware printf-uitvoer te vertoon (via 'n Nios II-terminaal).
  • 'n Stelseltydteller om millisekondevlakvertragings op verskeie punte in die sagteware te genereer, soos vereis deur die DisplayPort-spesifikasie van minimum gebeurtenisduurs.
  • LED's om stelselstatus te vertoon.
  • Drukknoppie-skakelaars om tussen skaalmodusse te skakel en om die vertoning van die Intel-logo te aktiveer en te deaktiveer.
  • DIP-skakelaars om die omskakeling van die uitvoerformaat moontlik te maak en om die druk van boodskappe na 'n Nios II-terminaal te aktiveer en te deaktiveer.

Warmprop-gebeurtenisse op beide die DisplayPort-bron- en sinkbrandonderbrekings wat die Nios II-verwerker aktiveer om die DisplayPort-sender en pyplyn korrek op te stel. Die hooflus in die sagtewarekode monitor ook daardie waardes op die drukknoppies en DIP-skakelaars en verander die pyplynopstelling dienooreenkomstig.

I²C-beheerders
Die ontwerp bevat twee I²C-beheerders (Si5338 en PS8460) om die instellings van drie van die ander komponente op die Intel Arria 10 10 GX FPGA Development Kit te wysig. Twee Si5338-klokopwekkers op die Intel Arria 10 GX FPGA Development Kit verbind aan dieselfde I²C-bus. Die eerste genereer die verwysingsklok vir die DDR4 EMIF. By verstek is hierdie klok op 100 MHz gestel vir gebruik met 1066 MHz DDR4, maar hierdie ontwerp laat die DDR4 teen 1200 MHz loop, wat 'n verwysingsklok van 150 MHz vereis. By die opstart verander die Nios II-verwerker, via die I²C-beheerder-randtoestel, die instellings in die registerkaart van die eerste Si5338 om die spoed van die DDR4-verwysingsklok na 150MHz te verhoog. Die tweede Si5338-klokgenerator genereer die vid_clk vir die geklokte video-koppelvlak tussen die pyplyn en die DisplayPort-sender-IP. Jy moet die spoed van hierdie klok aanpas vir elke verskillende uitsetresolusie en raamtempo wat deur die ontwerp ondersteun word. Jy kan die spoed tydens hardlooptyd aanpas wanneer die Nios II-verwerker dit benodig. Die Bitec DisplayPort 1.4 FMC-dogterkaart maak gebruik van die Parade PS8460-jitter-skoonmaakherhaler en -heropnemer. By opstart wysig die Nios II-verwerker die verstekinstellings van hierdie komponent om aan die vereistes van die ontwerp te voldoen.

Sagteware beskrywing

Die 8K DisplayPort Video Format Conversion Design Example sluit IP van die Intel Video and Image Processing Suite en die DisplayPort-koppelvlak IP in. Al hierdie IP's kan rame van data verwerk sonder enige verdere ingryping wanneer dit korrek opgestel is. Jy moet eksterne hoëvlakbeheer implementeer om die IP's op te stel om mee te begin en wanneer die stelsel verander, bv. DisplayPort-ontvanger of -sender-warmprop-gebeurtenisse of gebruiker se drukknoppie-aktiwiteit. In hierdie ontwerp bied 'n Nios II-verwerker, wat pasgemaakte beheersagteware gebruik, die hoëvlakbeheer. By die opstart van die sagteware:

  • Stel die DDR4 ref klok op 150 MHz om voorsiening te maak vir 1200 MHz DDR spoed, stel dan eksterne geheue koppelvlak IP terug om te herkalibreer op die nuwe verwysing klok.
  • Stel die PS8460 DisplayPort-herhaler en herontspanner op.
  • Inisialiseer die DisplayPort-ontvanger- en sender-koppelvlakke.
  • Inisialiseer die verwerkingspyplyn-IP's.

Wanneer inisialisering voltooi is, gaan die sagteware 'n aaneenlopende terwyl-lus in, kyk na en reageer op 'n aantal gebeurtenisse.

Veranderinge aan die skaalmodus
Die ontwerp ondersteun drie basiese skaalmodusse; passthrough, upscale en downscale. In deurlaatmodus doen die ontwerp geen skaal van die invoervideo nie, in opskaalmodus skaal die ontwerp invoervideo op, en in afskaalmodus verminder die ontwerp insetvideo.
Die vier blokke in die verwerkingspyplyn; die Clipper, die downscaler, die upscaler en die Mixer bepaal die aanbieding van die finale uitset in elke modus. Die sagteware beheer die instellings van elke blok na gelang van die huidige invoerresolusie, uitsetresolusie en die skaalmodus wat jy kies. In die meeste gevalle gee die Clipper die invoer onveranderd deur, en die Mixer-agtergrondgrootte is dieselfde grootte as die finale, geskaalde weergawe van die insetvideo. As die video-invoerresolusie egter groter is as die uitsetgrootte, is dit nie moontlik om 'n opskaling op die invoervideo toe te pas sonder om dit eers te knip nie. As die invoerresolusie minder is as die uitset, kan die sagteware nie 'n afskaal toepas sonder om 'n Mixer-agtergrondlaag toe te pas wat groter is as die insetvideolaag, wat swart strepe rondom die uitsetvideo byvoeg nie.

Tabel 4. Verwerking Blokpyplyne
Hierdie tabel lys die aksie van die vier verwerkingspyplynblokke in elk van die nege kombinasies van skaalmodus, insetresolusie en uitsetresolusie.

Modus in > uit in = uit in < uit
Deurloop Knip na uitvoergrootte Geen afskaal nie Geen clip nie

Geen afskaal nie

Geen clip nie

Geen afskaal nie

voortgesit …
Modus in > uit in = uit in < uit
  Geen luukse nie

Geen swart rand nie

Geen luukse nie

Geen swart rand nie

Geen luukse nie

Swart randblokkies tot uitvoergrootte

Upscale Knip tot 2/3 uitsetgrootte Geen afskaal nie

Opskaal tot uitvoergrootte Geen swart rand nie

Knip tot 2/3 uitsetgrootte Geen afskaal nie

Opskaal tot uitvoergrootte Geen swart rand nie

Geen clip nie

Geen afskaal nie

Opskaal tot uitvoergrootte Geen swart rand nie

Afskaal Geen clip nie

Afskaal na uitvoergrootte Geen opskaal nie

Geen swart rand nie

Geen clip nie

Afskaal na uitvoergrootte Geen opskaal nie

Geen swart rand nie

Geen clip nie

Afskaal tot 2/3 insetgrootte Geen opskaal nie

Swart randblokkies tot uitvoergrootte

Verander tussen modusse deur gebruikerdrukknoppie 1 te druk. Die sagteware monitor die waardes op die drukknoppies op elke lopie deur die lus (dit doen 'n sagteware-debounce) en konfigureer die IP's in die verwerkingspyplyn gepas.

Veranderinge by die DisplayPort-invoer
Op elke lopie deur die lus ondersoek die sagteware die status van die geklokte video-invoer, op soek na veranderinge in die stabiliteit van die video-invoerstroom. Die sagteware beskou die video as stabiel as:

  • Die geklokte video-invoer meld dat die geklokte video suksesvol gesluit is.
  • Die invoerresolusie en kleurspasie het geen veranderinge sedert die vorige loop deur die lus nie.

As die invoer stabiel was, maar dit het slot verloor of die eienskappe van die videostroom het verander, stop die sagteware dat die Geklokte Video-invoer video deur die pyplyn stuur. Dit stel ook die menger om op te hou om die invoervideolaag te vertoon. Die uitset bly aktief (wat 'n swart skerm en die Intel-logo wys) tydens enige ontvanger hotplug-gebeure of resolusieveranderinge.
As die invoer nie stabiel was nie, maar nou stabiel is, konfigureer die sagteware die pyplyn om die nuwe invoerresolusie en kleurspasie te vertoon, dit herbegin die uitvoer vanaf die CVI, en dit stel die menger om die invoervideolaag weer te vertoon. Die heraktivering van die mengerlaag is nie onmiddellik nie, aangesien die raambuffer dalk nog ou rame van 'n vorige invoer herhaal en die ontwerp moet hierdie rame uitvee. Dan kan jy die skerm weer aktiveer om foute te voorkom. Die raambuffer hou 'n telling van die aantal rame wat vanaf die DDR4 gelees word, wat die Nios II-verwerker kan lees. Die sagteware samples hierdie telling wanneer die invoer stabiel word en heraktiveer die mengerlaag wanneer die telling met vier rame toegeneem het, wat verseker dat die ontwerp enige ou rame uit die buffer spoel.

DisplayPort-sender Warmprop-gebeurtenisse
Warmprop-gebeurtenisse by die DisplayPort-sender brand 'n onderbreking binne die sagteware wat 'n vlag stel om die hoofsagtewarelus van 'n verandering in die uitset te waarsku. Wanneer die ontwerp 'n sender-warmprop bespeur, lees die sagteware die EDID vir die nuwe skerm om te bepaal watter resolusies en kleurruimtes dit ondersteun. As jy die DIP-skakelaars op 'n modus stel wat die nuwe skerm nie kan ondersteun nie, val die sagteware terug na 'n minder veeleisende vertoonmodus. Dit konfigureer dan die pyplyn, DisplayPort-sender-IP en die Si5338-deel wat die sender vid_clk genereer vir die nuwe uitsetmodus. Wanneer die invoer veranderinge sien, sal die mengerlaag vir die invoervideo nie vertoon word nie, aangesien die sagteware instellings vir die pyplyn wysig. Die sagteware aktiveer nie weer nie
die vertoning tot na vier rame wanneer die nuwe instellings deur die raam gaan
buffer.

Veranderinge aan gebruiker DIP-skakelaarinstellings
Die posisies van gebruiker DIP-skakelaars 2 tot 6 beheer die uitsetformaat (resolusie, raamtempo, kleurspasie en stukkies per kleur) wat deur die DisplayPort-sender aangedryf word. Wanneer die sagteware veranderinge op hierdie DIP-skakelaars bespeur, loop dit deur 'n volgorde wat feitlik identies is aan 'n sender se warmprop. Jy hoef nie die sender EDID navraag te doen nie, aangesien dit nie verander nie.

Hersieningsgeskiedenis vir AN 889: 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample

Tabel 5. Hersieningsgeskiedenis vir AN 889: 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample

Dokument weergawe Veranderinge
2019.05.30 Aanvanklike vrystelling.


Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg prestasie van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word.
*Ander name en handelsmerke kan as die eiendom van ander geëis word.

Dokumente / Hulpbronne

intel AN 889 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample [pdf] Gebruikersgids
AN 889 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample, AN 889, 8K DisplayPort-videoformaat-omskakelingsontwerp Bvample, Formaat Omskakeling Ontwerp Example, Omskakelingsontwerp Example

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *