intel AN 889 8K DisplayPort Video Format Conversion Design Example
Oer it 8K DisplayPort Video Format Conversion Design Example
De 8K DisplayPort Video Format Conversion Design Example yntegreart de Intel DisplayPort 1.4-fideoferbining IP mei in fideoferwurkingspipeline. It ûntwerp leveret skaalfergrutting fan hege kwaliteit, konverzje fan kleurromte en konverzje fan frame rate foar fideostreams oant 8K by 30 frames per sekonde, of 4K by 60 frames per sekonde.
It ûntwerp is heul software- en hardware konfigurearber, wêrtroch rappe systeemkonfiguraasje en opnij ûntwerp mooglik is. It ûntwerp is rjochte op Intel® Arria® 10-apparaten en brûkt de lêste 8K klear Intel FPGA IP fan 'e Video and Image Processing Suite yn Intel Quartus® Prime v19.2.
Oer DisplayPort Intel FPGA IP
Om Intel Arria 10 FPGA-ûntwerpen te meitsjen mei DisplayPort-ynterfaces, instantieearje de DisplayPort Intel FPGA IP. Dizze DisplayPort IP implementeart lykwols allinich it protokol kodearje of dekodearje foar DisplayPort. It omfettet net de transceivers, PLL's, of transceiver-rekonfiguraasjefunksjes dy't nedich binne om de hegesnelheidsseriële komponint fan 'e ynterface út te fieren. Intel leveret aparte transceiver, PLL, en rekonfiguraasje IP-komponinten. It selektearjen, parameterisearjen en ferbinen fan dizze komponinten om in folslein konforme DisplayPort-ûntfanger of stjoerderynterface te meitsjen fereasket spesjalistyske kennis.
Intel leveret dit ûntwerp foar dyjingen dy't gjin transceiver-eksperts binne. De parameter bewurker GUI foar de DisplayPort IP lit jo it ûntwerp bouwe.
Jo meitsje in eksimplaar fan 'e DisplayPort IP (dy't allinich ûntfanger, allinich stjoerder of kombineare ûntfanger en stjoerder kin wêze) yn beide Platfoarmûntwerper as de IP-katalogus. As jo de DisplayPort IP-eksimplaar parameterisearje, kinne jo selektearje om in eks te generearjenample ûntwerp foar dy bepaalde konfiguraasje. It kombineare ûntwerp fan ûntfanger en stjoerder is in ienfâldige passthrough, wêrby't de útfier fan 'e ûntfanger direkt nei de stjoerder feedt. In ûntwerp mei fêste trochgong makket in folslein funksjonele ûntfanger PHY, stjoerder PHY, en rekonfiguraasjeblokken dy't alle transceiver- en PLL-logika ymplementearje. Jo kinne de relevante seksjes fan it ûntwerp direkt kopiearje, of it ûntwerp brûke as referinsje. It ûntwerp genereart in DisplayPort Intel Arria 10 FPGA IP Design Example en dan foeget in protte fan 'e files direkt generearre yn 'e kompilaasjelist brûkt troch it Intel Quartus Prime-projekt. Dêr heart by:
- Files om parameterisearre IP-eksimplaren te meitsjen foar transceivers, PLL's en reconfig-blokken.
- Verilog HDL files om dizze IP's te ferbinen mei de ûntfanger fan hegere nivo's PHY, stjoerder PHY, en Transceiver Reconfiguration Arbiter-blokken
- Synopsys design constraint (SDC) files om de oanbelangjende timing beheiningen yn te stellen.
Funksjes fan it 8K DisplayPort Video Format Conversion Design Example
- Ynfier:
- DisplayPort 1.4-ferbining stipet resolúsjes fan 720 × 480 oant 3840 × 2160 op elke framerate oant 60 fps, en resolúsjes oant 7680 × 4320 by 30 fps.
- Hot-plug stipe.
- Stipe foar sawol RGB as YCbCr (4:4:4, 4:2:2 en 4:2:0) kleurformaten by de
ynfier. - Software detektearret automatysk it ynfierformaat en stelt de ferwurkingspipeline goed yn.
- Utfier:
- DisplayPort 1.4-ferbining te selektearjen (fia DIP-switches) foar 1080p, 1080i of 2160p resolúsje by 60 fps, of 2160p by 30 fps.
- Hot-plug stipe.
- DIP-skeakels om it fereaske útfierkleurformaat yn te stellen op RGB, YCbCr 4:4:4, YCbCr 4:2:2, of YCbCr 4:2:0.
- Single 10-bit 8K RGB-ferwurkingspipeline mei software konfigureare skaalfergrutting en frame rate konverzje:
- 12-tap Lanczos down-scaler.
- 16-fase, 4-tap Lanczos up-scaler.
- Trije bufferende fideoframebuffer leveret frame rate konverzje.
- Mixer mei alpha-blending lit OSD-ikoan oerlay.
Te begjinnen mei it 8K DisplayPort Video Format Conversion Design Example
Hardware en software easken
De 8K DisplayPort Video Format Conversion Design Example fereasket spesifike hardware en software.
Hardware:
- Intel Arria 10 GX FPGA Development Kit, ynklusyf de DDR4 Hilo Daughter Card
- Bitec DisplayPort 1.4 FMC dochterkaart (ferzje 11)
- DisplayPort 1.4-boarne dy't oant 3840x2160p60 of 7680x4320p30 fideo produseart
- DisplayPort 1.4 sink dy't oant 3840x2160p60 fideo toant
- VESA sertifisearre DisplayPort 1.4 kabels.
Software:
- Windows of Linux OS
- De Intel Quartus Prime Design Suite v19.2, dy't omfettet:
- Intel Quartus Prime Pro Edition
- Platfoarm Designer
- Nios® II EDS
- Intel FPGA IP-bibleteek (ynklusyf de Video- en Image Processing Suite)
It ûntwerp wurket allinich mei dizze ferzje fan Intel Quartus Prime.
It ynladen en ynstallearjen fan it Intel 8K DisplayPort Video Format Conversion Design Example
It ûntwerp is te krijen yn 'e Intel Design Store.
- Download it argivearre projekt file udx10_dp.par.
- Ekstrahearje it Intel Quartus Prime-projekt út it argyf:
- a. Iepenje Intel Quartus Prime Pro Edition.
- b. Klikje File ➤ Iepen projekt.
It finster iepen projekt iepent. - c. Navigearje nei en selektearje de udx10_dp.par file.
- d. Klik op Iepenje.
- e. Stel yn it finster iepen ûntwerpsjabloan de map bestimming yn op de winske lokaasje foar it ekstrahearre projekt. De yngongen foar it ûntwerpsjabloan file en projektnamme moatte korrekt wêze en jo hoege se net te feroarjen.
- f. Klik OK.
Ûntwerp Files foar de Intel 8K DisplayPort Video Format Conversion Design Example
tabel 1. Design Files
File of mapnamme | Beskriuwing |
ip | Befettet de IP-eksimplaar files foar alle Intel FPGA IP-ynstânsjes yn it ûntwerp:
• In DisplayPort IP (stjoerder en ûntfanger) • In PLL dat generearret klokken op it boppeste nivo fan it ûntwerp • Alle IP dy't it Platform Designer-systeem meitsje foar de ferwurkingspipeline. |
master_image | Befettet pre_compiled.sof, dat is in precompiled board programmearring file foar it ûntwerp. |
non_acds_ip | Befettet boarnekoade foar ekstra IP yn dit ûntwerp dat Intel Quartus Prime net omfettet. |
sdc | Befettet in SDC file dat beskriuwt de ekstra timing beheinings dy't dit ûntwerp fereasket. De SDC files opnommen automatysk mei de IP eksimplaren net omgean dizze beheinings. |
software | Befettet boarnekoade, biblioteken en bouwskripts foar de software dy't rint op 'e ynbêde Nios II-prosessor om de funksjonaliteit op hege nivo fan it ûntwerp te kontrolearjen. |
udx10_dp | In map wêryn Intel Quartus Prime útfier genereart files foar de Platform Designer systeem. De udx10_dp.sopcinfo útfier file kinne jo generearje it ûnthâld inisjalisaasje file foar de Nios II prosessor software ûnthâld. Jo hoege net earst it folsleine Platform Designer-systeem te generearjen. |
non_acds_ip.ipx | Dizze IPX file ferklearret alle IP yn 'e non_acds_ip-map nei Platformûntwerper sadat it ferskynt yn' e IP-bibleteek. |
README.txt | Koarte ynstruksjes foar it bouwen en útfieren fan it ûntwerp. |
top.qpf | It Intel Quartus Prime-projekt file foar it ûntwerp. |
top.qsf | De Intel Quartus Prime projektynstellingen file foar it ûntwerp. Dit file listet alle files nedich om it ûntwerp te bouwen, tegearre mei de pinopdrachten en in oantal oare projektynstellingen. |
top.v | De top-nivo Verilog HDL file foar it ûntwerp. |
udx10_dp.qsys | It Platform Designer-systeem dat de pipeline foar fideoferwurking, de Nios II-prosessor, en syn perifeare apparaten befettet. |
It kompilearjen fan it 8K DisplayPort Video Format Conversion Design Example
Intel leveret in foarkompilearre boerdprogrammearring file foar it ûntwerp yn 'e master_image-map (pre_compiled.sof) om jo it ûntwerp út te fieren sûnder in folsleine kompilaasje út te fieren.
STAPPEN:
- Yn 'e Intel Quartus Prime-software iepenje it top.qpf-projekt file. It ynladen argyf makket dit file as jo it projekt unzip.
- Klikje File ➤ Iepenje en selektearje ip/dp_rx_tx/dp_rx_tx.ip. De parameter bewurker GUI foar de DisplayPort IP iepenet, toant de parameters foar de DisplayPort eksimplaar yn it ûntwerp.
- Klik Generearje Example Design (net Generearje).
- As de generaasje foltôge, slút de parameter bewurker.
- In File Explorer, navigearje nei de softwaremap en unzip it vip_control_src.zip-argyf om de vip_control_src-map te generearjen.
- Navigearje yn in BASH-terminal nei software / skript en fier it shellskript build_sw.sh.
It skript bout de Nios II-software foar it ûntwerp. It skept sawol in .elf file dat kinne jo downloade nei it bestjoer op run tiid, en in .hex file te kompilearjen yn it bestjoer programmearring .sof file. - Klikje yn 'e Intel Quartus Prime-software op Ferwurkjen ➤ Start kompilaasje.
- Intel Quartus Prime genereart it udx10_dp.qsys Platform Designer systeem.
- Intel Quartus Prime set it projekt oan top.qpf.
De kompilaasje makket top.sof yn 'e output_files triemtafel as it foltôging.
Viewing en regenerearjen fan it Platform Designer System
- Klik Tools ➤ Platformûntwerper.
- Selektearje systeem name.qsys foar it platfoarm Designer systeem opsje.
- Klik op Iepenje.
Platfoarm Designer iepenet it systeem. - Review it systeem.
- Regenerearje it systeem:
- a. Klik Generate HDL….
- b. Skeakelje yn it Generation Finster Wiskje útfiermappen oan foar selektearre generaasjedoelen.
- c. Klik Generearje
It kompilearjen fan it 8K DisplayPort Video Format Conversion Design Example mei de Nios II Software Build Tools foar Eclipse
Jo sette in ynteraktyf Nios II Eclipse wurkromte foar it ûntwerp foar in produsearje in wurkromte dy't brûkt deselde mappen dat de build skript brûkt. As jo earder it build-skript útfiere, moatte jo de mappen software/vip_control en software/vip_control_bsp wiskje foardat jo de Eclipse-wurkromte meitsje. As jo it build-skript op elk punt opnij útfiere, oerskriuwt it de Eclipse-wurkromte.
STAPPEN:
- Navigearje nei de softwaremap en unzip it vip_control_src.zip-argyf om de map vip_control_src te generearjen.
- Meitsje in nije map yn 'e ynstalleare projektmap en neam it wurkromte.
- Klikje yn 'e Intel Quartus Prime-software Tools ➤ Nios II Software Build Tools foar Eclipse.
- a. Selektearje yn it finster fan Workspace Launcher de wurkromtemap dy't jo makke hawwe.
- b. Klik OK.
- Klikje yn it Nios II - Eclipse-finster File ➤ Nij ➤ Nios II-applikaasje en BSP fan sjabloan.
It dialoochfinster Nios II-applikaasje en BSP fan sjabloan ferskynt.- a. Yn 'e SOPC-ynformaasje File fak, selektearje de udx10_dp/ udx10_dp.sopcinfo file. De Nios II SBT foar Eclipse folt de CPU-namme yn mei de prosessornamme fan 'e .sopcinfo file.
- b. Typ vip_control yn it fakje Projektnamme.
- c. Selektearje Blank Project út 'e Sjabloanlist.
- d. Klik Folgjende.
- e. Selektearje Meitsje in nij BSP-projekt basearre op it applikaasjeprojektsjabloan mei de projektnamme vip_control_bsp.
- f. Ynskeakelje Brûk standert lokaasje.
- g. Klikje op Finish om de applikaasje en de BSP te meitsjen basearre op de .sopcinfo file.
Nei't de BSP genereart, ferskine de projekten vip_control en vip_control_bsp yn it ljepblêd Project Explorer.
- Kopiearje yn Windows Explorer de ynhâld fan 'e map software/vip_control_src nei de nij oanmakke map fan software/vip_control.
- Yn it ljepblêd Project Explorer fan it Nios II - Eclipse-finster, klikje rjochts op de map vip_control_bsp en selektearje Nios II> BSP Editor.
- a. Selektearje Gjin út it dellûk menu foar sys_clk_timer.
- b. Selektearje cpu_timer út it dellûk menu foar timestamp_timer.
- c. Enable_small_c_library ynskeakelje.
- d. Klik Generearje.
- e. As generaasje foltôge, klikje op Exit.
- Klikje yn it ljepblêd Project Explorer mei de rjochtermûsknop op de map vip_control en klikje op Eigenskippen.
- a. Yn it finster Eigenskippen foar vip_control wreidzje Nios II-applikaasje-eigenskippen út en klikje op Nios II-applikaasjepaden.
- b. Klikje taheakje ... neist Biblioteekprojekten.
- c. Navigearje yn it finster fan Biblioteekprojekten nei de map udx10.dp\spftware \vip_control_src en selektearje de map bkc_dprx.syslib.
- d. Klik OK. In berjocht ferskynt Konvertearje nei in relatyf paad. Klik Ja.
- e. Werhelje stappen 7.b op side 8 en 7.c op side 8 foar de mappen bkc_dptx.syslib en bkc_dptxll_syslib
- f. Klik OK.
- Selektearje Project ➤ Build All te generearjen de file vip_control.elf yn 'e software/vip_control map.
- Bou de mem_init file foar de Intel Quartus Prime-kompilaasje:
- a. Rjochtsklik op vip_control yn it Project Explorer-finster.
- b. Selektearje Doelen meitsje ➤ Bouwe….
- c. Selektearje mem_init_generate.
d. Klik op Bouwe.
De Intel Quartus Prime-software genereart de
udx10_dp_onchip_memory2_0_onchip_memory2_0.hex file yn de map software/vip_control/mem_init.
- Mei it ûntwerp dat rint op in ferbûn boerd, rinne de programmearring vip_control.elf file makke troch de Eclipse build.
- a. Rjochtsklik op de map vip_control yn it ljepblêd Project Explorer fan it Nios II -Eclipse-finster.
- b. Selektearje Run As ➤ Nios II Hardware. As jo in Nios II terminalfinster iepen hawwe, slute it dan foardat jo de nije software downloade.
It ynstellen fan de Intel Arria 10 GX FPGA Development Kit
Beskriuwt hoe't jo de kit ynstelle om de 8K DisplayPort Video Format Conversion Design Example.
figuer 1. Intel Arria 10 GX Development Kit mei HiLo Daughter Card
De figuer toant it boerd mei de blauwe heatsink fuorthelle om de posysje fan 'e DDR4 Hilo-kaart te sjen. Intel advisearret dat jo it ûntwerp net útfiere sûnder de heatsink yn posysje.
STAPPEN:
- Pas de Bitec DisplayPort 1.4 FMC-kaart oan op it ûntwikkelingsboerd mei FMC-poarte A.
- Soargje derfoar dat de macht switch (SW1) is útskeakele, dan ferbine de macht Connector.
- Ferbine in USB-kabel oan jo kompjûter en nei de MicroUSB Connector (J3) op it ûntwikkelingsboerd.
- Befestigje in DisplayPort 1.4-kabel tusken de DisplayPort-boarne en de ûntfangerpoarte fan 'e Bitec DisplayPort 1.4 FMC-kaart en soargje derfoar dat de boarne aktyf is.
- Befestigje in DisplayPort 1.4-kabel tusken it DisplayPort-display en de transmitterpoarte fan 'e Bitec DisplayPort 1.4 FMC-kaart en soargje derfoar dat it display aktyf is.
- Skeakelje it boerd oan mei SW1.
Board Status LEDs, drukknoppen en DIP Switches
De Intel Arria 10 GX FPGA Development Kit hat acht status LED's (mei sawol griene as reade emitters), trije brûker drukknoppen en acht brûkers DIP-switches. De 8K DisplayPort Video Format Conversion Design Example ljochtet de LED's op om de steat fan 'e DisplayPort-ûntfangerkeppeling oan te jaan. De drukknoppen en DIP-switches kinne jo ûntwerpynstellingen feroarje.
Status LED's
tabel 2. Status LEDs
LED | Beskriuwing |
Reade LED's | |
0 | DDR4 EMIF-kalibraasje oan 'e gong. |
1 | DDR4 EMIF-kalibraasje mislearre. |
7:2 | Net brûkt. |
Griene LEDs | |
0 | Ferljochtet as de training fan DisplayPort-ûntfangerlink mei súkses foltôget, en it ûntwerp stabile fideo ûntfangt. |
5:1 | DisplayPort ûntfanger lane count: 00001 = 1 baan
00010 = 2 banen 00100 = 4 banen |
7:6 | DisplayPort ûntfanger lane snelheid: 00 = 1.62 Gbps
01 = 2.7 Gbps 10 = 5.4 Gbps 11 = 8.1 Gbps |
De tabel jout de status dy't elke LED oanjout. Elke LED-posysje hat sawol reade as griene yndikatoaren dy't selsstannich kinne ferljochtsje. Elke LED gloeiende oranje betsjut dat sawol de reade as griene yndikatoaren binne oan.
Brûker Push Buttons
Brûkerknop 0 kontrolearret de werjefte fan it Intel-logo yn 'e rjochter boppeste hoeke fan' e útfierdisplay. By it opstarten makket it ûntwerp de werjefte fan it logo mooglik. Troch op drukknop 0 te drukken, skeakelet it ynskeakeljen foar it werjaan fan it logo. Meidogger knop 1 kontrolearret de skaalfergrutting modus fan it ûntwerp. As in boarne of sink is hot-plugged, wurdt it ûntwerp standert oan of:
- Passthrough modus, as de ynfier resolúsje is minder as of gelyk oan de útfier resolúsje
- Downscale modus, as de ynfier resolúsje is grutter dan de útfier resolúsje
Elke kear as jo op brûker op knop 1 drukke, wikselet it ûntwerp nei de folgjende skaalfergrutting (passthrough> upscale, upscale> downscale, downscale> passthrough). Brûkerknop 2 wurdt net brûkt.
Meidogger DIP Switches
De DIP-switches kontrolearje de opsjonele Nios II-terminalprintsje en de ynstellingen foar it útfierfideoformaat oandreaun troch de DisplayPort-stjoerder.
Tabel 3. DIP Switches
De tabel lit de funksje fan elke DIP switch. De DIP-switches, nûmere 1 oant 8 (net 0 oant 7), komme oerien mei de nûmers dy't printe binne op 'e skeakelkomponint. Om elke skeakel op ON te setten, ferpleatse de wite skeakel nei it LCD en fuort fan 'e LED's op it boerd.
Omskeakelje | Funksje |
1 | Aktivearret Nios II terminal printsjen as ynsteld op ON. |
2 | Set útfierbits per kleur:
OFF = 8 bit ON = 10 bit |
4:3 | Set útfier kleur romte en sampling: SW4 OFF, SW3 OFF = RGB 4:4:4 SW4 OFF, SW3 ON = YCbCr 4:4:4 SW4 ON, SW3 OFF = YCbCr 4:2:2 SW4 ON, SW3 ON = YCbCr 4:2:0 |
6:5 | Set útfier resolúsje en frame rate: SW4 OFF, SW3 OFF = 4K60
SW4 OFF, SW3 ON = 4K30 SW4 ON, SW3 OFF = 1080p60 SW4 ON, SW3 ON = 1080i60 |
8:7 | Net brûkt |
It útfieren fan it 8K DisplayPort Video Format Conversion Design Example
Jo moatte download de gearstalde .sof file foar it ûntwerp nei de Intel Arria 10 GX FPGA Development Kit om it ûntwerp út te fieren.
STAPPEN:
- Klikje yn de Intel Quartus Prime-software op Tools ➤ Programmer.
- Klikje yn it Programmer-finster Auto Detect om de JTAG keatling en ûntdek de ferbûne apparaten.
As in pop-up finster ferskynt dat jo freget om de apparaatlist fan 'e Programmeur te aktualisearjen, klikje dan op Ja. - Selektearje yn 'e apparaatlist de rige mei it label 10AX115S2F45.
- Klik Feroarje File…
- Om de foarkompilearre ferzje fan 'e programmearring te brûken file dat Intel omfiemet as ûnderdiel fan it ûntwerp download, selektearje master_image/pre_compiled.sof.
- Om jo programmearring te brûken file makke troch de lokale kompilaasje, selektearje output_files/top.sof.
- Skeakelje Programma / Konfigurearje yn 'e 10AX115S2F45-rige fan' e apparaatlist.
- Klik Start.
As de programmeur foltôget, rint it ûntwerp automatysk. - Iepenje in Nios II terminal te ûntfangen de útfier tekst berjochten út it ûntwerp, oars it ûntwerp slút nei in oantal switch feroarings (allinne as jo ynstelle brûker DIP switch 1 oan ON).
- a. Iepenje in terminalfinster en typ nios2-terminal
- b. Druk op Enter.
ferbûn by de yngong. Sûnder boarne is de útfier in swart skerm mei it Intel-logo yn 'e rjochter boppeste hoeke fan it skerm.
Funksjonele beskriuwing fan it 8K DisplayPort Video Format Conversion Design Example
It Platform Designer-systeem, udx10_dp.qsys, befettet de DisplayPort-ûntfanger en transmitterprotokol IP, de fideopipeline IP, en de Nios II-prosessorkomponinten. It ûntwerp ferbynt it Platform Designer-systeem mei de DisplayPort-ûntfanger en transmitter PHY-logika (dy't de ynterface-transceivers befettet) en de transceiver-rekonfiguraasjelogika op it boppeste nivo yn in Verilog HDL RTL-ûntwerp file (top.v). It ûntwerp omfettet in inkeld fideoferwurkingspaad tusken de DisplayPort-ynfier en de DisplayPort-útfier.
Figuer 2. Block Diagram
It diagram toant de blokken yn 'e 8K DisplayPort Video Format Conversion Design Example. It diagram lit guon fan 'e generike perifeare apparaten net sjen dy't ferbûn binne mei de Nios II, de Avalon-MM tusken de Nios II-prosessor, en de oare komponinten fan it systeem. It ûntwerp aksepteart fideo fan in DisplayPort-boarne oan 'e lofterkant, ferwurket de fideo troch de fideopipeline fan links nei rjochts foardat de fideo trochjûn wurdt nei de DisplayPort-sink oan' e rjochterkant.
DisplayPort-ûntfanger PHY en DisplayPort-ûntfanger IP
De Bitec DisplayPort FMC-kaart leveret in buffer foar it DisplayPort 1.4-sinjaal fan 'e DisplayPort-boarne. De kombinaasje fan DisplayPort-ûntfanger PHY en DisplayPort-ûntfanger IP dekodearret it ynkommende sinjaal om in fideostream te meitsjen. De DisplayPort-ûntfanger PHY befettet de transceivers om de ynkommende gegevens te deserialisearjen en de DisplayPort-ûntfanger IP dekodearret it DisplayPort-protokol. De kombineare DisplayPort-ûntfanger IP ferwurket it ynkommende DisplayPort-sinjaal sûnder software. It resultearjende fideosinjaal fan 'e DisplayPort-ûntfanger IP is in native packetized streamingformaat. It ûntwerp konfigurearret de DisplayPort-ûntfanger foar 10-bit útfier.
DisplayPort nei Clocked Video IP
De útfier fan 'e ynpakke streaminggegevensformaat troch de DisplayPort-ûntfanger is net direkt kompatibel mei it klokte fideogegevensformaat dat de Clocked Video Input IP ferwachtet. De DisplayPort nei Clocked Video IP is in oanpaste IP foar dit ûntwerp. It konvertearret de DisplayPort-útfier yn in kompatibel klokfideoformaat dat jo direkt kinne ferbine mei de Clocked Video-ynfier. De DisplayPort nei Clocked Video IP kin de draadsignalingstandert wizigje en kin de oardering fan 'e kleurplannen binnen elke piksel feroarje. De DisplayPort-standert spesifiseart kleurbestelling dy't oars is as de IP-bestelling fan Intel fideopipeline. De Nios II-prosessor kontrolearret de kleurwikseling. It lêst de hjoeddeistige kleurromte foar oerdracht fan 'e DisplayPort-ûntfanger IP mei syn Avalon-MM slave-ynterface. It rjochtet de DisplayPort nei Clocked Video IP om de passende korreksje oan te passen mei syn Avalon-MM-slave-ynterface.
Klok fideo-ynfier
De klokte fideo-ynfier ferwurket it klokte fideo-ynterface-sinjaal fan 'e DisplayPort nei Clocked Video IP en konvertearret it nei Avalon-ST Video-sinjaalformaat. Dit sinjaalformaat stript alle horizontale en fertikale blanking-ynformaasje fan 'e fideo, wêrtroch allinich aktive ôfbyldingsgegevens oerlitte. De IP pakket it as ien pakket per fideoframe. It foeget ek ekstra metadatapakketten ta (oantsjutten as kontrôlepakketten) dy't de resolúsje fan elk fideoframe beskriuwe. De Avalon-ST Video-stream troch de ferwurkingspipe is fjouwer piksels parallel, mei trije symboalen per piksel. De klokte fideo-ynfier leveret klokkrúsing foar de konverzje fan it fideosinjaal mei fariabele taryf fan 'e DisplayPort-ûntfanger IP nei de fêste klokrate (300 MHz) foar de fideo-IP-pipeline.
Stream Cleaner
De streamreiniger soarget derfoar dat it Avalon-ST Video-sinjaal dat trochgiet nei de ferwurkingspipeline flaterfrij is. Hot plugging fan 'e DisplayPort-boarne kin it ûntwerp feroarsaakje om ûnfolsleine frames fan gegevens te presintearjen oan' e klokte fideo-ynput IP en flaters generearje yn 'e resultearjende Avalon-ST Video-stream. De grutte fan 'e pakketten mei de fideogegevens foar elk frame komt dan net oerien mei de grutte rapportearre troch de assosjearre kontrôlepakketten. De streamreiniger detektearret dizze betingsten en foeget ekstra gegevens (grize piksels) ta oan 'e ein fan' e misledigjende fideopakketten om it frame te foltôgjen en oerien te kommen mei de spesifikaasje yn it kontrôlepakket.
Chroma Resampler (ynfier)
De fideogegevens dy't it ûntwerp ûntfangt by de ynfier fan DisplayPort kinne 4:4:4, 4:2:2, of 4:2:0 chroma s wêzeampled. De ynfier chroma resampler nimt de ynkommende fideo yn elk formaat en konvertearret it yn alle gefallen nei 4:4:4. Om foarsjen hegere fisuele kwaliteit, de chroma resampler brûkt de meast computationally djoere filtere algoritme. De Nios II-prosessor lêst de hjoeddeistige chroma sampling-formaat fan 'e DisplayPort-ûntfanger IP fia syn Avalon-MM-slave-ynterface. It kommunisearret it formaat nei de chroma resampler fia syn Avalon-MM slave ynterface.
Kleurromtekonverter (ynfier)
De ynfierfideogegevens fan DisplayPort kinne de RGB- as YCbCr-kleurromte brûke. De ynkommende kleurromte-konverter nimt de ynkommende fideo yn hokker formaat it oankomt en konvertearret it yn alle gefallen nei RGB. De Nios II-prosessor lêst de hjoeddeistige kleurromte fan 'e DisplayPort-ûntfanger IP mei syn Avalon-MM-slave-ynterface; it laadt de juste konverzjekoeffisienten nei de chroma resampler troch syn Avalon-MM slave ynterface.
Clipper
De klipper selekteart in aktyf gebiet út 'e ynkommende fideostream en smyt de rest ôf. De softwarekontrôle dy't rint op 'e Nios II-prosessor definiearret de regio om te selektearjen. De regio hinget ôf fan de resolúsje fan de gegevens ûntfongen by de DisplayPort boarne en de útfier resolúsje en skaalfergrutting modus. De prosessor kommunisearret de regio nei de Clipper fia syn Avalon-MM-slave-ynterface.
Scaler
It ûntwerp jildt skaalfergrutting foar de ynkommende fideogegevens neffens de ûntfongen resolúsje en de útfierresolúsje dy't jo nedich binne. Jo kinne ek kieze tusken trije skaalfergruttingsmodi (upscale, downscale en passthrough). Twa Scalar IPs jouwe de skaalfergrutting funksjonaliteit: ien ymplemintearret eltse fereaske downscaling; de oare ymplemintearret opskaling. It ûntwerp fereasket twa scalers.
- As de scaler in downscale ymplemintearret, produseart it gjin jildige gegevens op elke kloksyklus by syn útfier. Bygelyksample, as it útfieren fan in 2x downscale ratio, is it jildich sinjaal by de útfier heech elke oare klok syklus wylst it ûntwerp ûntfangt eltse even nûmere input line, en dan leech foar it gehiel fan de ûneven nûmere input rigels. Dit bursting gedrach is fûnemintele foar it proses fan it ferminderjen fan de gegevens taryf by de útfier, mar is ynkompatibel mei de streamôfwerts Mixer IP, dy't oer it algemien ferwachtet in mear konsekwint gegevens taryf om foar te kommen underflow by de útfier. It ûntwerp fereasket de Frame Buffer tusken elke downscale en mixer. De Frame Buffer lit de Mixer de gegevens lêze op it taryf dat it fereasket.
- As de scaler in upscale ymplemintearret, produseart it jildige gegevens op elke kloksyklus, sadat de folgjende mixer gjin problemen hat. It kin lykwols gjin nije ynfiergegevens akseptearje op elke kloksyklus. It nimmen fan in 2x upscale as eksample, op de even nûmere útfier rigels it akseptearret in nije beat fan gegevens eltse oare klok syklus, dan akseptearret gjin nije ynfier gegevens op de ûneven nûmere útfier rigels. De streamop Clipper kin lykwols gegevens produsearje op in folslein oare taryf as it in wichtige klip tapast (bgl. tidens in ynzoomen). Dêrom, in Clipper en upscale moatte oer it algemien wurde skieden troch in Frame Buffer, easkjen de Scaler te sitten nei de Frame Buffer yn 'e pipeline. De Scaler moat sitte foar de Frame Buffer foar downscales, sadat it ûntwerp ymplemintearret twa aparte scalers oan wjerskanten fan de Frame Buffer: ien foar upscale; de oare foar downscale.
Twa Scalers ferminderje ek de maksimale DDR4-bânbreedte nedich troch de Frame Buffer. Jo moatte altyd downscales tapasse foar de Frame Buffer, it minimalisearjen fan de gegevensrate oan 'e skriuwkant. Altyd upscales tapasse nei de Frame Buffer, dy't de gegevensrate oan 'e lêskant minimalisearret. Elke Scaler krijt de fereaske ynfierresolúsje fan 'e kontrôlepakketten yn' e ynkommende fideostream, wylst de Nios II-prosessor mei de Avalon-MM-slave-ynterface de útfierresolúsje foar elke Scaler ynstelt.
Frame Buffer
De framebuffer brûkt it DDR4-ûnthâld om triple buffering út te fieren wêrmei't de fideo- en byldferwurkingspipeline frame rate konverzje kin útfiere tusken de ynkommende en útgeande frame rates. It ûntwerp kin elke ynfierframerate akseptearje, mar de totale pikselrate moat net mear wêze as 1 giga piksels per sekonde. De Nios II-software stelt de útfierframe-rate yn op 30 of 60 fps, neffens de útfiermodus dy't jo selektearje. De útfier frame rate is in funksje fan de Clocked Video Output ynstellings en de útfier video piksel klok. De efterdruk dy't de Clocked Video Output jildt foar de pipeline bepaalt it taryf wêrmei't de lêskant fan 'e Frame Buffer fideoframes fan' e DDR4 lûkt.
Mixer
De mixer genereart in fêste grutte swarte eftergrûnôfbylding dy't de Nios II-prosessor programma's om te passen by de grutte fan 'e hjoeddeistige útfierôfbylding. De mixer hat twa yngongen. De earste ynfier ferbynt mei de upscaler om it ûntwerp de útfier fan 'e hjoeddeistige fideopipeline te sjen litte. De twadde ynfier ferbynt mei it ikoangeneratorblok. It ûntwerp makket allinich de earste ynfier fan 'e mixer mooglik as it aktive, stabile fideo detektearret by de klokte fideo-ynput. Dêrom behâldt it ûntwerp in stabile útfierôfbylding by de útfier wylst it hot-pluggen by de ynfier. It ûntwerp alfa kombinearret de twadde ynfier nei de mixer, ferbûn mei de ikoangenerator, oer sawol de eftergrûn- as fideopipelineôfbyldings mei 50% transparânsje.
Kleurromtekonverter (útfier)
De útfierkleurromtekonverter transformeart de ynfier RGB-fideogegevens nei RGB- as YCbCr-kleurromte basearre op de runtime-ynstelling fan software.
Chroma Resampler (útfier)
De útfier chroma resampler konvertearret it formaat fan 4:4:4 nei ien fan 4:4:4, 4:2:2, of 4:2:0 formaten. De software stelt it formaat yn. De útfier chroma resampler brûkt ek filtere algoritme om fideo fan hege kwaliteit te berikken.
Clocked Video Output
De klokte fideo-útfier konvertearret de Avalon-ST Video-stream nei it klokte fideo-formaat. De klokte fideo-útfier foeget horizontale en fertikale blanking- en syngronisaasjetiidynformaasje ta oan 'e fideo. De Nios II-prosessor programmeart de oanbelangjende ynstellings yn 'e klokte fideo-útfier ôfhinklik fan' e útfierresolúsje en framerate dy't jo oanfreegje. De klokte fideo-útfier konvertearret de klok, krúst fan 'e fêste 300 MHz pipelineklok nei it fariabele taryf fan' e klokte fideo.
Klok fideo nei DisplayPort
De DisplayPort-stjoerderkomponint akseptearret gegevens opmakke as klokte fideo. Ferskillen yn 'e draadsignalearring en deklaraasje fan' e conduit-ynterfaces yn Platform Designer foarkomme dat jo de Clocked Video Output direkt ferbine mei de DisplayPort-stjoerder IP. De Clocked Video to DisplayPort-komponint is ûntwerpspesifike oanpaste IP om de ienfâldige konverzje te leverjen dy't nedich is tusken de Clocked Video Output en de DisplayPort-stjoerder IP. It wikselet ek de oardering fan 'e kleurfleanen yn elke piksel om te rekkenjen mei de ferskillende kleuropmaaknormen brûkt troch Avalon-ST Video en DisplayPort.
DisplayPort-stjoerder IP en DisplayPort-stjoerder PHY
De DisplayPort-stjoerder IP en DisplayPort-stjoerder PHY wurkje tegearre om de fideostream te konvertearjen fan klokte fideo nei in konforme DisplayPort-stream. De DisplayPort-stjoerder IP behannelet it DisplayPort-protokol en kodearret de jildige DisplayPort-gegevens, wylst de DisplayPort-stjoerder PHY de transceivers befettet en de hege snelheid seriële útfier makket.
Nios II Prozessor en Perifeare apparaten
It Platform Designer-systeem befettet in Nios II-prosessor, dy't de DisplayPort-ûntfanger en -stjoerder-IP's beheart en de runtime-ynstellingen foar de ferwurkingspipeline. De Nios II-prosessor ferbynt mei dizze basale perifeare apparaten:
- In on-chip ûnthâld om it programma en syn gegevens op te slaan.
- AJTAG UART te werjaan software printf útfier (fia in Nios II terminal).
- In systeemtimer om fertragingen op millisekondennivo te generearjen op ferskate punten yn 'e software, lykas fereaske troch de DisplayPort-spesifikaasje fan minimale evenemintsdurings.
- LED's om systeemstatus te werjaan.
- Drukknop-skeakels om te wikseljen tusken skaalfergruttingsmodi en om werjefte fan it Intel-logo yn te skeakeljen en út te skeakeljen.
- DIP-skeakels om it wikseljen fan it útfierformaat mooglik te meitsjen en it printsjen fan berjochten nei in Nios II-terminal yn te skeakeljen en út te skeakeljen.
Hot-plug-eveneminten op sawol de DisplayPort-boarne as sinkbrânûnderbrekkingen dy't de Nios II-prosessor triggerje om de DisplayPort-stjoerder en pipeline korrekt te konfigurearjen. De haadlus yn 'e softwarekoade kontrolearret ek dy wearden op' e drukknoppen en DIP-skeakels en feroaret de pipeline-opset dienlik.
I²C Controllers
It ûntwerp befettet twa I²C-controllers (Si5338 en PS8460) om de ynstellingen fan trije fan 'e oare komponinten op' e Intel Arria 10 10 GX FPGA Development Kit te bewurkjen. Twa Si5338-klokgenerators op 'e Intel Arria 10 GX FPGA Development Kit ferbine mei deselde I²C-bus. De earste genereart de referinsjeklok foar de DDR4 EMIF. Standert is dizze klok ynsteld op 100 MHz foar gebrûk mei 1066 MHz DDR4, mar dit ûntwerp rint de DDR4 op 1200 MHz, wat in referinsjeklok fan 150 MHz fereasket. By it opstarten feroaret de Nios II-prosessor, fia de perifeare I²C-controller, de ynstellingen yn 'e registerkaart fan' e earste Si5338 om de snelheid fan 'e DDR4-referinsjeklok te ferheegjen nei 150MHz. De twadde Si5338-klokgenerator genereart de vid_clk foar de klokte fideo-ynterface tusken de pipeline en de DisplayPort-stjoerder IP. Jo moatte oanpasse de snelheid fan dizze klok foar eltse ferskillende útfier resolúsje en frame rate stipe troch it ûntwerp. Jo kinne oanpasse de snelheid op run tiid doe't de Nios II prosessor fereasket. De Bitec DisplayPort 1.4 FMC-dochterkaart makket gebrûk fan de Parade PS8460 jitter skjinmeitsjen repeater en retimer. By it opstarten bewurket de Nios II-prosessor de standertynstellingen fan dizze komponint om te foldwaan oan de easken fan it ûntwerp.
Software Beskriuwing
De 8K DisplayPort Video Format Conversion Design Example omfettet IP fan 'e Intel Video and Image Processing Suite en de DisplayPort-ynterface IP Al dizze IP's kinne frames fan gegevens ferwurkje sûnder fierdere yntervinsje as se goed ynsteld binne. Jo moatte eksterne kontrôle op hege nivo ymplementearje om de IP's yn te stellen om te begjinnen mei en as it systeem feroaret, bgl. DisplayPort-ûntfanger of hot-plug-eveneminten fan stjoerder of aktiviteit fan brûkerdrukknoppen. Yn dit ûntwerp leveret in Nios II-prosessor, dy't oanpaste kontrôlesoftware útfiert, de kontrôle op hege nivo. By it opstarten fan de software:
- Stelt de DDR4 ref-klok yn op 150 MHz om 1200 MHz DDR-snelheid mooglik te meitsjen, set dan de eksterne ûnthâldynterface IP werom om op 'e nije referinsjeklok opnij te kalibrearjen.
- Stelt de PS8460 DisplayPort repeater en retimer yn.
- Inisjalisearret de DisplayPort-ûntfanger- en stjoerderynterfaces.
- Inisjalisearret de ferwurkingspipeline-IP's.
As inisjalisaasje foltôge is, komt de software in trochgeande wylst-loop yn, kontrolearret op en reagearret op in oantal eveneminten.
Feroarings nei de skaalfergrutting modus
It ûntwerp stipet trije basis skaalfergruttingsmodi; passthrough, upscale, en downscale. Yn passthrough modus docht it ûntwerp gjin skaalfergrutting fan 'e ynfierfideo, yn upscale modus upscalet it ûntwerp ynfierfideo op, en yn downscale modus fergruttet it ûntwerp ynfierfideo.
De fjouwer blokken yn 'e ferwurkingspipeline; de Clipper, de downscaler, de upscaler en de Mixer bepale de presintaasje fan 'e definitive útfier yn elke modus. De software kontrolearret de ynstellings fan elk blok ôfhinklik fan de hjoeddeistige ynfierresolúsje, útfierresolúsje en de skaalmodus dy't jo selektearje. Yn 'e measte gefallen passet de Clipper de ynfier troch ûnferoare, en de eftergrûngrutte fan 'e Mixer is deselde grutte as de definitive, skalearre ferzje fan 'e ynfierfideo. As de ynfierfideo-resolúsje lykwols grutter is dan de útfiergrutte, is it net mooglik om in upscale oan te passen op 'e ynfierfideo sûnder it earst te knippen. As de ynfierresolúsje minder is dan de útfier, kin de software gjin downscale tapasse sûnder in Mixer-eftergrûnlaach oan te passen dy't grutter is dan de ynfierfideo-laach, dy't swarte balken foeget om 'e útfierfideo.
tabel 4. Processing Block Pipelines
Dizze tabel listet de aksje fan 'e fjouwer ferwurkingspipelineblokken yn elk fan' e njoggen kombinaasjes fan skaalfergruttingsmodus, ynfierresolúsje en útfierresolúsje.
Wize | yn > út | yn = út | yn < út |
Passthrough | Clip to output grutte Gjin downscale | Gjin klip
Gjin downscale |
Gjin klip
Gjin downscale |
fierder… |
Wize | yn > út | yn = út | yn < út |
Gjin upscale
Gjin swarte râne |
Gjin upscale
Gjin swarte râne |
Gjin upscale
Swarte râne pads nei útfier grutte |
|
Upscale | Clip nei 2/3 útfier grutte Gjin downscale
Upscale nei útfiergrutte Gjin swarte râne |
Clip nei 2/3 útfier grutte Gjin downscale
Upscale nei útfiergrutte Gjin swarte râne |
Gjin klip
Gjin downscale Upscale nei útfiergrutte Gjin swarte râne |
Downscale | Gjin klip
Downscale nei útfier grutte Gjin upscale Gjin swarte râne |
Gjin klip
Downscale nei útfier grutte Gjin upscale Gjin swarte râne |
Gjin klip
Downscale nei 2/3 input grutte Gjin upscale Swarte râne pads nei útfier grutte |
Feroarje tusken modus troch te drukken op brûker drukknop 1. De software kontrolearret de wearden op 'e drukknoppen op elke run troch de lus (it docht in software-debounce) en konfigurearret de IP's yn' e ferwurkingspipeline passend.
Feroarings by de DisplayPort-ynfier
Op elke run troch de lus ûndersiket de software de status fan 'e Clocked Video Input, op syk nei feroaringen yn' e stabiliteit fan 'e ynfierfideostream. De software fynt dat de fideo stabyl is as:
- De Clocked Video Input rapportearret dat de klokte fideo mei sukses beskoattele is.
- De ynfier resolúsje en kleur romte hat gjin feroarings sûnt de foarige run troch de loop.
As de ynfier stabyl wie, mar it slot is ferlern of de eigenskippen fan 'e fideostream binne feroare, stopet de software de Clocked Video Input mei it ferstjoeren fan fideo troch de pipeline. It stelt de Mixer ek yn om te stopjen mei it werjaan fan de ynfierfideo-laach. De útfier bliuwt aktyf (in swart skerm en it Intel-logo sjen litte) tidens elke hotplug-eveneminten fan ûntfanger as resolúsjewizigingen.
As de ynfier net stabyl wie, mar no stabyl is, konfigureart de software de pipeline om de nije ynfierresolúsje en kleurromte wer te jaan, it begjint de útfier fan 'e CVI opnij, en it set de Mixer yn om de ynfierfideo-laach wer wer te jaan. It opnij ynskeakeljen fan 'e mixerlaach is net daliks, om't de Frame Buffer noch altiten âlde frames kin werhelje fan in eardere ynfier en it ûntwerp moat dizze frames wiskje. Dan kinne jo it display opnij ynskeakelje om glitching te foarkommen. De framebuffer hâldt in telling fan it oantal frames lêzen fan 'e DDR4, dy't de Nios II-prosessor kin lêze. De software samples dizze telling doe't de ynfier wurdt stabyl en wer ynskeakelje de Mixer laach doe't de telling is ferhege mei fjouwer frames, dat soarget foar it ûntwerp Flushes út alle âlde frames út de buffer.
DisplayPort stjoerder Hot-plug Events
Hot-plug-eveneminten by de DisplayPort-stjoerder fjoer in ûnderbrekking yn 'e software dy't in flagge ynstelt om de haadsoftware-lus te warskôgjen fan in feroaring yn' e útfier. As it ûntwerp in hot plug fan 'e stjoerder detektearret, lêst de software de EDID foar it nije display om te bepalen hokker resolúsjes en kleurromten it stipet. As jo de DIP-skeakels ynstelle op in modus dy't de nije werjefte net kin stypje, falt de software werom nei in minder easken werjaanmodus. It konfigurearret dan de pipeline, DisplayPort-stjoerder IP, en it Si5338-diel dat de stjoerder genereart vid_clk foar de nije útfiermodus. As de ynfier feroarings sjocht, wurdt de Mixer-laach foar de ynfierfideo net werjûn as de software ynstellings foar de pipeline bewurket. De software kin net opnij ynskeakelje
it display oant nei fjouwer frames as de nije ynstellings troch it frame passe
buffer.
Feroarings oan brûkers DIP Switch Ynstellings
De posysjes fan brûker DIP-skeakels 2 oant 6 kontrolearje it útfierformaat (resolúsje, framerate, kleurromte en bits per kleur) dreaun troch de DisplayPort-stjoerder. As de software detektearret feroarings op dizze DIP-switches, rint it troch in folchoarder dy't frijwol identyk is oan in stjoerder hot plug. Jo hoege de stjoerder EDID net te freegjen, om't it net feroaret.
Ferzjeskiednis foar AN 889: 8K DisplayPort Video Format Conversion Design Example
Tabel 5. Revision Skiednis foar AN 889: 8K DisplayPort Video Format Conversion Design Example
Dokumint Ferzje | Feroarings |
2019.05.30 | Inisjele release. |
Intel Corporation. Alle rjochten foarbehâlden. Intel, it Intel-logo en oare Intel-merken binne hannelsmerken fan Intel Corporation of har dochterûndernimmingen. Intel garandearret prestaasjes fan har FPGA- en semiconductor-produkten oan hjoeddeistige spesifikaasjes yn oerienstimming mei Intel's standert garânsje, mar behâldt it rjocht foar om op elts momint feroarings te meitsjen oan produkten en tsjinsten sûnder notice. Intel nimt gjin ferantwurdlikens of oanspraaklikens oan dy't fuortkomme út 'e applikaasje of gebrûk fan ynformaasje, produkt of tsjinst beskreaun hjiryn, útsein as útdruklik skriftlik ôfpraat troch Intel. Intel-klanten wurde advisearre om de lêste ferzje fan apparaatspesifikaasjes te krijen foardat se fertrouwe op alle publisearre ynformaasje en foardat se oarders pleatse foar produkten of tsjinsten.
* Oare nammen en merken kinne wurde opeaske as eigendom fan oaren.
Dokuminten / Resources
![]() |
intel AN 889 8K DisplayPort Video Format Conversion Design Example [pdf] Brûkersgids AN 889 8K DisplayPort Video Format Conversion Design Example, AN 889, 8K DisplayPort Video Format Conversion Design Example, Format Conversion Design Example, Conversion Design Example |