FPGA captura la salida de decodificación del modo base de la cámara CameraLink, con código fuente de ingeniería y soporte técnico

1. Introducción

Actualmente, existen dos esquemas para que FPGA implemente el códec de video CameraLink:
uno es usar un chip de códec dedicado, como un DS90CR287 típico, el otro es usar FPGA para implementar el códec y usar recursos de serdes de FPGA para lograr la deserialización. y serdes recursos son innecesarios La desventaja es que la operación es más difícil y requiere un mayor nivel de FPGA.

Este artículo describe en detalle el esquema de diseño de implementación para que la FPGA capture la salida de decodificación del modo base de la cámara CameraLink. La idea es que la cámara CameraLink se ingrese a la placa FPGA, y la FPGA utiliza recursos lógicos internos para implementar la decodificación de video LVDS. y analice el reloj de píxeles, la señal de sincronización de línea y la sincronización de campo.Señal, señal efectiva de datos y datos de píxeles, y luego convierta el video a la transmisión de video AXI4-Sream de Xilinx, envíelo a la memoria caché DDR3 a través de VDMA, luego lea saca el video y luego envía el video a través de la interfaz HDMI a través de AXI4-Sream a Video Out
. Esta es una rutina comúnmente utilizada para el procesamiento de imágenes de Xilinx, y puede describirse como una solución muy delicada, eh, eh. . .

Después de compilar y aprobar el código de ingeniería, se puede depurar y verificar en la placa, y el proyecto se puede trasplantar directamente.Es adecuado para que los estudiantes en la escuela realicen diseños de graduación, desarrollo de proyectos de posgrado y también para ingenieros en servicio. para hacer el desarrollo del proyecto. Se puede aplicar a imágenes digitales e imágenes en industrias médicas, militares y otras. Campo de transmisión;
proporcionar código fuente del proyecto completo y sin problemas y soporte técnico;
el método para obtener el código fuente del proyecto y el soporte técnico está al final del artículo, tenga paciencia para leer el final;

2. Conceptos básicos del protocolo CameraLink

Con respecto a esta parte, muchos blogueros en Internet lo han explicado, encontré algunos artículos para recomendar hermanos para aprender conocimientos teóricos: el
primer enlace: haga clic para ir directamente al
segundo enlace, que es lo que escribí antes: haga clic para ir directamente

3. Actualmente tengo el proyecto del transceptor CameraLink

Mi columna de video CameraLink tiene muchas soluciones de códec de video CaeraLink para FPGA, incluida la recepción de CaeraLink, el envío de CaeraLink, la pantalla de salida ordinaria de CaeraLink y la salida de empalme de video de CaeraLink, etc. El enlace de la columna es el siguiente: Bienvenido a ver: haga clic para ir directamente

4. Plano de diseño

El esquema de diseño detallado es el siguiente:
inserte la descripción de la imagen aquí

Cámara de entrada CameraLink

El modelo de cámara CameraLink es la cámara CameraLink a color RS-A5241-CC107-S00 de Beijing Microvision. La cámara se puede configurar como modo base o modo completo a través del puerto serie. Este proyecto utiliza el modo base; la resolución es de fotograma completo 2560 2048 , La velocidad de fotogramas puede llegar a 107 fps, la configuración del proyecto es 1280 1024;

Decodificación de vídeo LVDS

El diagrama de bloques de diseño del módulo de decodificación de video LVDS es el siguiente:
inserte la descripción de la imagen aquí
cuando el módulo de decodificación de CameraLink está en modo Base, las señales de entrada son las siguientes:
1 canal de reloj diferencial, 4 canales de datos diferenciales; use la fuente oficial IDELAY e ISERDES de Xilinx idiomas para realizar la conversión de serie a paralelo;
el idioma de origen de IDELAY se utiliza para retrasar, de modo que los datos de video de CameraLink sean estables durante el muestreo de FPGA;
la función del idioma de origen de ISERDES es realizar la conversión de serie a paralelo de CameraLink datos de video;
todo el módulo de decodificación de CameraLink se implementa estrictamente de acuerdo con el diagrama de bloques de diseño, llamando principalmente al idioma de origen, por lo que no hay nada Hablando de eso, mire el código específicamente, la cantidad de código es muy pequeña; la configuración de parámetros
de el módulo de decodificación de CameraLink es el siguiente:
inserte la descripción de la imagen aquí
estos dos parámetros se pueden configurar libremente para adaptarse a diferentes modos de la cámara CameraLink; la configuración específica es la siguiente:
inserte la descripción de la imagen aquí

