Alternativas de comunicación serie de alta velocidad en FPGAs

Vázquez Antolín, Francisco Javier (2016). Alternativas de comunicación serie de alta velocidad en FPGAs. Tesis (Master), E.T.S.I. Industriales (UPM).

Descripción

Título: Alternativas de comunicación serie de alta velocidad en FPGAs
Autor/es:
  • Vázquez Antolín, Francisco Javier
Director/es:
  • Torre Arnanz, Eduardo de la
  • Rodríguez Medina, Alfonso
Tipo de Documento: Tesis (Master)
Título del máster: Ingeniería Industrial
Fecha: Septiembre 2016
Materias:
Palabras Clave Informales: Comunicaciones Serie, FPGA, Aurora, Ethernet
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 (5MB) | Vista Previa

Resumen

El presente trabajo, con título “Alternativas de comunicación serie de Alta velocidad en FPGAs”, ha sido desarrollado en el centro de electrónica industrial (CEI) como continuación de la línea investigadora existente sobre sistemas embebidos reconfigurables. Se encuadra dentro del proyecto estatal de investigación “Sistemas electrónicos empotrados confiables para control de ciudades bajo situaciones atípicas” (REBECCA), el cual ahonda en las posibilidades que ofrecen las TIC para el desarrollo de sistemas complejos basados en plataformas de computación heterogénea y distribuidas para monitorizar, procesar y tomar decisiones, es decir, la implementación de una red de nodos con distintas capacidades de computación, desde elementos de lógica reducida, que permiten obtener información del entorno, intercambiarla eficientemente, procesarla de forma colaborativa y actuar ante los resultados de forma coherente, hasta a grandes nodos para el cómputo específico, entre las que podemos encontrar las GPUs. El desarrollo se centra en la implementación de varias alternativas de comunicaciones de muy alta velocidad entre dispositivos heterogéneos que integran una FPGA, sobre la que desarrollar las funciones de todas las capas del modelo de comunicaciones, haciendo especial énfasis en las relacionadas con los niveles más bajos de éste (físico y de enlace). Se han seleccionado las comunicaciones serie por los problemas que resuelven y las ventajas innatas a su funcionamiento (Reducción de ruido, número de pines empleados, emisiones electromagnéticas, coste y elevada tasa de transferencia de datos). Su uso obliga al análisis de todas las tecnologías y fenómenos físicos que rodean a la transferencia de datos a través de conexiones diferenciales. Entre ellas destacan la sincronización de reloj para corregir las diferencias entre osciladores, el pre-énfasis para combatir la atenuación variable en las conexiones, la unión de canales serie trabajando en paralelo, recuperación de reloj y datos de una única corriente de entrada, la conversión serie y paralelo de los datos y su codificación para que el envío no suponga grandes solicitaciones a la masa y alimentación del dispositivo. Estas tareas son realizadas por los Gigabit transceivers de Xilinx, en los que se basará el desarrollo. Sobre ellos se implementarán dos protocolos pertenecientes a la capa de enlace y que son muy diferentes entre sí, estando cada uno orientado a un tipo de comunicaciones y cubriendo una serie de tareas de mayor o menor solicitación. El primero de ellos, denominado Aurora, tiene como características principales su poca ocupación a nivel de recursos lógicos y su fácil escalabilidad. Aurora permite el movimiento de datos a través de conexiones punto a punto y proporciona un interfaz completamente transparente de la capa física de las comunicaciones. A pesar de su ligereza, Aurora ofrece una baja latencia, un gran ancho de banda y una gran cantidad de características configurables, lo que unido a un coste nulo de utilización lo convierte en ideal para multitud de aplicaciones. Como alternativa, se ha seleccionado el protocolo Ethernet, cuya compatibilidad con multitud de dispositivos globalmente distribuidos y la implementación de capas superiores basadas en él permite comunicaciones a muy larga distancia con direccionamiento de los mensajes. De esta forma cubrirá el tipo de comunicaciones no abarcadas por el protocolo Aurora, aquellas entre dispositivos no conectados directamente, aunque soportando una velocidad menor en las transacciones. Este protocolo engloba, al igual que Aurora, las capas físicas y de enlace, aunque implementa más lógica que el anterior y está recogido en el estándar IEEE 802.3, usando el método de acceso al medio denominado CSMA/CD y trabajando con comunicaciones de conexión física. Para la consecución de ambos protocolos se ha hecho uso del software de desarrollo de Xilinx, denominado Vivado, basado en el enfoque platform-based design, por el que la implementación física es transparente para el diseñador. Se han empleado para tal efecto dos placas de desarrollo (KC705 y Zynq MMP). El diseño con el protocolo Aurora con codificación 64b/66b integra el bloque de igual nombre, el cual está conectado con el exterior de la FPGA mediante conectores SMA y cable coaxial. Este bloque recibe y envía los datos a un bloque de Acceso directo a memoria (DMA), el cual, a su vez, está conectado con la memoria externa DDR3, de donde obtiene y almacena los datos. El DMA opera de forma independiente en las transacciones de memoria, pero recibe las órdenes de comienzo del Microblaze, procesador soft-core integrado en la lógica de propósito general de la FPGA. Todas las uniones entre bloques se realizan mediante interconexiones AXI. Se muestra el esquema implementado, presentando pequeñas modificaciones en el caso de la Zynq MMP. La arquitectura empleada con el protocolo Ethernet es semejante a la mostrada para Aurora, pero integra un bloque Ethernet MAC en lugar del de Aurora 64b/66b y una FIFO Stream para la transacción de los datos con memoria en lugar del DMA anterior. Las diferencias entre ambas concepciones en cuanto a hardware son evidentes, al igual que lo son los protocolos que las acompañan. Aurora permite una altísima velocidad, en el límite alcanzable con la frecuencia de los relojes de referencia de 125MHz, es decir, 6.25 Gb/s. Ethernet supone un uso mucho más intensivo de los recursos, enfocados a incluir un protocolo más estandarizado, con direccionamiento de los paquetes y confirmación de su recepción. De esta forma se compensa la menor velocidad con la flexibilidad que otorga el diseño, permitiendo la ejecución de la biblioteca lwIP, que implementa el stack TCP/IP, que permite comunicaciones punto a punto con cualquier máquina que esté en internet. Ambas concepciones presentan ventajas e inconvenientes, estando pensadas cada una de ellas para un uso completamente distinto, una para comunicaciones punto a punto, permitiendo una integración muy alta de los dispositivos y la otra como base para comunicaciones de larga distancia y entre centros de procesamiento distribuidos. La utilización de recursos es también un punto claramente diferenciador, sobre todo cuando tenemos en cuenta arquitecturas masivas con varios canales de comunicación, siendo Aurora un protocolo mucho más ligero y escalable. Se aprecia la diferencia entre ambos bloques, no teniendo en cuenta el resto del hardware asociado. Vemos como esta diferencia es más grande conforme aumenta el número de transceivers incluidos. Además de la comparación de arquitecturas, entendiendo éstas como el hardware necesario para la comunicación con ambos protocolos, se ha analizado de forma más intensiva la transferencia de datos con el protocolo menos estandarizado (Aurora), tanto a nivel físico como de transacción de datos dentro de la FPGA, relacionando de esta forma la teoría aprendida y su representación física. Se ha conseguido alcanzar velocidades de transferencia muy elevadas (6.2 Gb/s), que han estado limitadas por los osciladores de bajo jitter disponibles en las placas (125MHz) con una tasa de errores nula, validando por lo tanto la capa física y de enlace de las comunicaciones, capas que serán la base para la creación de un protocolo de comunicaciones ad-hoc capaz de gestionar las transacciones y las operaciones de datos íntegramente con funciones hardware.

Más información

ID de Registro: 44640
Identificador DC: http://oa.upm.es/44640/
Identificador OAI: oai:oa.upm.es:44640
Depositado por: Biblioteca ETSI Industriales
Depositado el: 13 Feb 2017 07:57
Ultima Modificación: 13 Feb 2017 08:03
  • 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
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM