intel AN 889 8K DisplayPort Conversione formato video Design Example
Informazioni sul progetto di conversione del formato video DisplayPort 8K esample
Il progetto di conversione del formato video DisplayPort 8K esample integra l'IP di connettività video Intel DisplayPort 1.4 con una pipeline di elaborazione video. Il design offre scaling di alta qualità, conversione dello spazio colore e conversione della frequenza dei fotogrammi per flussi video fino a 8K a 30 fotogrammi al secondo o 4K a 60 fotogrammi al secondo.
Il design è altamente configurabile via software e hardware, consentendo una rapida configurazione e riprogettazione del sistema. Il design si rivolge ai dispositivi Intel® Arria® 10 e utilizza l'ultimo IP Intel FPGA pronto per 8K dalla Video and Image Processing Suite in Intel Quartus® Prime v19.2.
Informazioni su DisplayPort Intel FPGA IP
Per creare progetti FPGA Intel Arria 10 con interfacce DisplayPort, creare un'istanza dell'IP FPGA Intel DisplayPort. Tuttavia, questo IP DisplayPort implementa solo la codifica o la decodifica del protocollo per DisplayPort. Non include i ricetrasmettitori, i PLL o la funzionalità di riconfigurazione del ricetrasmettitore necessaria per implementare il componente seriale ad alta velocità dell'interfaccia. Intel fornisce transceiver, PLL e componenti IP di riconfigurazione separati. La selezione, la parametrizzazione e il collegamento di questi componenti per creare un ricevitore o un trasmettitore DisplayPort completamente conforme richiede conoscenze specialistiche.
Intel fornisce questo design per coloro che non sono esperti di ricetrasmettitori. La GUI dell'editor dei parametri per DisplayPort IP consente di creare il progetto.
L'utente crea un'istanza dell'IP DisplayPort (che può essere solo ricevitore, solo trasmettitore o ricevitore e trasmettitore combinati) in Platform Designer o nel Catalogo IP. Quando parametrizzi l'istanza IP DisplayPort, puoi scegliere di generare un example design per quella particolare configurazione. Il design combinato di ricevitore e trasmettitore è un semplice passthrough, in cui l'uscita dal ricevitore alimenta direttamente il trasmettitore. Un design a passthrough fisso crea un ricevitore PHY completamente funzionante, un trasmettitore PHY e blocchi di riconfigurazione che implementano tutta la logica del ricetrasmettitore e del PLL. Puoi copiare direttamente le sezioni pertinenti del disegno o utilizzare il disegno come riferimento. Il design genera un DisplayPort Intel Arria 10 FPGA IP Design Example e poi aggiunge molti dei file fileViene generato direttamente nell'elenco di compilazione utilizzato dal progetto Intel Quartus Prime. Questi includono:
- Files per creare istanze IP parametrizzate per ricetrasmettitori, PLL e blocchi di riconfigurazione.
- Verilog HDL files per connettere questi IP nei blocchi PHY del ricevitore di livello superiore, PHY del trasmettitore e Transceiver Reconfiguration Arbiter
- Vincolo di progettazione sinossi (SDC) files per impostare i relativi vincoli temporali.
Caratteristiche del design di conversione del formato video DisplayPort 8K esample
- Ingresso:
- La connettività DisplayPort 1.4 supporta risoluzioni da 720×480 a 3840×2160 a qualsiasi frame rate fino a 60 fps e risoluzioni fino a 7680×4320 a 30 fps.
- Supporto hot plug.
- Supporto per entrambi i formati colore RGB e YCbCr (4:4:4, 4:2:2 e 4:2:0) al
ingresso. - Il software rileva automaticamente il formato di input e imposta la pipeline di elaborazione in modo appropriato.
- Produzione:
- Connettività DisplayPort 1.4 selezionabile (tramite DIP switch) per risoluzione 1080p, 1080i o 2160p a 60 fps o 2160p a 30 fps.
- Supporto hot plug.
- DIP switch per impostare il formato del colore di uscita richiesto su RGB, YCbCr 4:4:4, YCbCr 4:2:2 o YCbCr 4:2:0.
- Singola pipeline di elaborazione RGB 10K a 8 bit con ridimensionamento configurabile tramite software e conversione del frame rate:
- Downscaler di Lanczos a 12 tocchi.
- Up-scaler Lanczos a 16 fasi e 4 tap.
- Il frame buffer video a triplo buffering fornisce la conversione della frequenza dei fotogrammi.
- Mixer con fusione alfa consente la sovrapposizione di icone OSD.
Guida introduttiva al progetto di conversione del formato video DisplayPort 8K Esample
Requisiti hardware e software
Il progetto di conversione del formato video DisplayPort 8K esample richiede hardware e software specifici.
Hardware:
- Kit di sviluppo FPGA Intel Arria 10 GX, inclusa la scheda figlia DDR4 Hilo
- Scheda figlia Bitec DisplayPort 1.4 FMC (revisione 11)
- Sorgente DisplayPort 1.4 che produce video fino a 3840x2160p60 o 7680x4320p30
- DisplayPort 1.4 sink che visualizza video fino a 3840x2160p60
- Cavi DisplayPort 1.4 certificati VESA.
Software:
- Sistema operativo Windows o Linux
- Intel Quartus Prime Design Suite v19.2, che include:
- Edizione Intel Quartus Prime Pro
- Progettista di piattaforme
- Nios® II EDS
- Libreria Intel FPGA IP (inclusa Video and Image Processing Suite)
Il design funziona solo con questa versione di Intel Quartus Prime.
Download e installazione del progetto di conversione del formato video Intel 8K DisplayPort esample
Il design è disponibile su Intel Design Store.
- Scarica il progetto archiviato file udx10_dp.par.
- Estrai il progetto Intel Quartus Prime dall'archivio:
- a. Apri Intel Quartus Prime Pro Edition.
- b. Clic File ➤ Apri progetto.
Si apre la finestra Apri progetto. - c. Individuare e selezionare udx10_dp.par file.
- d. Fare clic su Apri.
- e. Nella finestra Apri modello di progetto, imposta la cartella di destinazione nella posizione desiderata per il progetto estratto. Le voci per il modello di progettazione file e il nome del progetto dovrebbero essere corretti e non è necessario modificarli.
- f. Fare clic su OK.
Progetto Files per il progetto di conversione del formato video Intel 8K DisplayPort Example
Tabella 1. Progettazione Files
File o Nome cartella | Descrizione |
ip | Contiene l'istanza IP files per tutte le istanze IP Intel FPGA nella progettazione:
• Un IP DisplayPort (trasmettitore e ricevitore) • Un PLL che genera clock al livello superiore del progetto • Tutti gli IP che compongono il sistema Platform Designer per la pipeline di elaborazione. |
immagine_master | Contiene pre_compiled.sof, che è una scheda di programmazione precompilata file per il disegno. |
non_acds_ip | Contiene il codice sorgente per ulteriori IP in questo progetto che Intel Quartus Prime non include. |
SDC | Contiene una DSC file che descrive i vincoli temporali aggiuntivi richiesti da questo progetto. La DSC fileI messaggi inclusi automaticamente con le istanze IP non gestiscono questi vincoli. |
software | Contiene codice sorgente, librerie e script di compilazione per il software che viene eseguito sul processore Nios II integrato per controllare la funzionalità di alto livello del progetto. |
udx10_dp | Una cartella in cui Intel Quartus Prime genera l'output files per il sistema Platform Designer. L'output di udx10_dp.sopcinfo file consente di generare l'inizializzazione della memoria file per la memoria del software del processore Nios II. Non è necessario prima generare l'intero sistema Platform Designer. |
non_acds_ip.ipx | Questo IPX file dichiara tutti gli IP nella cartella non_acds_ip a Platform Designer in modo che appaia nella libreria IP. |
LEGGIMI.txt | Brevi istruzioni per costruire ed eseguire il progetto. |
top.qpf | Il progetto Intel Quartus Prime file per il disegno. |
top.qsf | Le impostazioni del progetto Intel Quartus Prime file per il disegno. Questo file elenca tutti i fileÈ necessario per creare il progetto, insieme alle assegnazioni dei pin e a una serie di altre impostazioni del progetto. |
alto.v | Il Verilog HDL di livello superiore file per il disegno. |
udx10_dp.qsys | Il sistema Platform Designer che contiene la pipeline di elaborazione video, il processore Nios II e le relative periferiche. |
Compilazione del progetto di conversione del formato video DisplayPort 8K esample
Intel fornisce una programmazione della scheda precompilata file per il progetto nella directory master_image (pre_compiled.sof) per consentirti di eseguire il progetto senza eseguire una compilazione completa.
PASSAGGI:
- Nel software Intel Quartus Prime, apri il progetto top.qpf file. L'archivio scaricato crea questo file quando si decomprime il progetto.
- Clic File ➤ Aprire e selezionare ip/dp_rx_tx/dp_rx_tx.ip. Si apre la GUI dell'editor dei parametri per DisplayPort IP, che mostra i parametri per l'istanza DisplayPort nel progetto.
- Fare clic su Genera esample Design (non Genera).
- Al termine della generazione, chiudere l'editor dei parametri.
- In File Explorer, accedere alla directory del software e decomprimere l'archivio vip_control_src.zip per generare la directory vip_control_src.
- In un terminale BASH, vai a software/script ed esegui lo script shell build_sw.sh.
Lo script costruisce il software Nios II per la progettazione. Crea sia un .elfo file che puoi scaricare sulla scheda in fase di esecuzione e un file .hex file da compilare nella programmazione della scheda .sof file. - Nel software Intel Quartus Prime, fare clic su Elaborazione ➤ Avvia compilazione.
- Intel Quartus Prime genera il sistema udx10_dp.qsys Platform Designer.
- Intel Quartus Prime imposta il progetto su top.qpf.
La compilazione crea top.sof nell'output_files directory al termine.
Viewing e rigenerazione del sistema Platform Designer
- Fare clic su Strumenti ➤ Platform Designer.
- Selezionare system name.qsys per l'opzione di sistema Platform Designer.
- Fare clic su Apri.
Platform Designer apre il sistema. - Review il sistema.
- Rigenera il sistema:
- a. Fai clic su Genera HDL….
- b. Nella finestra di generazione, attiva Cancella directory di output per le destinazioni di generazione selezionate.
- c. Fare clic su Genera
Compilazione del progetto di conversione del formato video DisplayPort 8K esample con Nios II Software Build Tools per Eclipse
Si configura un'area di lavoro Nios II Eclipse interattiva per la progettazione per produrre un'area di lavoro che utilizza le stesse cartelle utilizzate dallo script di compilazione. Se in precedenza hai eseguito lo script di build, devi eliminare le cartelle software/vip_control e software/vip_control_bsp prima di creare l'area di lavoro Eclipse. Se si esegue nuovamente lo script di compilazione in qualsiasi momento, sovrascrive l'area di lavoro di Eclipse.
PASSAGGI:
- Passare alla directory del software e decomprimere l'archivio vip_control_src.zip per generare la directory vip_control_src.
- Nella directory del progetto installato, crea una nuova cartella e chiamala workspace.
- Nel software Intel Quartus Prime, fare clic su Strumenti ➤ Nios II Software Build Tools for Eclipse.
- a. Nella finestra Workspace Launcher, seleziona la cartella dell'area di lavoro che hai creato.
- b. Fare clic su OK.
- Nella finestra Nios II – Eclipse, fai clic su File ➤ Nuovo ➤ Applicazione Nios II e BSP dal modello.
Viene visualizzata la finestra di dialogo Applicazione Nios II e BSP da modello.- a. Nelle informazioni SOPC File selezionare udx10_dp/udx10_dp.sopcinfo file. Nios II SBT per Eclipse inserisce il nome della CPU con il nome del processore da .sopcinfo file.
- b. Nella casella Nome progetto digitare vip_control.
- c. Selezionare Progetto vuoto dall'elenco Modelli.
- d. Fare clic su Avanti.
- e. Seleziona Crea un nuovo progetto BSP basato sul modello di progetto dell'applicazione con il nome del progetto vip_control_bsp.
- f. Attiva Usa posizione predefinita.
- g. Fare clic su Fine per creare l'applicazione e il BSP in base a .sopcinfo file.
Dopo la generazione del BSP, i progetti vip_control e vip_control_bsp vengono visualizzati nella scheda Esplora progetti.
- In Windows Explorer, copiare il contenuto della directory software/vip_control_src nella nuova directory software/vip_control.
- Nella scheda Esplora progetti della finestra Nios II – Eclipse, fare clic con il pulsante destro del mouse sulla cartella vip_control_bsp e selezionare Nios II > BSP Editor.
- a. Seleziona Nessuno dal menu a discesa per sys_clk_timer.
- b. Selezionare cpu_timer dal menu a discesa per timestamp_Timer.
- c. Attiva enable_small_c_library.
- d. Fai clic su Genera.
- e. Al termine della generazione, fare clic su Esci.
- Nella scheda Esplora progetti, fare clic con il pulsante destro del mouse sulla directory vip_control e fare clic su Proprietà.
- a. Nella finestra Proprietà per vip_control, espandere le proprietà dell'applicazione Nios II e fare clic su Percorsi applicazione Nios II.
- b. Fare clic su Aggiungi... accanto a Progetti di biblioteca.
- c. Nella finestra Library Projects, accedere alla directory udx10.dp\spftware \vip_control_src e selezionare la directory bkc_dprx.syslib.
- d. Fare clic su OK. Viene visualizzato un messaggio Converti in un percorso relativo. Fare clic su Sì.
- e. Ripetere i passaggi 7.b a pagina 8 e 7.c a pagina 8 per le directory bkc_dptx.syslib e bkc_dptxll_syslib
- f. Fare clic su OK.
- Selezionare Progetto ➤ Crea tutto per generare il file file vip_control.elf nella directory software/vip_control.
- Crea il file mem_init file per la compilation Intel Quartus Prime:
- a. Fare clic con il tasto destro su vip_control nella finestra Esplora progetti.
- b. Selezionare Crea target ➤ Crea….
- c. Selezionare mem_init_generate.
d. Fare clic su Crea.
Il software Intel Quartus Prime genera il file
udx10_dp_onchip_memory2_0_onchip_memory2_0.hex file nella directory software/vip_control/mem_init.
- Con il progetto in esecuzione su una scheda collegata, esegui la programmazione vip_control.elf file creato dalla build di Eclipse.
- a. Fare clic con il pulsante destro del mouse sulla cartella vip_control nella scheda Esplora progetti della finestra Nios II -Eclipse.
- b. Selezione di Esegui come ➤ Hardware Nios II. Se hai una finestra del terminale Nios II aperta, chiudila prima di scaricare il nuovo software.
Configurazione del kit di sviluppo FPGA Intel Arria 10 GX
Descrive come configurare il kit per eseguire il progetto di conversione del formato video DisplayPort 8K esamplui.
Figura 1. Kit di sviluppo Intel Arria 10 GX con scheda figlia HiLo
La figura mostra la scheda con il dissipatore di calore blu rimosso per mostrare il posizionamento della scheda DDR4 Hilo. Intel consiglia di non eseguire il progetto senza il dissipatore di calore in posizione.
PASSAGGI:
- Montare la scheda FMC Bitec DisplayPort 1.4 sulla scheda di sviluppo utilizzando la porta FMC A.
- Assicurarsi che l'interruttore di alimentazione (SW1) sia spento, quindi collegare il connettore di alimentazione.
- Collegare un cavo USB al computer e al connettore MicroUSB (J3) sulla scheda di sviluppo.
- Collegare un cavo DisplayPort 1.4 tra la sorgente DisplayPort e la porta del ricevitore della scheda FMC Bitec DisplayPort 1.4 e assicurarsi che la sorgente sia attiva.
- Collegare un cavo DisplayPort 1.4 tra il display DisplayPort e la porta del trasmettitore della scheda FMC Bitec DisplayPort 1.4 e assicurarsi che il display sia attivo.
- Accendi la scheda usando SW1.
LED di stato della scheda, pulsanti e DIP switch
Il kit di sviluppo FPGA Intel Arria 10 GX ha otto LED di stato (con emettitori sia verdi che rossi), tre pulsanti utente e otto interruttori DIP utente. Il progetto di conversione del formato video DisplayPort 8K esample illumina i LED per indicare lo stato del collegamento del ricevitore DisplayPort. I pulsanti e gli interruttori DIP consentono di modificare le impostazioni di progettazione.
LED di stato
Tabella 2. LED di stato
GUIDATO | Descrizione |
LED rossi | |
0 | Calibrazione DDR4 EMIF in corso. |
1 | Calibrazione DDR4 EMIF fallita. |
7:2 | Inutilizzato. |
LED verdi | |
0 | Si illumina quando l'addestramento del collegamento del ricevitore DisplayPort viene completato correttamente e il progetto riceve un video stabile. |
5:1 | Conteggio corsia ricevitore DisplayPort: 00001 = 1 corsia
00010 = 2 corsie 00100 = 4 corsie |
7:6 | Velocità della corsia del ricevitore DisplayPort: 00 = 1.62 Gbps
01 = 2.7 Gbps 10 = 5.4 Gbps 11 = 8.1 Gbps |
La tabella elenca lo stato indicato da ciascun LED. Ogni posizione del LED ha indicatori sia rossi che verdi che possono illuminarsi in modo indipendente. Qualsiasi LED acceso in arancione significa che entrambi gli indicatori rosso e verde sono accesi.
Pulsanti utente
Il pulsante utente 0 controlla la visualizzazione del logo Intel nell'angolo in alto a destra del display di output. All'avvio, il design consente la visualizzazione del logo. Premendo il pulsante 0 si attiva o disattiva la visualizzazione del logo. Il pulsante utente 1 controlla la modalità di ridimensionamento del disegno. Quando una sorgente o un sink è collegato a caldo, il design predefinito è:
- Modalità passthrough, se la risoluzione di ingresso è minore o uguale alla risoluzione di uscita
- Modalità downscale, se la risoluzione in ingresso è maggiore della risoluzione in uscita
Ogni volta che si preme il pulsante 1 dell'utente, il design passa alla modalità di ridimensionamento successiva (passthrough > upscale, upscale > downscale, downscale > passthrough). Il pulsante utente 2 non è utilizzato.
Interruttori DIP utente
I DIP switch controllano la stampa opzionale del terminale Nios II e le impostazioni per il formato video di output gestito tramite il trasmettitore DisplayPort.
Tabella 3. Interruttori DIP
La tabella elenca la funzione di ogni DIP switch. Gli interruttori DIP, numerati da 1 a 8 (non da 0 a 7), corrispondono ai numeri stampati sul componente dell'interruttore. Per impostare ciascun interruttore su ON, spostare l'interruttore bianco verso l'LCD e lontano dai LED sulla scheda.
Interruttore | Funzione |
1 | Abilita la stampa da terminale Nios II se impostato su ON. |
2 | Imposta bit di output per colore:
SPENTO = 8 bit ACCESO = 10 bit |
4:3 | Imposta lo spazio colore di output e sampling: SW4 SPENTO, SW3 SPENTO = RGB 4:4:4 SW4 SPENTO, SW3 ACCESO = YCbCr 4:4:4 SW4 ACCESO, SW3 SPENTO = YCbCr 4:2:2 SW4 ACCESO, SW3 ACCESO = YCbCr 4:2:0 |
6:5 | Impostare la risoluzione di uscita e il frame rate: SW4 OFF, SW3 OFF = 4K60
SW4 SPENTO, SW3 ACCESO = 4K30 SW4 ACCESO, SW3 SPENTO = 1080p60 SW4 ACCESO, SW3 ACCESO = 1080i60 |
8:7 | Non utilizzato |
Esecuzione del progetto di conversione del formato video DisplayPort 8K esample
Devi scaricare il file .sof compilato file per la progettazione al kit di sviluppo FPGA Intel Arria 10 GX per eseguire la progettazione.
PASSAGGI:
- Nel software Intel Quartus Prime, fare clic su Strumenti ➤ Programmatore.
- Nella finestra Programmatore, fare clic su Rilevamento automatico per eseguire la scansione del JTAG catena e scopri i dispositivi connessi.
Se viene visualizzata una finestra pop-up che chiede di aggiornare l'elenco dei dispositivi del programmatore, fare clic su Sì. - Nell'elenco dei dispositivi selezionare la riga denominata 10AX115S2F45.
- Fare clic su Cambia File…
- Per utilizzare la versione precompilata della programmazione file che Intel include come parte del download del progetto, selezionare master_image/pre_compiled.sof.
- Per usare la tua programmazione file creato dalla compilazione locale, seleziona output_files/top.sof.
- Attiva Program/Configure nella riga 10AX115S2F45 dell'elenco dei dispositivi.
- Fare clic su Avvia.
Quando il programmatore completa, il progetto viene eseguito automaticamente. - Apri un terminale Nios II per ricevere i messaggi di testo in uscita dal progetto, altrimenti il progetto si blocca dopo una serie di modifiche all'interruttore (solo se imposti il DIP switch 1 dell'utente su ON).
- a. Apri una finestra di terminale e digita nios2-terminal
- b. Premere Invio.
collegato all'ingresso. Senza sorgente, l'output è uno schermo nero con il logo Intel nell'angolo in alto a destra dello schermo.
Descrizione funzionale del progetto di conversione del formato video DisplayPort 8K Esample
Il sistema Platform Designer, udx10_dp.qsys, contiene l'IP del protocollo ricevitore e trasmettitore DisplayPort, l'IP della pipeline video ei componenti del processore Nios II. Il design collega il sistema Platform Designer alla logica PHY del ricevitore e del trasmettitore DisplayPort (che contiene i transceiver di interfaccia) e la logica di riconfigurazione del transceiver al livello superiore in un design Verilog HDL RTL file (superiore.v). Il design comprende un singolo percorso di elaborazione video tra l'ingresso DisplayPort e l'uscita DisplayPort.
Figura 2. Diagramma a blocchi
Il diagramma mostra i blocchi nel progetto di conversione del formato video DisplayPort 8K esample. Il diagramma non mostra alcune delle periferiche generiche collegate al Nios II, l'Avalon-MM tra il processore Nios II e gli altri componenti del sistema. Il design accetta video da una sorgente DisplayPort a sinistra, elabora il video attraverso la pipeline video da sinistra a destra prima di passare il video al sink DisplayPort a destra.
PHY del ricevitore DisplayPort e IP del ricevitore DisplayPort
La scheda Bitec DisplayPort FMC fornisce un buffer per il segnale DisplayPort 1.4 dalla sorgente DisplayPort. La combinazione di DisplayPort Receiver PHY e DisplayPort Receiver IP decodifica il segnale in ingresso per creare un flusso video. Il PHY del ricevitore DisplayPort contiene i ricetrasmettitori per deserializzare i dati in entrata e l'IP del ricevitore DisplayPort decodifica il protocollo DisplayPort. L'IP del ricevitore DisplayPort combinato elabora il segnale DisplayPort in entrata senza alcun software. Il segnale video risultante dall'IP del ricevitore DisplayPort è un formato di streaming a pacchetto nativo. Il design configura il ricevitore DisplayPort per l'output a 10 bit.
Da DisplayPort a IP video con clock
Il formato dei dati in streaming a pacchetto emesso dal ricevitore DisplayPort non è direttamente compatibile con il formato dei dati video con clock previsto dall'IP di ingresso video con clock. L'IP video da DisplayPort a clock è un IP personalizzato per questo design. Converte l'uscita DisplayPort in un formato video con clock compatibile che puoi collegare direttamente all'ingresso video con clock. L'IP da DisplayPort a video con clock può modificare lo standard di segnalazione del cavo e può alterare l'ordine dei piani di colore all'interno di ciascun pixel. Lo standard DisplayPort specifica l'ordinamento dei colori diverso dall'ordinamento IP della pipeline video Intel. Il processore Nios II controlla lo scambio di colori. Legge lo spazio colore corrente per la trasmissione dall'IP del ricevitore DisplayPort con la sua interfaccia slave Avalon-MM. Indirizza la DisplayPort all'IP video con clock per applicare la correzione appropriata con la sua interfaccia slave Avalon-MM.
Ingresso video sincronizzato
L'ingresso video con clock elabora il segnale dell'interfaccia video con clock da DisplayPort a Clocked Video IP e lo converte nel formato del segnale video Avalon-ST. Questo formato di segnale elimina dal video tutte le informazioni di oscuramento orizzontale e verticale, lasciando solo i dati dell'immagine attiva. L'IP lo pacchettizza come un pacchetto per fotogramma video. Aggiunge inoltre ulteriori pacchetti di metadati (indicati come pacchetti di controllo) che descrivono la risoluzione di ciascun fotogramma video. Il flusso video Avalon-ST attraverso il tubo di elaborazione è di quattro pixel in parallelo, con tre simboli per pixel. L'ingresso video con clock fornisce il clock crossing per la conversione dal segnale video con clock a velocità variabile dall'IP del ricevitore DisplayPort alla frequenza di clock fissa (300 MHz) per la pipeline IP video.
Flusso più pulito
Lo stream cleaner assicura che il segnale Avalon-ST Video che passa alla pipeline di elaborazione sia privo di errori. Il collegamento a caldo della sorgente DisplayPort può far sì che il progetto presenti frame di dati incompleti all'IP di ingresso video con clock e generi errori nel flusso video Avalon-ST risultante. La dimensione dei pacchetti contenenti i dati video per ciascun frame quindi non corrisponde alla dimensione riportata dai pacchetti di controllo associati. Lo stream cleaner rileva queste condizioni e aggiunge dati aggiuntivi (pixel grigi) alla fine dei pacchetti video incriminati per completare il frame e corrispondere alle specifiche nel pacchetto di controllo.
Ris. cromaticaampler (Ingresso)
I dati video che il progetto riceve in ingresso da DisplayPort possono essere 4:4:4, 4:2:2 o 4:2:0 chroma sampportato. L'input chroma resampler prende il video in arrivo in qualsiasi formato e lo converte in 4:4:4 in tutti i casi. Per fornire una qualità visiva superiore, il chroma resampler utilizza l'algoritmo filtrato più costoso dal punto di vista computazionale. Il processore Nios II legge i chroma correntiampling dall'IP del ricevitore DisplayPort tramite la sua interfaccia slave Avalon-MM. Comunica il formato al chroma resampler tramite la sua interfaccia slave Avalon-MM.
Convertitore spazio colore (Ingresso)
I dati video in ingresso da DisplayPort possono utilizzare lo spazio colore RGB o YCbCr. Il convertitore dello spazio colore di input prende il video in ingresso in qualsiasi formato arrivi e lo converte in RGB in tutti i casi. Il processore Nios II legge lo spazio colore corrente dall'IP del ricevitore DisplayPort con la sua interfaccia slave Avalon-MM; carica i corretti coefficienti di conversione nella chroma resampler attraverso la sua interfaccia slave Avalon-MM.
Clipper
Il clipper seleziona un'area attiva dal flusso video in entrata e scarta il resto. Il controllo software in esecuzione sul processore Nios II definisce la regione da selezionare. La regione dipende dalla risoluzione dei dati ricevuti all'origine DisplayPort e dalla risoluzione di output e dalla modalità di ridimensionamento. Il processore comunica la regione al Clipper attraverso la sua interfaccia slave Avalon-MM.
Scalatore
Il design applica il ridimensionamento ai dati video in ingresso in base alla risoluzione di ingresso ricevuta e alla risoluzione di uscita richiesta. È inoltre possibile selezionare tra tre modalità di ridimensionamento (upscale, downscale e passthrough). Due IP scalari forniscono la funzionalità di ridimensionamento: uno implementa qualsiasi downscaling richiesto; l'altro implementa l'upscaling. Il design richiede due scaler.
- Quando lo scaler implementa un downscale, non produce dati validi su ogni ciclo di clock al suo output. Per esample, se si implementa un rapporto di downscale 2x, il segnale valido all'uscita è alto ogni due cicli di clock mentre il progetto riceve ogni linea di ingresso con numero pari, e quindi basso per l'insieme delle linee di ingresso con numero dispari. Questo comportamento di bursting è fondamentale per il processo di riduzione della velocità dei dati in uscita, ma è incompatibile con l'IP del mixer a valle, che generalmente prevede una velocità dei dati più coerente per evitare l'underflow in uscita. Il design richiede il Frame Buffer tra qualsiasi downscale e mixer. Il Frame Buffer consente al Mixer di leggere i dati alla velocità richiesta.
- Quando lo scaler implementa un upscale, produce dati validi su ogni ciclo di clock, quindi il mixer successivo non ha problemi. Tuttavia, potrebbe non accettare nuovi dati di input su ogni ciclo di clock. Prendendo un upscale 2x come example, sulle linee di uscita con numero pari accetta un nuovo battito di dati ogni due cicli di clock, quindi non accetta nuovi dati di ingresso sulle linee di uscita con numero dispari. Tuttavia, il Clipper a monte può produrre dati a una velocità completamente diversa se sta applicando una clip significativa (ad esempio durante uno zoom avanti). Pertanto, un Clipper e un upscale devono generalmente essere separati da un Frame Buffer, richiedendo che lo Scaler si trovi dopo il Frame Buffer nella pipeline. Lo Scaler deve trovarsi prima del Frame Buffer per i downscale, quindi il progetto implementa due scaler separati su entrambi i lati del Frame Buffer: uno per l'upscale; l'altro per il downscale.
Due Scaler riducono anche la larghezza di banda DDR4 massima richiesta dal Frame Buffer. Devi sempre applicare i downscale prima del Frame Buffer, riducendo al minimo la velocità dei dati sul lato di scrittura. Applica sempre gli upscale dopo il Frame Buffer, che riduce al minimo la velocità dei dati sul lato di lettura. Ogni Scaler ottiene la risoluzione di ingresso richiesta dai pacchetti di controllo nel flusso video in entrata, mentre il processore Nios II con l'interfaccia slave Avalon-MM imposta la risoluzione di uscita per ogni Scaler.
Buffer di fotogramma
Il frame buffer utilizza la memoria DDR4 per eseguire il triplo buffering che consente alla pipeline di elaborazione video e immagini di eseguire la conversione del frame rate tra i frame rate in entrata e in uscita. Il design può accettare qualsiasi frame rate di input, ma il pixel rate totale non deve superare 1 gigapixel al secondo. Il software Nios II imposta il frame rate di output su 30 o 60 fps, in base alla modalità di output selezionata. Il frame rate di output è una funzione delle impostazioni di Clocked Video Output e del pixel clock del video di output. La contropressione che l'uscita video con clock applica alla pipeline determina la velocità con cui il lato di lettura del frame buffer estrae i frame video dal DDR4.
Miscelatore
Il mixer genera un'immagine di sfondo nero di dimensione fissa che il processore Nios II programma in modo che corrisponda alla dimensione dell'immagine di output corrente. Il mixer ha due ingressi. Il primo input si connette all'upscaler per consentire al progetto di mostrare l'output dalla pipeline video corrente. Il secondo ingresso si collega al blocco generatore di icone. Il design abilita il primo ingresso del mixer solo quando rileva un video attivo e stabile all'ingresso video con clock. Pertanto, il design mantiene un'immagine di output stabile in uscita durante l'inserimento a caldo in ingresso. L'alfa del design unisce il secondo input al mixer, collegato al generatore di icone, sia sullo sfondo che sulle immagini della pipeline video con una trasparenza del 50%.
Convertitore spazio colore (uscita)
Il convertitore dello spazio colore di output trasforma i dati video RGB in ingresso nello spazio colore RGB o YCbCr in base all'impostazione di runtime del software.
Ris. cromaticaampler (Uscita)
La resa cromatica in uscitaampler converte il formato da 4:4:4 a uno dei formati 4:4:4, 4:2:2 o 4:2:0. Il software imposta il formato. La resa cromatica in uscitaampler utilizza anche algoritmi filtrati per ottenere video di alta qualità.
Uscita video sincronizzata
L'uscita video con clock converte il flusso video Avalon-ST nel formato video con clock. L'uscita video con clock aggiunge al video la cancellazione orizzontale e verticale e le informazioni sui tempi di sincronizzazione. Il processore Nios II programma le relative impostazioni nell'uscita video con clock in base alla risoluzione di uscita e al frame rate richiesti. L'uscita video con clock converte il clock, passando dal clock della pipeline fisso a 300 MHz alla frequenza variabile del video con clock.
Video con clock su DisplayPort
Il componente trasmettitore DisplayPort accetta dati formattati come video con clock. Le differenze nella segnalazione dei fili e nella dichiarazione delle interfacce conduit in Platform Designer impediscono di collegare l'uscita video con clock direttamente all'IP del trasmettitore DisplayPort. Il componente da video con clock a DisplayPort è un IP personalizzato specifico per il design per fornire la semplice conversione richiesta tra l'uscita video con clock e l'IP del trasmettitore DisplayPort. Scambia anche l'ordine dei piani di colore in ciascun pixel per tenere conto dei diversi standard di formattazione del colore utilizzati da Avalon-ST Video e DisplayPort.
DisplayPort Trasmettitore IP e DisplayPort Trasmettitore PHY
L'IP del trasmettitore DisplayPort e il PHY del trasmettitore DisplayPort lavorano insieme per convertire il flusso video da video con clock a un flusso DisplayPort conforme. L'IP del trasmettitore DisplayPort gestisce il protocollo DisplayPort e codifica i dati DisplayPort validi, mentre il PHY del trasmettitore DisplayPort contiene i ricetrasmettitori e crea l'uscita seriale ad alta velocità.
Processore e periferiche Nios II
Il sistema Platform Designer contiene un processore Nios II, che gestisce gli IP del ricevitore e del trasmettitore DisplayPort e le impostazioni di runtime per la pipeline di elaborazione. Il processore Nios II si collega a queste periferiche di base:
- Una memoria su chip per memorizzare il programma e i suoi dati.
- AJTAG UART per visualizzare l'output printf del software (tramite un terminale Nios II).
- Un timer di sistema per generare ritardi a livello di millisecondi in vari punti del software, come richiesto dalla specifica DisplayPort delle durate minime degli eventi.
- LED per visualizzare lo stato del sistema.
- Interruttori a pulsante per consentire il passaggio tra le modalità di ridimensionamento e per abilitare e disabilitare la visualizzazione del logo Intel.
- DIP switch per consentire la commutazione del formato di output e per abilitare e disabilitare la stampa di messaggi su un terminale Nios II.
Eventi hot-plug sia sull'origine DisplayPort che sull'interruzione di incendio sink che attivano il processore Nios II per configurare correttamente il trasmettitore DisplayPort e la pipeline. Il ciclo principale nel codice del software monitora anche i valori sui pulsanti e sugli interruttori DIP e modifica di conseguenza l'impostazione della pipeline.
Controllori I²C
Il design contiene due controller I²C (Si5338 e PS8460) per modificare le impostazioni di tre degli altri componenti sul kit di sviluppo FPGA Intel Arria 10 10 GX. Due generatori di clock Si5338 sul kit di sviluppo FPGA Intel Arria 10 GX si collegano allo stesso bus I²C. Il primo genera il clock di riferimento per la DDR4 EMIF. Per impostazione predefinita, questo clock è impostato su 100 MHz per l'utilizzo con DDR1066 a 4 MHz, ma questo design esegue DDR4 a 1200 MHz, che richiede un clock di riferimento di 150 MHz. All'avvio il processore Nios II, tramite la periferica del controller I²C, modifica le impostazioni nella mappa dei registri del primo Si5338 per aumentare la velocità del clock di riferimento DDR4 a 150MHz. Il secondo generatore di clock Si5338 genera il vid_clk per l'interfaccia video con clock tra la pipeline e l'IP del trasmettitore DisplayPort. È necessario regolare la velocità di questo clock per ogni diversa risoluzione di output e frame rate supportati dal progetto. È possibile regolare la velocità in fase di esecuzione quando richiesto dal processore Nios II. La scheda figlia Bitec DisplayPort 1.4 FMC utilizza il ripetitore e il retimer di pulizia del jitter Parade PS8460. All'avvio il processore Nios II modifica le impostazioni predefinite di questo componente per soddisfare i requisiti del progetto.
Descrizione del software
Il progetto di conversione del formato video DisplayPort 8K esample include l'IP di Intel Video and Image Processing Suite e l'IP dell'interfaccia DisplayPort Tutti questi IP possono elaborare frame di dati senza ulteriori interventi se configurati correttamente. È necessario implementare un controllo esterno di alto livello per configurare gli IP all'inizio e quando il sistema cambia, ad es. Ricevitore DisplayPort o eventi hot-plug del trasmettitore o attività del pulsante dell'utente. In questo progetto, un processore Nios II, che esegue un software di controllo su misura, fornisce il controllo di alto livello. All'avvio il software:
- Imposta il clock di riferimento DDR4 su 150 MHz per consentire una velocità DDR di 1200 MHz, quindi reimposta l'IP dell'interfaccia di memoria esterna per ricalibrare sul nuovo clock di riferimento.
- Imposta il ripetitore e il retimer DisplayPort PS8460.
- Inizializza le interfacce del ricevitore e del trasmettitore DisplayPort.
- Inizializza gli IP della pipeline di elaborazione.
Al termine dell'inizializzazione, il software entra in un ciclo while continuo, verificando e reagendo a un numero di eventi.
Modifiche alla modalità di ridimensionamento
Il design supporta tre modalità di ridimensionamento di base; passthrough, upscale e downscale. In modalità passthrough il design non ridimensiona il video di input, in modalità upscale il design esegue l'upscaling del video di input e in modalità downscale il design riduce il video di input.
I quattro blocchi nella pipeline di elaborazione; il Clipper, il downscaler, l'upscaler e il Mixer determinano la presentazione dell'output finale in ciascuna modalità. Il software controlla le impostazioni di ciascun blocco in base alla risoluzione di ingresso corrente, alla risoluzione di uscita e alla modalità di ridimensionamento selezionata. Nella maggior parte dei casi, il Clipper trasmette l'input inalterato e le dimensioni dello sfondo del Mixer sono le stesse della versione finale ridimensionata del video di input. Tuttavia, se la risoluzione del video di input è maggiore della dimensione di output, non è possibile applicare un upscaling al video di input senza prima tagliarlo. Se la risoluzione di input è inferiore a quella di output, il software non può applicare un downscale senza applicare un livello di sfondo Mixer più grande del livello del video di input, che aggiunge barre nere attorno al video di output.
Tabella 4. Pipeline di blocco di elaborazione
Questa tabella elenca l'azione dei quattro blocchi della pipeline di elaborazione in ciascuna delle nove combinazioni di modalità di ridimensionamento, risoluzione di input e risoluzione di output.
Modalità | dentro > fuori | dentro = fuori | dentro < fuori |
Passaggio attraverso | Ritaglia le dimensioni dell'output Nessun ridimensionamento | Nessuna clip
Nessun ridimensionamento |
Nessuna clip
Nessun ridimensionamento |
continua… |
Modalità | dentro > fuori | dentro = fuori | dentro < fuori |
Nessun lusso
Nessun bordo nero |
Nessun lusso
Nessun bordo nero |
Nessun lusso
Bordi neri in base alle dimensioni dell'output |
|
Di lusso | Taglia a 2/3 delle dimensioni dell'output Nessun ridimensionamento
Upscale per le dimensioni dell'output Nessun bordo nero |
Taglia a 2/3 delle dimensioni dell'output Nessun ridimensionamento
Upscale per le dimensioni dell'output Nessun bordo nero |
Nessuna clip
Nessun ridimensionamento Upscale per le dimensioni dell'output Nessun bordo nero |
Ridurre la scala | Nessuna clip
Scala inferiore alle dimensioni dell'output Nessuna scala superiore Nessun bordo nero |
Nessuna clip
Scala inferiore alle dimensioni dell'output Nessuna scala superiore Nessun bordo nero |
Nessuna clip
Downscale a 2/3 della dimensione dell'input Nessun upscale Bordi neri in base alle dimensioni dell'output |
Passare da una modalità all'altra premendo il pulsante utente 1. Il software monitora i valori sui pulsanti a ogni esecuzione del ciclo (esegue un antirimbalzo del software) e configura gli IP nella pipeline di elaborazione in modo appropriato.
Modifiche all'ingresso DisplayPort
Ad ogni esecuzione del ciclo, il software esegue il polling dello stato dell'ingresso video con clock, alla ricerca di cambiamenti nella stabilità del flusso video in ingresso. Il software considera il video stabile se:
- L'ingresso video con clock segnala che il video con clock è stato bloccato correttamente.
- La risoluzione di input e lo spazio colore non hanno subito modifiche rispetto alla precedente esecuzione del ciclo.
Se l'input era stabile ma ha perso il blocco o le proprietà del flusso video sono cambiate, il software interrompe l'input video sincronizzato inviando video attraverso la pipeline. Imposta inoltre il Mixer per interrompere la visualizzazione del livello video di input. L'output rimane attivo (mostrando una schermata nera e il logo Intel) durante qualsiasi evento hotplug del ricevitore o modifica della risoluzione.
Se l'input non era stabile ma ora lo è, il software configura la pipeline per visualizzare la nuova risoluzione di input e lo spazio colore, riavvia l'output dal CVI e imposta il Mixer per visualizzare nuovamente il layer video di input. La riattivazione del livello mixer non è immediata in quanto il Frame Buffer potrebbe ancora ripetere vecchi frame da un input precedente e il progetto deve cancellare questi frame. Quindi puoi riattivare il display per evitare glitch. Il frame buffer tiene un conteggio del numero di frame letti dal DDR4, che il processore Nios II può leggere. Il software Sampriduce questo conteggio quando l'input diventa stabile e riattiva il livello Mixer quando il conteggio è aumentato di quattro fotogrammi, il che garantisce che il progetto elimini tutti i vecchi fotogrammi dal buffer.
Eventi hot-plug del trasmettitore DisplayPort
Gli eventi hot-plug sul trasmettitore DisplayPort attivano un'interruzione all'interno del software che imposta un flag per avvisare il loop software principale di un cambiamento nell'output. Quando il progetto rileva un hot plug del trasmettitore, il software legge l'EDID per il nuovo display per determinare quali risoluzioni e spazi colore sono supportati. Se si impostano i DIP switch su una modalità che il nuovo display non è in grado di supportare, il software torna a una modalità di visualizzazione meno impegnativa. Quindi configura la pipeline, l'IP del trasmettitore DisplayPort e la parte Si5338 che sta generando il trasmettitore vid_clk per la nuova modalità di output. Quando l'input rileva modifiche, il layer Mixer per il video di input non viene visualizzato poiché il software modifica le impostazioni per la pipeline. Il software non si riattiva
il display fino a dopo quattro fotogrammi quando le nuove impostazioni passano attraverso il fotogramma
respingente.
Modifiche alle impostazioni dell'interruttore DIP utente
Le posizioni degli interruttori DIP utente da 2 a 6 controllano il formato di output (risoluzione, frame rate, spazio colore e bit per colore) guidato attraverso il trasmettitore DisplayPort. Quando il software rileva modifiche su questi DIP switch, esegue una sequenza praticamente identica a quella di un trasmettitore hot plug. Non è necessario interrogare l'EDID del trasmettitore in quanto non cambia.
Cronologia delle revisioni per AN 889: progettazione della conversione del formato video DisplayPort 8K esample
Tabella 5. Cronologia delle revisioni per AN 889: Progetto di conversione del formato video DisplayPort 8K Esample
Versione del documento | Cambiamenti |
2019.05.30 | Versione iniziale. |
Società Intel. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche correnti in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di informazioni, prodotti o servizi qui descritti, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi.
*Altri nomi e marchi potrebbero essere rivendicati come proprietà di terzi.
Documenti / Risorse
![]() |
intel AN 889 8K DisplayPort Conversione formato video Design Example [pdf] Guida utente AN 889 Design conversione formato video DisplayPort 8K esample, AN 889, Design conversione formato video DisplayPort 8K Esample, Progettazione per la conversione del formato Esample, Progetto di conversione esample |