caché de vídeo

El video decodificado se convierte a la transmisión de video AXI4-Sream de Xilinx, que se envía al búfer DDR3 a través de VDMA, y luego el video se lee y luego se envía a través de la interfaz HDMI a través de AXI4-Sream a Video Out, que es una rutina común. para el procesamiento de imágenes de Xilinx; toda la arquitectura de caché de video se centra en VDMA, todo lo cual se realiza llamando a la IP de Xilixn y solo se puede usar configurando la IP. La configuración aquí incluye no solo la configuración de la interfaz de la interfaz de usuario, sino también la configuración del software. El núcleo suave de MicroBlaze ejecuta el SDK para configurar estas direcciones IP;

salida de vídeo

La IP de Video Mixer se llama aquí porque la configuración de la cámara CameraLink es 1280 1024 y la resolución de salida es 1920 1080, así que use Video Mixer para hacer un fondo negro de 1920 1080 y luego superponga el video de la cámara de 1280 1024
La llamada AXI4-Sream a salida de video emite sincronización VGA y un chip sil9022 integrado completa la conversión de VGA a TMDS y finalmente la muestra en el monitor de salida de la interfaz HDMI;

configuración de software

Así que llame al núcleo suave de MicroBlaze para ejecutar el SDK para configurar estas direcciones IP, configure la cámara CameraLink, configure el chip sil9022 y complete la interacción hombre-computadora con la computadora superior; llame a un AXI-UART para completar la interacción hombre-computadora
con la computadora superior, es decir, la computadora superior a través del puerto serie El asistente de depuración envía instrucciones al programa;
llame a un AXI-UART para completar la configuración de la cámara CameraLink, la configuración de este proyecto es de resolución 1280 * 1024, modo base ;
llame a un AXI-IIC para completar la configuración del chip sil9022;

5. Explicación detallada del proyecto vivado

Placa de desarrollo FPGA modelo: xc7k325tffg676-2;
entorno de desarrollo: vivado2019.1;
entrada: cámara CameraLink; modo base; resolución 1280 1024;
salida: HDMI,
resolución 1920 1080;

El diseño de Bolck Design es el siguiente:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
La estructura del código de ingeniería integrada es la siguiente:
inserte la descripción de la imagen aquí
El consumo estimado de recursos de FPGA y el consumo de energía después de la compilación completa es el siguiente:
inserte la descripción de la imagen aquí
La estructura del programa de software SDK es la siguiente:
inserte la descripción de la imagen aquí

6. Depuración y verificación de la placa

Dado que la placa adaptadora CamerLink es un inconveniente para salir del país, solo se muestran la placa FPGA y la interfaz correspondiente de la placa adaptadora CamerLink, de la siguiente manera: El proceso de
inserte la descripción de la imagen aquí
uso y configuración del proyecto es relativamente complicado, y siento que hay demasiados pasos para escribir aquí, así que escribí un artículo especial sobre cómo usarlo. La documentación del manual de puesta en marcha se encuentra en el paquete de datos, y la ruta es la siguiente: ¡Atención
inserte la descripción de la imagen aquí
! ! !
¡Aviso! ! !
¡Aviso! ! !
Después de descargar este proyecto, coloque el archivo en una carpeta con la ruta más corta, ya que la ruta es demasiado larga y puede causar fallas en la compilación del proyecto; además, este proyecto ha probado el núcleo IP de HLS, actualice el archivo de parche oficial antes de compilar, de lo contrario se informará un error durante la síntesis. Los métodos de descarga y actualización del archivo para actualizar el archivo de parche oficial están escritos en el documento anterior, recuerde leerlo cuidadosamente; el efecto de salida es el siguiente
:
inserte la descripción de la imagen aquí

7. Bienestar: adquisición del código de ingeniería

Beneficios: Obtención del código de ingeniería
El código es demasiado grande para enviarlo por correo electrónico y se envía por un enlace de disco de red determinado
Método de adquisición de datos 1: privado o la tarjeta de presentación V al final del artículo.
La información del disco de red es la siguiente:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_41667729/article/details/130849395
Recomendado
Clasificación