intel AN 889 8K DisplayPort Diseño de conversión de formato de video Example
Acerca del ejemplo de diseño de conversión de formato de video DisplayPort 8Kample
El diseño de conversión de formato de video DisplayPort 8K Example integra la IP de conectividad de video Intel DisplayPort 1.4 con una canalización de procesamiento de video. El diseño ofrece escalado de alta calidad, conversión de espacio de color y conversión de velocidad de fotogramas para transmisiones de video de hasta 8K a 30 fotogramas por segundo, o 4K a 60 fotogramas por segundo.
El diseño es altamente configurable por software y hardware, lo que permite una rápida configuración y rediseño del sistema. El diseño tiene como objetivo los dispositivos Intel® Arria® 10 y utiliza la última Intel FPGA IP preparada para 8K de Video and Image Processing Suite en Intel Quartus® Prime v19.2.
Acerca de DisplayPort Intel FPGA IP
Para crear diseños Intel Arria 10 FPGA con interfaces DisplayPort, cree una instancia de DisplayPort Intel FPGA IP. Sin embargo, esta IP de DisplayPort solo implementa la codificación o decodificación del protocolo para DisplayPort. No incluye los transceptores, PLL o la funcionalidad de reconfiguración del transceptor necesaria para implementar el componente serial de alta velocidad de la interfaz. Intel proporciona componentes independientes de transceptor, PLL e IP de reconfiguración. Seleccionar, parametrizar y conectar estos componentes para crear una interfaz de transmisor o receptor DisplayPort totalmente compatible requiere conocimientos especializados.
Intel ofrece este diseño para aquellos que no son expertos en transceptores. La GUI del editor de parámetros para DisplayPort IP le permite crear el diseño.
Usted crea una instancia de DisplayPort IP (que puede ser solo receptor, solo transmisor o receptor y transmisor combinados) en Platform Designer o en el catálogo de IP. Cuando parametriza la instancia de DisplayPort IP, puede seleccionar generar un example diseño para esa configuración en particular. El diseño combinado de receptor y transmisor es un paso simple, donde la salida del receptor alimenta directamente al transmisor. Un diseño de paso fijo crea un receptor PHY completamente funcional, un transmisor PHY y bloques de reconfiguración que implementan toda la lógica del transceptor y PLL. Puede copiar directamente las secciones relevantes del diseño o usar el diseño como referencia. El diseño genera un DisplayPort Intel Arria 10 FPGA IP Design Example y luego agrega muchos de los files generados directamente en la lista de compilación utilizada por el proyecto Intel Quartus Prime. Éstos incluyen:
- Files para crear instancias de IP parametrizadas para transceptores, PLL y bloques de reconfiguración.
- Verilog HDL files para conectar estas direcciones IP a los bloques PHY del receptor, PHY del transmisor y árbitro de reconfiguración del transceptor de nivel superior
- Restricción de diseño Synopsys (SDC) files para establecer las restricciones de tiempo relevantes.
Características del diseño de conversión de formato de video DisplayPort 8K Example
- Aporte:
- La conectividad DisplayPort 1.4 admite resoluciones desde 720 × 480 hasta 3840 × 2160 a cualquier velocidad de fotogramas hasta 60 fps y resoluciones de hasta 7680 × 4320 a 30 fps.
- Soporte de conexión en caliente.
- Compatibilidad con formatos de color RGB e YCbCr (4:4:4, 4:2:2 y 4:2:0) en el
aporte. - El software detecta automáticamente el formato de entrada y configura la tubería de procesamiento de manera adecuada.
- Producción:
- Conectividad DisplayPort 1.4 seleccionable (a través de interruptores DIP) para resolución de 1080p, 1080i o 2160p a 60 fps, o 2160p a 30 fps.
- Soporte de conexión en caliente.
- Interruptores DIP para establecer el formato de color de salida requerido en RGB, YCbCr 4:4:4, YCbCr 4:2:2 o YCbCr 4:2:0.
- Canal de procesamiento único de 10K RGB de 8 bits con escalado configurable por software y conversión de velocidad de fotogramas:
- Escalador descendente Lanczos de 12 toques.
- Escalador Lanczos de 16 fases y 4 derivaciones.
- El búfer de cuadro de video de triple búfer proporciona conversión de velocidad de cuadro.
- El mezclador con mezcla alfa permite la superposición de iconos OSD.
Primeros pasos con el diseño de conversión de formato de video DisplayPort 8K Example
Requisitos de hardware y software
El diseño de conversión de formato de video DisplayPort 8K ExampEl archivo requiere hardware y software específicos.
Hardware:
- Kit de desarrollo Intel Arria 10 GX FPGA, incluida la tarjeta secundaria DDR4 Hilo
- Tarjeta secundaria Bitec DisplayPort 1.4 FMC (revisión 11)
- Fuente DisplayPort 1.4 que produce video de hasta 3840x2160p60 o 7680x4320p30
- Disipador DisplayPort 1.4 que muestra video de hasta 3840x2160p60
- Cables DisplayPort 1.4 con certificación VESA.
Software:
- SO Windows o Linux
- Intel Quartus Prime Design Suite v19.2, que incluye:
- Edición Intel Quartus Prime Pro
- Diseñador de plataformas
- EDS Nios® II
- Biblioteca Intel FPGA IP (incluida la suite de procesamiento de imágenes y video)
El diseño solo funciona con esta versión de Intel Quartus Prime.
Descarga e instalación de Intel 8K DisplayPort Video Format Conversion Design Example
El diseño está disponible en Intel Design Store.
- Descarga el proyecto archivado file udx10_dp.par.
- Extraiga el proyecto Intel Quartus Prime del archivo:
- a. Abra Intel Quartus Prime Pro Edition.
- b. Hacer clic File ➤ Proyecto abierto.
Se abre la ventana Abrir proyecto. - c. Navegue y seleccione udx10_dp.par file.
- d. Haga clic en Abrir.
- e. En la ventana Abrir plantilla de diseño, configure la carpeta Destino en la ubicación deseada para el proyecto extraído. Las entradas para la plantilla de diseño. file y el nombre del proyecto deben ser correctos y no necesita cambiarlos.
- f. Haga clic en Aceptar.
Diseño Files para Intel 8K DisplayPort Video Format Conversion Design Example
Tabla 1. Diseño Files
File o Nombre de carpeta | Descripción |
ip | Contiene la instancia de IP files para todas las instancias de Intel FPGA IP en el diseño:
• Una IP DisplayPort (transmisor y receptor) • Un PLL que genera relojes en el nivel superior del diseño • Todas las IP que componen el sistema Platform Designer para el pipeline de procesamiento. |
imagen_maestra | Contiene pre_compiled.sof, que es una programación de placa precompilada file para el diseño |
no_acds_ip | Contiene código fuente para IP adicional en este diseño que Intel Quartus Prime no incluye. |
cosed | Contiene un SDC file que describe las restricciones de tiempo adicionales que requiere este diseño. La COSUDE fileLos correos electrónicos incluidos automáticamente con las instancias de IP no manejan estas restricciones. |
software | Contiene código fuente, bibliotecas y scripts de compilación para el software que se ejecuta en el procesador integrado Nios II para controlar la funcionalidad de alto nivel del diseño. |
udx10_dp | Una carpeta en la que Intel Quartus Prime genera resultados files para el sistema Platform Designer. La salida udx10_dp.sopcinfo file le permite generar la inicialización de la memoria file para la memoria del software del procesador Nios II. No necesita generar primero el sistema completo de Platform Designer. |
no_acds_ip.ipx | Este IPX file declara toda la IP en la carpeta non_acds_ip a Platform Designer para que aparezca en la biblioteca de IP. |
README.txt | Breves instrucciones para construir y ejecutar el diseño. |
superior.qpf | El proyecto Intel Quartus Prime file para el diseño |
arriba.qsf | La configuración del proyecto Intel Quartus Prime file para el diseño Este file enumera todos los fileSe requiere para construir el diseño, junto con las asignaciones de pines y una serie de otras configuraciones del proyecto. |
arriba.v | El Verilog HDL de nivel superior file para el diseño |
udx10_dp.qsys | El sistema Platform Designer que contiene la tubería de procesamiento de video, el procesador Nios II y sus periféricos. |
Compilación del ejemplo de diseño de conversión de formato de video DisplayPort de 8Kample
Intel proporciona una programación de placa precompilada file para el diseño en el directorio master_image (pre_compiled.sof) para permitirle ejecutar el diseño sin ejecutar una compilación completa.
PASOS:
- En el software Intel Quartus Prime, abra el proyecto top.qpf file. El archivo descargado crea esto file al descomprimir el proyecto.
- Hacer clic File ➤ Abra y seleccione ip/dp_rx_tx/dp_rx_tx.ip. Se abre la GUI del editor de parámetros para DisplayPort IP, que muestra los parámetros para la instancia de DisplayPort en el diseño.
- Haga clic en Generar Example Diseño (no Generar).
- Cuando se complete la generación, cierre el editor de parámetros.
- In File Explorer, vaya al directorio del software y descomprima el archivo vip_control_src.zip para generar el directorio vip_control_src.
- En una terminal BASH, vaya a software/secuencia de comandos y ejecute la secuencia de comandos de shell build_sw.sh.
El guión construye el software Nios II para el diseño. Crea tanto un .elf file que puede descargar a la placa en tiempo de ejecución, y un .hex file para compilar en la placa de programación .sof file. - En el software Intel Quartus Prime, haga clic en Procesamiento ➤ Iniciar compilación.
- Intel Quartus Prime genera el sistema Platform Designer udx10_dp.qsys.
- Intel Quartus Prime establece el proyecto en top.qpf.
La compilación crea top.sof en la salida_files directorio cuando se completa.
Viewing y regeneración del sistema Platform Designer
- Haga clic en Herramientas ➤ Diseñador de plataforma.
- Seleccione system name.qsys para la opción de sistema Platform Designer.
- Haga clic en Abrir.
Platform Designer abre el sistema. - Review el sistema.
- Regenerar el sistema:
- a. Haga clic en Generar HDL….
- b. En la ventana Generación, active Borrar directorios de salida para los objetivos de generación seleccionados.
- c. Haga clic en generar
Compilación del ejemplo de diseño de conversión de formato de video DisplayPort de 8Kamparchivo con las herramientas de compilación de software Nios II para Eclipse
Configure un espacio de trabajo interactivo de Nios II Eclipse para que el diseño produzca un espacio de trabajo que use las mismas carpetas que usa el script de compilación. Si ejecutó previamente el script de compilación, debe eliminar las carpetas software/vip_control y software/vip_control_bsp antes de crear el espacio de trabajo de Eclipse. Si vuelve a ejecutar el script de compilación en cualquier momento, sobrescribe el espacio de trabajo de Eclipse.
PASOS:
- Navegue hasta el directorio del software y descomprima el archivo vip_control_src.zip para generar el directorio vip_control_src.
- En el directorio del proyecto instalado, cree una nueva carpeta y asígnele el nombre espacio de trabajo.
- En el software Intel Quartus Prime, haga clic en Herramientas ➤ Herramientas de compilación de software Nios II para Eclipse.
- a. En la ventana de Workspace Launcher, seleccione la carpeta del espacio de trabajo que creó.
- b. Haga clic en Aceptar.
- En la ventana Nios II – Eclipse, haga clic en File ➤ Nuevo ➤ Aplicación Nios II y BSP desde Plantilla.
Aparece el cuadro de diálogo Aplicación Nios II y BSP desde plantilla.- a. En la Información SOPC File cuadro, seleccione el udx10_dp/ udx10_dp.sopcinfo file. El Nios II SBT para Eclipse completa el nombre de la CPU con el nombre del procesador del .sopcinfo file.
- b. En el cuadro Nombre del proyecto, escriba vip_control.
- c. Seleccione Proyecto en blanco de la lista Plantillas.
- d. Haga clic en Siguiente.
- e. Seleccione Crear un nuevo proyecto BSP basado en la plantilla de proyecto de aplicación con el nombre de proyecto vip_control_bsp.
- f. Active Usar ubicación predeterminada.
- g. Haga clic en Finalizar para crear la aplicación y el BSP basado en el .sopcinfo file.
Después de generar el BSP, los proyectos vip_control y vip_control_bsp aparecen en la pestaña Explorador de proyectos.
- En el Explorador de Windows, copie el contenido del directorio software/vip_control_src en el directorio software/vip_control recién creado.
- En la pestaña Project Explorer de la ventana Nios II – Eclipse, haga clic derecho en la carpeta vip_control_bsp y seleccione Nios II > BSP Editior.
- a. Seleccione Ninguno en el menú desplegable de sys_clk_timer.
- b. Seleccione cpu_timer del menú desplegable para timestamp_Temporizador.
- c. Activa enable_small_c_library.
- d. Haz clic en Generar.
- e. Cuando finalice la generación, haga clic en Salir.
- En la pestaña Explorador de proyectos, haga clic con el botón derecho en el directorio vip_control y haga clic en Propiedades.
- a. En la ventana Propiedades de vip_control, expanda las propiedades de la aplicación Nios II y haga clic en Rutas de la aplicación Nios II.
- b. Haga clic en Agregar... junto a Proyectos de biblioteca.
- c. En la ventana Proyectos de biblioteca, vaya al directorio udx10.dp\spftware\vip_control_src y seleccione el directorio bkc_dprx.syslib.
- d. Haga clic en Aceptar. Aparece un mensaje Convertir a una ruta relativa. Haga clic en Sí.
- e. Repita los pasos 7.b en la página 8 y 7.c en la página 8 para los directorios bkc_dptx.syslib y bkc_dptxll_syslib
- f. Haga clic en Aceptar.
- Seleccione Proyecto ➤ Construir todo para generar el file vip_control.elf en el directorio software/vip_control.
- Construya el mem_init file para la compilación Intel Quartus Prime:
- a. Haga clic con el botón derecho en vip_control en la ventana del Explorador de proyectos.
- b. Seleccione Crear objetivos ➤ Construir….
- C. Seleccione mem_init_generate.
d. Haz clic en Construir.
El software Intel Quartus Prime genera el
udx10_dp_onchip_memory2_0_onchip_memory2_0.hex file en el directorio software/vip_control/mem_init.
- Con el diseño ejecutándose en una placa conectada, ejecute la programación vip_control.elf file creado por la compilación de Eclipse.
- a. Haga clic con el botón derecho en la carpeta vip_control en la pestaña Project Explorer de la ventana Nios II -Eclipse.
- b. Seleccionando Ejecutar como ➤ Hardware Nios II. Si tiene abierta una ventana de terminal de Nios II, ciérrela antes de descargar el nuevo software.
Configuración del kit de desarrollo Intel Arria 10 GX FPGA
Describe cómo configurar el kit para ejecutar 8K DisplayPort Video Format Conversion Design Exampel.
Figura 1. Kit de desarrollo Intel Arria 10 GX con tarjeta secundaria HiLo
La figura muestra la placa sin el disipador de calor azul para mostrar la posición de la tarjeta DDR4 Hilo. Intel recomienda que no ejecute el diseño sin el disipador de calor en su lugar.
PASOS:
- Instale la tarjeta Bitec DisplayPort 1.4 FMC en la placa de desarrollo mediante el puerto FMC A.
- Asegúrese de que el interruptor de alimentación (SW1) esté apagado y luego conecte el conector de alimentación.
- Conecte un cable USB a su computadora y al conector MicroUSB (J3) en la placa de desarrollo.
- Conecte un cable DisplayPort 1.4 entre la fuente DisplayPort y el puerto receptor de la tarjeta Bitec DisplayPort 1.4 FMC y asegúrese de que la fuente esté activa.
- Conecte un cable DisplayPort 1.4 entre la pantalla DisplayPort y el puerto del transmisor de la tarjeta Bitec DisplayPort 1.4 FMC y asegúrese de que la pantalla esté activa.
- Encienda la placa usando SW1.
LED de estado de la placa, botones pulsadores y conmutadores DIP
El kit de desarrollo Intel Arria 10 GX FPGA tiene ocho LED de estado (con emisores verdes y rojos), tres botones de usuario y ocho interruptores DIP de usuario. El diseño de conversión de formato de video DisplayPort 8K ExampEl archivo ilumina los LED para indicar el estado del enlace del receptor DisplayPort. Los botones pulsadores y los interruptores DIP le permiten modificar la configuración del diseño.
LEDs de estado
Tabla 2. LED de estado
CONDUJO | Descripción |
LED rojos | |
0 | Calibración DDR4 EMIF en curso. |
1 | La calibración DDR4 EMIF falló. |
7:2 | No usado. |
LED verdes | |
0 | Se ilumina cuando el entrenamiento del enlace del receptor DisplayPort se completa con éxito y el diseño recibe video estable. |
5:1 | Recuento de carriles del receptor DisplayPort: 00001 = 1 carril
00010 = 2 carriles 00100 = 4 carriles |
7:6 | Velocidad del carril del receptor DisplayPort: 00 = 1.62 Gbps
01 = 2.7 Gb/s 10 = 5.4 Gb/s 11 = 8.1 Gb/s |
La tabla enumera el estado que indica cada LED. Cada posición LED tiene indicadores rojos y verdes que pueden iluminarse de forma independiente. Cualquier LED que brille en naranja significa que tanto el indicador rojo como el verde están encendidos.
Botones de usuario
El botón 0 del usuario controla la visualización del logotipo de Intel en la esquina superior derecha de la pantalla de salida. Al inicio, el diseño permite la visualización del logotipo. Al presionar el botón 0, se activa la visualización del logotipo. El botón de usuario 1 controla el modo de escalado del diseño. Cuando una fuente o sumidero se conecta en caliente, el diseño predeterminado es:
- Modo de transferencia, si la resolución de entrada es menor o igual que la resolución de salida
- Modo Downscale, si la resolución de entrada es mayor que la resolución de salida
Cada vez que presiona el botón de usuario 1, el diseño cambia al siguiente modo de escala (transferencia > escala superior, escala superior > escala descendente, escala descendente > transferencia). El pulsador de usuario 2 no se utiliza.
Conmutadores DIP de usuario
Los interruptores DIP controlan la impresión del terminal Nios II opcional y la configuración del formato de salida de video a través del transmisor DisplayPort.
Tabla 3. Interruptores DIP
La tabla enumera la función de cada interruptor DIP. Los interruptores DIP, numerados del 1 al 8 (no del 0 al 7), coinciden con los números impresos en el componente del interruptor. Para configurar cada interruptor en ON, mueva el interruptor blanco hacia la pantalla LCD y alejándolo de los LED de la placa.
Cambiar | Función |
1 | Habilita la impresión del terminal Nios II cuando está activado. |
2 | Establecer bits de salida por color:
APAGADO = 8 bits ENCENDIDO = 10 bits |
4:3 | Establecer espacio de color de salida y sampling: SW4 APAGADO, SW3 APAGADO = RGB 4:4:4 SW4 APAGADO, SW3 ENCENDIDO = YCbCr 4:4:4 SW4 ENCENDIDO, SW3 APAGADO = YCbCr 4:2:2 SW4 ENCENDIDO, SW3 ENCENDIDO = YCbCr 4:2:0 |
6:5 | Establezca la resolución de salida y la velocidad de fotogramas: SW4 APAGADO, SW3 APAGADO = 4K60
SW4 APAGADO, SW3 ENCENDIDO = 4K30 SW4 ENCENDIDO, SW3 APAGADO = 1080p60 SW4 ENCENDIDO, SW3 ENCENDIDO = 1080i60 |
8:7 | No usado |
Ejecución del diseño de conversión de formato de video DisplayPort 8K Example
Debes descargar el .sof compilado file para el diseño al kit de desarrollo Intel Arria 10 GX FPGA para ejecutar el diseño.
PASOS:
- En el software Intel Quartus Prime, haga clic en Herramientas ➤ Programador.
- En la ventana del Programador, haga clic en Detección automática para escanear el JTAG encadenar y descubrir los dispositivos conectados.
Si aparece una ventana emergente que le pide que actualice la lista de dispositivos del programador, haga clic en Sí. - En la lista de dispositivos, seleccione la fila con la etiqueta 10AX115S2F45.
- Haga clic en Cambiar File…
- Para utilizar la versión precompilada de la programación file que Intel incluye como parte de la descarga del diseño, seleccione master_image/pre_compiled.sof.
- Para usar su programación file creado por la compilación local, seleccione salida_files/top.sof.
- Active Programar/Configurar en la fila 10AX115S2F45 de la lista de dispositivos.
- Haga clic en Iniciar.
Cuando el programador finaliza, el diseño se ejecuta automáticamente. - Abra un terminal Nios II para recibir los mensajes de texto de salida del diseño; de lo contrario, el diseño se bloquea después de varios cambios de interruptor (solo si configura el interruptor DIP 1 del usuario en ON).
- a. Abra una ventana de terminal y escriba nios2-terminal
- b. Presione Enter.
conectado en la entrada. Sin fuente, la salida es una pantalla negra con el logotipo de Intel en la esquina superior derecha de la pantalla.
Descripción funcional del diseño de conversión de formato de video DisplayPort 8K Example
El sistema Platform Designer, udx10_dp.qsys, contiene la IP del protocolo de receptor y transmisor DisplayPort, la IP de canalización de video y los componentes del procesador Nios II. El diseño conecta el sistema Platform Designer con la lógica PHY del transmisor y receptor DisplayPort (que contiene los transceptores de interfaz) y la lógica de reconfiguración del transceptor en el nivel superior en un diseño Verilog HDL RTL file (superior.v). El diseño comprende una única ruta de procesamiento de video entre la entrada DisplayPort y la salida DisplayPort.
Figura 2. Diagrama de bloques
El diagrama muestra los bloques en el ejemplo de diseño de conversión de formato de video DisplayPort 8Kample. El diagrama no muestra algunos de los periféricos genéricos conectados al Nios II, el Avalon-MM entre el procesador Nios II y los demás componentes del sistema. El diseño acepta video de una fuente DisplayPort a la izquierda, procesa el video a través de la canalización de video de izquierda a derecha antes de pasar el video al receptor DisplayPort a la derecha.
DisplayPort Receptor PHY y DisplayPort Receptor IP
La tarjeta Bitec DisplayPort FMC proporciona un búfer para la señal DisplayPort 1.4 desde la fuente DisplayPort. La combinación de DisplayPort Receiver PHY y DisplayPort Receiver IP decodifica la señal entrante para crear una transmisión de video. El PHY del receptor DisplayPort contiene los transceptores para deserializar los datos entrantes y la IP del receptor DisplayPort decodifica el protocolo DisplayPort. La IP combinada del receptor DisplayPort procesa la señal DisplayPort entrante sin ningún software. La señal de video resultante de la IP del receptor DisplayPort es un formato de transmisión en paquetes nativo. El diseño configura el receptor DisplayPort para una salida de 10 bits.
DisplayPort a IP de video sincronizado
La salida de formato de datos de transmisión en paquetes por el receptor DisplayPort no es directamente compatible con el formato de datos de video sincronizado que espera la IP de entrada de video sincronizado. DisplayPort a IP de video con reloj es una IP personalizada para este diseño. Convierte la salida DisplayPort en un formato de video sincronizado compatible que puede conectar directamente a la entrada de video sincronizado. DisplayPort a Clocked Video IP puede modificar el estándar de señalización por cable y puede alterar el orden de los planos de color dentro de cada píxel. El estándar DisplayPort especifica un orden de colores que es diferente al orden IP de canalización de video de Intel. El procesador Nios II controla el cambio de color. Lee el espacio de color actual para la transmisión desde la IP del receptor DisplayPort con su interfaz esclava Avalon-MM. Dirige DisplayPort a Clocked Video IP para aplicar la corrección adecuada con su interfaz esclava Avalon-MM.
Entrada de video sincronizada
La entrada de video sincronizada procesa la señal de interfaz de video sincronizada de DisplayPort a IP de video sincronizada y la convierte al formato de señal de video Avalon-ST. Este formato de señal elimina toda la información de supresión horizontal y vertical del video, dejando solo los datos de la imagen activa. La IP lo empaqueta como un paquete por cuadro de video. También agrega paquetes de metadatos adicionales (denominados paquetes de control) que describen la resolución de cada cuadro de video. El flujo de video de Avalon-ST a través de la tubería de procesamiento es de cuatro píxeles en paralelo, con tres símbolos por píxel. La entrada de video cronometrada proporciona un cruce de reloj para la conversión de la señal de video cronometrada de velocidad variable desde la IP del receptor DisplayPort a la velocidad de reloj fija (300 MHz) para la canalización IP de video.
Limpiador de corrientes
El limpiador de flujo garantiza que la señal de video de Avalon-ST que pasa a la canalización de procesamiento no tenga errores. La conexión en caliente de la fuente DisplayPort puede hacer que el diseño presente cuadros de datos incompletos a la IP de entrada de video sincronizada y genere errores en la transmisión de video Avalon-ST resultante. El tamaño de los paquetes que contienen los datos de video para cada cuadro no coincide con el tamaño informado por los paquetes de control asociados. El limpiador de flujo detecta estas condiciones y agrega datos adicionales (píxeles grises) al final de los paquetes de video ofensivos para completar el cuadro y hacer coincidir la especificación en el paquete de control.
Resolución cromáticaampler (entrada)
Los datos de video que recibe el diseño en la entrada de DisplayPort pueden ser 4:4:4, 4:2:2 o 4:2:0 chroma sampcondujo. La resolución cromática de entradaampler toma el video entrante en cualquier formato y lo convierte a 4:4:4 en todos los casos. Para proporcionar una mayor calidad visual, la resolución de cromaampler utiliza el algoritmo filtrado más costoso desde el punto de vista computacional. El procesador Nios II lee los croma s actualesampling desde la IP del receptor DisplayPort a través de su interfaz esclava Avalon-MM. Comunica el formato a la resolución de croma.ampler a través de su interfaz esclava Avalon-MM.
Convertidor de espacio de color (entrada)
Los datos de video de entrada de DisplayPort pueden usar el espacio de color RGB o YCbCr. El convertidor de espacio de color de entrada toma el video entrante en cualquier formato que llegue y lo convierte a RGB en todos los casos. El procesador Nios II lee el espacio de color actual de la IP del receptor DisplayPort con su interfaz esclava Avalon-MM; carga los coeficientes de conversión correctos a la resolución de cromaampler a través de su interfaz esclava Avalon-MM.
Clíper
El clipper selecciona un área activa del flujo de video entrante y descarta el resto. El control de software que se ejecuta en el procesador Nios II define la región a seleccionar. La región depende de la resolución de los datos recibidos en la fuente DisplayPort y la resolución de salida y el modo de escala. El procesador comunica la región al Clipper a través de su interfaz esclava Avalon-MM.
Escalador
El diseño aplica escalado a los datos de video entrantes de acuerdo con la resolución de entrada recibida y la resolución de salida que necesita. También puede seleccionar entre tres modos de escala (upscale, downscale y passthrough). Dos IP escalares proporcionan la funcionalidad de escalado: uno implementa cualquier reducción de escala requerida; el otro implementa la mejora. El diseño requiere dos escaladores.
- Cuando el escalador implementa una reducción de escala, no produce datos válidos en cada ciclo de reloj en su salida. por ejemploampEs decir, si se implementa una relación de reducción de escala de 2x, la señal válida en la salida es alta cada dos ciclos de reloj mientras el diseño recibe cada línea de entrada con número par y luego baja para la totalidad de las líneas de entrada con número impar. Este comportamiento de ráfagas es fundamental para el proceso de reducción de la tasa de datos en la salida, pero es incompatible con la IP del mezclador descendente, que generalmente espera una tasa de datos más constante para evitar el subdesbordamiento en la salida. El diseño requiere el Frame Buffer entre cualquier downscale y mezclador. El Frame Buffer permite que el mezclador lea los datos a la velocidad que requiere.
- Cuando el escalador implementa un escalado superior, produce datos válidos en cada ciclo de reloj, por lo que el siguiente mezclador no tiene problemas. Sin embargo, es posible que no acepte nuevos datos de entrada en cada ciclo de reloj. Tomando un lujo 2x como exampes decir, en las líneas de salida pares, acepta un nuevo latido de datos cada dos ciclos de reloj, luego no acepta nuevos datos de entrada en las líneas de salida impares. Sin embargo, el Clipper ascendente puede producir datos a una velocidad completamente diferente si está aplicando un recorte significativo (por ejemplo, durante un acercamiento). Por lo tanto, un Clipper y un upscale generalmente deben estar separados por un Frame Buffer, lo que requiere que el Scaler se coloque después del Frame Buffer en la canalización. El Scaler debe sentarse antes del Frame Buffer para las escalas descendentes, por lo que el diseño implementa dos escaladores separados a cada lado del Frame Buffer: uno para la escala superior; el otro para downscale.
Dos escaladores también reducen el ancho de banda DDR4 máximo requerido por Frame Buffer. Siempre debe aplicar downscales antes del Frame Buffer, minimizando la tasa de datos en el lado de escritura. Aplique siempre escalas ascendentes después de Frame Buffer, lo que minimiza la tasa de datos en el lado de lectura. Cada Scaler obtiene la resolución de entrada requerida de los paquetes de control en el flujo de video entrante, mientras que el procesador Nios II con la interfaz esclava Avalon-MM establece la resolución de salida para cada Scaler.
Buffer de trama
El búfer de fotogramas utiliza la memoria DDR4 para realizar un búfer triple que permite que la canalización de procesamiento de imágenes y vídeo realice una conversión de frecuencia de fotogramas entre las frecuencias de fotogramas entrantes y salientes. El diseño puede aceptar cualquier velocidad de cuadro de entrada, pero la velocidad total de píxeles no debe exceder 1 giga píxeles por segundo. El software Nios II establece la velocidad de fotogramas de salida en 30 o 60 fps, según el modo de salida que seleccione. La velocidad de fotogramas de salida es una función de la configuración de salida de video sincronizado y el reloj de píxeles de video de salida. La contrapresión que la salida de video sincronizada aplica a la canalización determina la velocidad a la que el lado de lectura del búfer de cuadros extrae los cuadros de video de la DDR4.
Mezclador
El mezclador genera una imagen de fondo negro de tamaño fijo que el procesador Nios II programa para que coincida con el tamaño de la imagen de salida actual. El mezclador tiene dos entradas. La primera entrada se conecta al escalador para permitir que el diseño muestre la salida de la canalización de video actual. La segunda entrada se conecta al bloque generador de iconos. El diseño solo habilita la primera entrada del mezclador cuando detecta video activo y estable en la entrada de video sincronizada. Por lo tanto, el diseño mantiene una imagen de salida estable en la salida mientras se conecta en caliente en la entrada. El diseño alfa combina la segunda entrada al mezclador, conectado al generador de íconos, sobre las imágenes de fondo y de canal de video con un 50% de transparencia.
Convertidor de espacio de color (salida)
El convertidor de espacio de color de salida transforma los datos de video RGB de entrada en espacio de color RGB o YCbCr según la configuración de tiempo de ejecución del software.
Resolución cromáticaampler (salida)
La resolución cromática de salidaampler convierte el formato de 4:4:4 a uno de los formatos 4:4:4, 4:2:2 o 4:2:0. El software establece el formato. La resolución cromática de salidaampler también utiliza un algoritmo filtrado para lograr videos de alta calidad.
Salida de video sincronizada
La salida de video sincronizada convierte el flujo de video Avalon-ST al formato de video sincronizado. La salida de video sincronizada agrega información de tiempo de sincronización y supresión horizontal y vertical al video. El procesador Nios II programa las configuraciones relevantes en la salida de video cronometrada según la resolución de salida y la velocidad de fotogramas que solicite. La salida de video cronometrada convierte el reloj, cruzando desde el reloj de tubería fijo de 300 MHz a la velocidad variable del video cronometrado.
Video sincronizado a DisplayPort
El componente transmisor DisplayPort acepta datos formateados como video cronometrado. Las diferencias en la señalización de cables y la declaración de las interfaces de conducto en Platform Designer le impiden conectar la salida de video sincronizada directamente a la IP del transmisor DisplayPort. El componente Clocked Video to DisplayPort es una IP personalizada de diseño específico para proporcionar la conversión simple requerida entre la salida de Clocked Video y la IP del transmisor DisplayPort. También cambia el orden de los planos de color en cada píxel para tener en cuenta los diferentes estándares de formato de color utilizados por Avalon-ST Video y DisplayPort.
Transmisor DisplayPort IP y Transmisor DisplayPort PHY
La IP del transmisor DisplayPort y el PHY del transmisor DisplayPort trabajan juntos para convertir el flujo de video de video cronometrado a un flujo compatible con DisplayPort. La IP del transmisor DisplayPort maneja el protocolo DisplayPort y codifica los datos DisplayPort válidos, mientras que el PHY del transmisor DisplayPort contiene los transceptores y crea la salida serial de alta velocidad.
Procesador y periféricos Nios II
El sistema Platform Designer contiene un procesador Nios II, que administra las direcciones IP del transmisor y receptor DisplayPort y la configuración de tiempo de ejecución para la canalización de procesamiento. El procesador Nios II se conecta a estos periféricos básicos:
- Una memoria en chip para almacenar el programa y sus datos.
- AJTAG UART para mostrar la salida de impresión del software (a través de un terminal Nios II).
- Un temporizador del sistema para generar retrasos de nivel de milisegundos en varios puntos del software, según lo exige la especificación DisplayPort de duraciones mínimas de eventos.
- LED para mostrar el estado del sistema.
- Interruptores de botón para permitir el cambio entre los modos de escala y para habilitar y deshabilitar la visualización del logotipo de Intel.
- Interruptores DIP para permitir el cambio del formato de salida y para habilitar y deshabilitar la impresión de mensajes a una terminal Nios II.
Los eventos de conexión en caliente tanto en la fuente de DisplayPort como en el sumidero de incendios interrumpen que activan el procesador Nios II para configurar el transmisor y la tubería de DisplayPort correctamente. El ciclo principal en el código del software también monitorea esos valores en los botones pulsadores y los interruptores DIP y altera la configuración de la tubería en consecuencia.
Controladores I²C
El diseño contiene dos controladores I²C (Si5338 y PS8460) para editar la configuración de tres de los otros componentes del kit de desarrollo Intel Arria 10 10 GX FPGA. Dos generadores de reloj Si5338 en el kit de desarrollo Intel Arria 10 GX FPGA se conectan al mismo bus I²C. El primero genera el reloj de referencia para DDR4 EMIF. De manera predeterminada, este reloj está configurado a 100 MHz para usar con DDR1066 de 4 MHz, pero este diseño ejecuta DDR4 a 1200 MHz, lo que requiere un reloj de referencia de 150 MHz. Al arrancar, el procesador Nios II, a través del periférico controlador I²C, cambia la configuración en el mapa de registro del primer Si5338 para aumentar la velocidad del reloj de referencia DDR4 a 150 MHz. El segundo generador de reloj Si5338 genera el vid_clk para la interfaz de video con reloj entre la tubería y la IP del transmisor DisplayPort. Debe ajustar la velocidad de este reloj para cada resolución de salida y velocidad de fotogramas diferentes admitidas por el diseño. Puede ajustar la velocidad en tiempo de ejecución cuando el procesador Nios II lo requiera. La tarjeta secundaria Bitec DisplayPort 1.4 FMC utiliza el repetidor y retemporizador de limpieza de fluctuaciones Parade PS8460. Al inicio, el procesador Nios II edita la configuración predeterminada de este componente para cumplir con los requisitos del diseño.
Descripción del software
El diseño de conversión de formato de video DisplayPort 8K ExampEl archivo incluye IP de Intel Video and Image Processing Suite y la interfaz DisplayPort IP. Todas estas IP pueden procesar tramas de datos sin ninguna intervención adicional cuando se configuran correctamente. Debe implementar un control externo de alto nivel para configurar las IP para comenzar y cuando cambie el sistema, por ejemplo, eventos de conexión en caliente del receptor o transmisor DisplayPort o actividad del botón pulsador del usuario. En este diseño, un procesador Nios II, que ejecuta un software de control personalizado, proporciona el control de alto nivel. Al iniciar el software:
- Establece el reloj de referencia DDR4 a 150 MHz para permitir una velocidad DDR de 1200 MHz, luego restablece la IP de la interfaz de memoria externa para volver a calibrar en el nuevo reloj de referencia.
- Configura el repetidor y el retemporizador PS8460 DisplayPort.
- Inicializa las interfaces del receptor y el transmisor DisplayPort.
- Inicializa las direcciones IP de canalización de procesamiento.
Cuando se completa la inicialización, el software entra en un ciclo while continuo, verificando y reaccionando a una serie de eventos.
Cambios en el modo de escala
El diseño admite tres modos de escala básicos; passthrough, upscale y downscale. En el modo de transferencia, el diseño no escala el video de entrada, en el modo de escala superior, el diseño aumenta la escala del video de entrada y en el modo de escala descendente, el diseño reduce la escala del video de entrada.
Los cuatro bloques en la tubería de procesamiento; el Clipper, el downscaler, el upscaler y el Mixer determinan la presentación de la salida final en cada modo. El software controla la configuración de cada bloque según la resolución de entrada actual, la resolución de salida y el modo de escala que seleccione. En la mayoría de los casos, Clipper pasa la entrada sin cambios, y el tamaño de fondo del mezclador es del mismo tamaño que la versión final escalada del video de entrada. Sin embargo, si la resolución del video de entrada es mayor que el tamaño de salida, no es posible aplicar una mejora al video de entrada sin recortarlo primero. Si la resolución de entrada es menor que la de salida, el software no puede aplicar una reducción de escala sin aplicar una capa de fondo del mezclador que sea más grande que la capa de video de entrada, lo que agrega barras negras alrededor del video de salida.
Tabla 4. Tuberías de bloques de procesamiento
Esta tabla enumera la acción de los cuatro bloques de canalización de procesamiento en cada una de las nueve combinaciones de modo de escalado, resolución de entrada y resolución de salida.
Modo | adentro > afuera | adentro = afuera | dentro <fuera |
Paso a través | Clip al tamaño de salida Sin reducción de escala | Sin clip
Sin reducción de escala |
Sin clip
Sin reducción de escala |
continuado… |
Modo | adentro > afuera | adentro = afuera | dentro <fuera |
sin lujo
Sin borde negro |
sin lujo
Sin borde negro |
sin lujo
Almohadillas de borde negro al tamaño de salida |
|
De lujo | Clip a 2/3 del tamaño de salida Sin reducción de escala
Ampliar al tamaño de salida Sin borde negro |
Clip a 2/3 del tamaño de salida Sin reducción de escala
Ampliar al tamaño de salida Sin borde negro |
Sin clip
Sin reducción de escala Ampliar al tamaño de salida Sin borde negro |
Reducir la escala | Sin clip
Reducir escala al tamaño de salida No escalar Sin borde negro |
Sin clip
Reducir escala al tamaño de salida No escalar Sin borde negro |
Sin clip
Downscale a 2/3 del tamaño de entrada No upscale Almohadillas de borde negro al tamaño de salida |
Cambie entre modos presionando el botón de usuario 1. El software monitorea los valores en los botones en cada ejecución a través del bucle (hace un rebote de software) y configura las direcciones IP en la canalización de procesamiento de manera adecuada.
Cambios en la entrada de DisplayPort
En cada ejecución del ciclo, el software sondea el estado de la entrada de video sincronizada, en busca de cambios en la estabilidad del flujo de video de entrada. El software considera que el video es estable si:
- La entrada de video cronometrado informa que el video cronometrado se bloqueó correctamente.
- La resolución de entrada y el espacio de color no han cambiado desde la ejecución anterior del bucle.
Si la entrada era estable pero perdió el bloqueo o las propiedades de la transmisión de video cambiaron, el software detiene la Entrada de video sincronizada que envía video a través de la canalización. También configura el Mezclador para que deje de mostrar la capa de video de entrada. La salida permanece activa (mostrando una pantalla negra y el logotipo de Intel) durante cualquier evento de conexión en caliente del receptor o cambios de resolución.
Si la entrada no era estable pero ahora lo es, el software configura la canalización para mostrar la nueva resolución de entrada y el espacio de color, reinicia la salida del CVI y configura el mezclador para mostrar la capa de video de entrada nuevamente. La reactivación de la capa del mezclador no es inmediata, ya que es posible que el búfer de fotogramas aún esté repitiendo fotogramas antiguos de una entrada anterior y el diseño debe borrar estos fotogramas. Luego puede volver a habilitar la pantalla para evitar fallas. El búfer de cuadros mantiene un recuento de la cantidad de cuadros leídos de la DDR4, que el procesador Nios II puede leer. el softwareamparchiva este conteo cuando la entrada se estabiliza y vuelve a habilitar la capa Mixer cuando el conteo ha aumentado en cuatro fotogramas, lo que garantiza que el diseño elimine los fotogramas antiguos del búfer.
Transmisor DisplayPort Conexión en marcha Eventos
Los eventos de conexión en marcha en el transmisor DisplayPort disparan una interrupción dentro del software que establece un indicador para alertar al bucle principal del software de un cambio en la salida. Cuando el diseño detecta una conexión en caliente del transmisor, el software lee el EDID de la nueva pantalla para determinar qué resoluciones y espacios de color admite. Si configura los interruptores DIP en un modo que la nueva pantalla no puede admitir, el software vuelve a un modo de visualización menos exigente. Luego configura la canalización, la IP del transmisor DisplayPort y la parte Si5338 que genera el transmisor vid_clk para el nuevo modo de salida. Cuando la entrada ve cambios, la capa del mezclador para el video de entrada no se muestra mientras el software edita la configuración para la canalización. El software no vuelve a habilitar
la pantalla hasta después de cuatro fotogramas cuando la nueva configuración pasa a través del marco
buffer.
Cambios en la configuración del interruptor DIP del usuario
Las posiciones de los interruptores DIP de usuario 2 a 6 controlan el formato de salida (resolución, velocidad de cuadros, espacio de color y bits por color) que se transmite a través del transmisor DisplayPort. Cuando el software detecta cambios en estos interruptores DIP, ejecuta una secuencia que es prácticamente idéntica a la conexión en caliente de un transmisor. No necesita consultar el EDID del transmisor ya que no cambia.
Historial de revisiones para AN 889: Diseño de conversión de formato de video DisplayPort 8K Example
Tabla 5. Historial de revisiones para AN 889: Diseño de conversión de formato de video DisplayPort 8K Example
Versión del documento | Cambios |
2019.05.30 | Lanzamiento inicial. |
Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad u obligación que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la versión más reciente de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios.
*Otros nombres y marcas pueden ser reclamados como propiedad de terceros.
Documentos / Recursos
![]() |
intel AN 889 8K DisplayPort Diseño de conversión de formato de video Example [pdf] Guía del usuario AN 889 8K DisplayPort Diseño de conversión de formato de video Example, AN 889, 8K DisplayPort Diseño de conversión de formato de video Examparchivo, diseño de conversión de formato example, Conversión Diseño Example |