Plataforma de adquisición de vídeo con salida HDMI sobre un SoPC con Linux embebido

Cernuda García, Jaime (2018). Plataforma de adquisición de vídeo con salida HDMI sobre un SoPC con Linux embebido. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM), Madrid.

Description

Title: Plataforma de adquisición de vídeo con salida HDMI sobre un SoPC con Linux embebido
Author/s:
  • Cernuda García, Jaime
Contributor/s:
Item Type: Final Project
Degree: Grado en Ingeniería en Tecnologías Industriales
Date: February 2018
Subjects:
Faculty: E.T.S.I. Industriales (UPM)
Department: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of TFG_JAIME_CERNUDA_GARCIA.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) | Preview

Abstract

El actual trabajo de fin de grado aborda el diseño, desarrollo y testeo de un sistema de captura simultanea de imágenes desde múltiples cámaras, con salida HDMI, sobre un SoPC ("System on Programmable Chip") con Linux embebido. Su objetivo final es que sirva como base para el desarrollo de futuros trabajos de captación y procesado de entornos 3D mediante visión estereoscópica. El trabajo ha sido realizado en el Centro de Electrónica Industrial de la Escuela Técnica Superior de Ingenieros Industriales de la Universidad Politécnica de Madrid. Este centro dispone de una gran experiencia previa en el desarrollo de proyectos de hardware con la tecnología de FPGAs en general, y de SoPCs en particular. El trabajo surge en un contexto de gran auge de la visión por ordenador y el desarrollo de sistemas sobre sobre hardware reconfigurable (FPGAs). Tradicionalmente, los algoritmos de visión por computador, de gran complejidad computacional y por lo tanto necesitados de una gran potencia de cómputo, han sido desarrollados mediante soluciones basadas puramente en software. Sin embargo, la demanda creciente de proyectos basados en visión por ordenador que necesitan plataformas de desarrollo más rápidas y robustas, ha llevado a este campo a buscar soluciones basadas en hardware, y en nuestro caso, en la tecnología SoPC de Xilinx. La tecnología SoPC Zynq única lo mejor del software y el hardware, proveyendo de un microprocesador conectado a una FPGA, permitiendo desarrollar el control de la aplicación en software, de menor requerimiento técnico y precio, y que este software interactue con el hardware para el procesamiento de las partes criticas del proyecto. La implementación que se ha usado de la tecnología SoPC Zynq en este proyecto es la PYNQ-Z1 de Diligent. La placa PYNQ-Z1 esta basada en el chip ZYNQ XC7Z020-1CLG400C de Xilinx, que contiene un procesador Cortex-A9 de doble nucleo y una FPGA de la familia Artix-7 junto con el sistema de comunicación entre ambos, la conexión a periféricos y memoria RAM. El proyecto queda claramente dividido en dos segmentos, el desarrollo de software y el desarrollo de hardware. Esta división queda en linea con la metodología de trabajo propia de los dispositivos SoPC, donde un equipo de ingenieros especializados en hardware trabaja a la par con ingenieros especializados en software. A nivel de software, el proyecto consta de dos programas: El primero de ellos, es el encargado de controlar y configurar las dos cámaras ethernet conectadas a la placa y de recibir y preparar el vídeo recibido por ellas. Para ello, haría uso de las librerías proveídas por los desarrolladores de las cámaras. Y acabaría dejando los frames de vídeo de cada cámara en un frambuer, una colección de posiciones de memoria donde se almacenan en serie un número de frames de vídeo. El segundo programa, es el encargado de funcionar como interfaz entre los framebuers, situados en la memoria del microprocesador y la FPGA. Para ello, actuara como un driver (del "user-space", no del "kernel-space") y haría uso de las librerías propias de Linux que permiten interactuar con el microprocesador a bajo nivel. Además de esto, sería el encargado de configurar e inicializar el hardware y controlarlo a lo largo del proceso. A nivel de hardware, el sistema desarrollado lee la información proveída por el driver y la envía al hardware mediante el protocolo AXI, un protocolo de bus de comunicaciones estándar desarrollado por ARM y ampliamente usado en los SoPC de Xilinx. El uso de este protocolo permite que cualquier implementación de hardware desarrollado en el futuro pueda ser conectado a continuación de la lectura de datos y por lo tanto, disponga de acceso completo a los frames de vídeo. Adicionalmente, ha sido desarrollado un convertidor y controlador de señales HDMI. Este controlador permite enviar la información procesada por el hardware directamente a cualquier dispositivo compatible con HDMI, ya que ha sido desarrollado para que pueda adaptarse dinámicamente en resolución al dispositivo deseado. Tras la finalización del proyecto, se ha llegado a alcanzar el completo desarrollo y testeo tanto del hardware como de la primera aplicación de software. Sin embargo, el desarrollo del driver resultó más arduo de lo esperado y aunque se completo su desarrollo, las limitaciones temporales del proyecto han impedido su testeo y la implementación final de su interacción con los otros dos elementos del proyecto. Respecto al futuro del proyecto se ofrecerá la posibilidad a otros alumnos desarrollando su TFG, de desarrollar bloques de hardware especializados en el tratamiento de imágenes los cuales, se comuniquen mediante el protocolo AXI y por lo tanto, puedan ser integrados facilmente en el proyecto. Se dispone así, de una interfaz común a todos los proyectos otorgándoles la opción de visualizar sus resultados en un monitor y evitando que sea necesario el desarrollo desde cero del sistema de comunicación con las cámaras.

More information

Item ID: 50389
DC Identifier: https://oa.upm.es/50389/
OAI Identifier: oai:oa.upm.es:50389
Deposited by: Biblioteca ETSI Industriales
Deposited on: 20 Apr 2018 17:32
Last Modified: 13 Dec 2022 11:49
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM