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.

Descripción

Título: Plataforma de adquisición de vídeo con salida HDMI sobre un SoPC con Linux embebido
Autor/es:
  • Cernuda García, Jaime
Director/es:
  • Otero Marnotes, José Andrés
  • Suriano, Leonardo
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Febrero 2018
Materias:
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (4MB) | Vista Previa

Resumen

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.

Más información

ID de Registro: 50389
Identificador DC: http://oa.upm.es/50389/
Identificador OAI: oai:oa.upm.es:50389
Depositado por: Biblioteca ETSI Industriales
Depositado el: 20 Abr 2018 17:32
Ultima Modificación: 20 Abr 2018 17:32
  • InvestigaM
  • GEO_UP4
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM