UNIVERSIDAD DE GUADALAJARA



Documentos relacionados
Sistema de Control Domótico

GUÍA DOCENTE. Sistemas Integrados

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

Laboratorio de Diseño de Sistemas Digitales

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

DISEÑO DE UN PLC DOMÉSTICO UTILIZANDO UN MICROCONTROLADOR PIC-18F4550

Análisis de un sistema Dual-Tone Multi-Frequency (DTMF)

El tamaño, estructura, número de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas.

NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg

OPT. Núcleo Básico. Núcleo de Formación. Optativa. Nombre de la universidad. Universidad Politécnica de Pachuca. Nombre del programa educativo

DISEÑO DE UN CRONOTERMOSTATO PARA CALEFACCIÓN SOBRE TELÉFONOS MÓVILES. Entidad Colaboradora: ICAI Universidad Pontificia Comillas.

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs

Wireless Sensor Network in a nuclear facility: A technology aplication proposal

UNIVERSIDAD DE ANTIOQUIA DISEÑO DE SISTEMAS DIGITALES COMPLEJOS LABORATORIO 1 INTRODUCCIÓN AL MICROBLAZE Y AL ENTORNO EDK

UNIVERSIDAD DE LAS AMERICAS Facultad de ingeniería

Facultad de Ingeniería ISSN: Universidad Pedagógica y Tecnológica de Colombia. Colombia

Encuesta sobre utilización de la microelectrónica en la Argentina

MAXHC11. TARJETA DE BAJO COSTE PARA EL DISEÑO MIXTO HARDWARE-SOFTWARE

Tipos de Dispositivos Controladores

Diseño de Hardware con VHDL

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL CENTRO DE INVESTIGACIÓN CIENTÍFICA Y TECNOLÓGICA

DISEÑO, IMPLEMENTACIÓN Y VERIFICACIÓN DE UN SISTEMA DE HARDWARE RECONFIGURABLE PARA APLICACIONES DE CONTROL.

DATALOGGER USANDO NIOS II

En cuanto al diseño Hardware, a parte de la síntesis de circuitos en VHDL ( Very High

Este proyecto tiene como finalidad la creación de una aplicación para la gestión y explotación de los teléfonos de los empleados de una gran compañía.

Introducción a las FPGA

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) JAVACORES

Licenciatura en CONTADURIA. Tema: APLICACIÓN GENERAL DEL CPM

UNIVERSIDAD DE OVIEDO

Implementación de MicroBlaze para Robótica Móvil

INSTITUTO TECNOLÓGICO DE SALINA CRUZ Redes de Computadora Semestre enero junio 2015 Reporte de prácticas

Introducción a FPGAs. Contenido

Sistema de Reconocimiento de Iris Implementado en un Procesador Digital de Señales

Sistema de gestión de datos GESTSOFT

HERRAMIENTA WEB PARA LA ELABORACIÓN DE TEST BAJO LA ESPECIFICACIÓN IMS-QTI

INSTITUTO DE ELECTRÓNICA Y COMPUTACIÓN

Implementación Hardware del Estandar de Encriptación Avanzado (AES) en una FPGA

2.5 Proceso de formación de los biofilms Fase de adhesión Fase de crecimiento Fase de separación

Capítulo 5. Cliente-Servidor.

Guía del usuario de KIP sobre el estado de la impresora Instalación y guía del usuario de KIP sobre el estado de la impresora

Field Programmable Gate Array

Implementación de Servidor XS para despliegue de Proyecto OLPC en Escuelas del Perú

Metodologías de diseño de hardware

JESÚS EDUARDO CORTÉS SÁNCHEZ

SISTEMA DE ADQUISICIÓN DE DATOS BASADO EN UN MICROCONTROLADOR COMO SERVIDOR WEB

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó

Partes, módulos y aplicaciones de un Controlador de Procesos

SISTEMA DE GESTIÓN DE RECIBOS

APLICATIVO WEB PARA LA ADMINISTRACIÓN DE LABORATORIOS Y SEGUIMIENTO DOCENTE EN UNISARC JUAN DAVID LÓPEZ MORALES

DISEÑO Y DESARROLLO DE UN SISTEMA PARA MATRÍCULAS Y CALIFICACIONES DEL COLEGIO SAINT GEORGE DE PEREIRA

Diseño e Implementación de Web Server para telemetría de datos en procesos industriales por medio de protocolos TCP/IP y GPRS

TARJETA DE DESARROLLO CPLD

XVI. óptimo de las capacidades de cada circuito.

3.3.3 Tecnologías Mercados Datos

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. Introducción. Fabricantes. Elevada complejidad. Facilitar tareas de diseño

CAPITULO III MARCO METODOLÓGICO. La presente investigación plantea como objetivo el diseño de un prototipo

SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE CONTROL DE ICAI

Laboratorio Nacional de Cómputo de Alto Desempeño: Fortalecimiento de la Infraestructura 2015

1.- DATOS DE LA ASIGNATURA. Diseño Digital Avanzado con FPGAs. Nombre de la asignatura: Carrera: Ingeniería Electrónica. Clave de la asignatura:

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Capítulo 5 Programación del algoritmo en LabVIEW

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control

Contents. Introduction. Aims. Software architecture. Tools. Example

Título del Proyecto: Sistema Web de gestión de facturas electrónicas.

Agustiniano Ciudad Salitre School Computer Science Support Guide Second grade First term

PROGRAMA DE ESTUDIO. señales Programas académicos en los que se imparte: Ingeniería Eléctrica-Electrónica

DISEÑO Y CONSTRUCCIÓN DE UN PROGRAMADOR DE MICROCONTROLADORES PIC Y ATMEL MEDIANTE EL PUERTO USB DEL PC

Sistema de Experimentación Virtual y Prototipado para realizar

TABLA DE CONTENIDOS. Dedicatoria. Agradecimientos. Tabla de Contenidos. Índice de Figuras. Índice de Tablas. Resumen. Abstract

SISTEMA DE MONITOREO PARA LA MEDICIÓN REMOTA DE PRESIÓN USANDO PIC-WEB

CAPÍTULO 1 Instrumentación Virtual

SEO Lite. Extract the file SEO.zip in the modules folder, so that module files are inside /moules/ seo/.

Capítulo 1. Introducción

DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO:

Guía de Usuario Programador USB

PHOENIX OVIPOSITOR. Introducción...2 Capacidades / Posibilidades / Ventajas...3 Expansiones / Características técnicas...4

Servidores Donantonio

Curso Online de Microsoft Project

UNIVERSIDAD DE GUAYAQUIL

General Parallel File System

MODELO DE PLAN PRELIMINAR DE VALIDACIÓN Y VERIFICACIÓN PARA EL SISTEMA DE PROTECCIÓN DEL REACTOR CAREM

Simulación 4D en el Control de Sistemas Mecatrónicos

En el presente capítulo se describe la programación del instrumento virtual y cómo

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

LUIS GERARDO RUIZ AGUDELO

Christian Bolívar Moya Calderón

Informe final Proyecto de Innovación Docente ID11/129. Uso de FPGAs y medios audiovisuales en la docencia de la Electrónica Digital

Elegir el router genérico Router-RT.

Curso Completo de Electrónica Digital

CAPÍTULO 7 7. CONCLUSIONES

Ejemplo para usuario Conexión TCP con Modem M95 Quectel REV. 1.0

Implementación de la transformada wavelet discreta para imágenes en un FPGA

LÓGICA PROGRAMABLE. Introducción Simple PLDs Complex PLDs FPGAs. Dpto. Ingeniería Electrónica y Comunicaciones

Tema 11: Instrumentación virtual

Configuración rápida de equipos Cellocator

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Transcripción:

UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS MAESTRÍA EN CIENCIAS EN INGENIERÍA ELECTRÓNICA Y COMPUTACIÓN Tesis desarrollada por: Ing. Walter Alejandro Mayorga Macias En cumplimiento de los requisitos para la obtención del grado de Maestro en Ciencias en Ingeniería Electrónica y Computación Título de tesis: Implementación en hardware de un sistema autoprogramable de multipropósito con dispositivos reconfigurables Director de tesis: Dr. Juan José Raygoza Panduro Co-Director de tesis: Dra. Susana Ortega Cisneros Guadalajara, Jalisco; México. 2014

III RESUMEN Implementación en hardware de un sistema autoprogramable de multipropósito con dispositivos reconfigurables El presente trabajo consta del diseño e implementación de una tarjeta de evaluación con dispositivos reconfigurables FPGA de la familia SPARTAN-3E de Xilinx. Entre sus características más peculiares resaltan su tamaño reducido, gran disponibilidad de pinouts, portabilidad, autoconfiguración, facilidad de fabricación, entre otras. Se ha decidido realizar este proyecto ya que en el mercado se encuentran dispositivos similares pero a un alto costo, con dimensiones muy amplias, de requerimientos costosos para su programación y completamente ligados a las herramientas que poseen los proveedores de este tipo de tecnologías. De tal manera, el diseño que es presentado cuenta con grandes ventajas, dentro de las que destaca su propiedad de autoconfiguración gracias a un intérprete de comandos que ayudan al dispositivo a programarse a sí mismo por medio de un procesador de instrucciones y una memoria contenedora de comandos. Ambos dispositivos interactúan entre sí para después intercomunicarse al dispositivo FPGA y con ello configurar las tareas deseadas. En la tesis se aborda el desarrollo del diseño e implementación de la tarjeta de evaluación con el FPGA y la incorporación de un microcontrolador. El proyecto se construyó con un circuito impreso de 2 capas, de fácil acceso y fabricación. Por tal motivo, la tarjeta de desarrollo es un ejemplo práctico y pedagógico gracias a la disminución de costos, su portabilidad y fácil manejo de la misma. Algunas familias de FPGAs de la compañía Xilinx permiten la Programación Dentro de Sistema como una opción para configurar estos dispositivos, y en estas alternativas se encuentra el estándar IEEE 1149.1, mejor conocido como Grupo de Acción de Pruebas Conjuntas (JTAG), el cual permite hacer pruebas de los diseños en VHDL así como la Universidad de Guadalajara Resumen

IV programación de los mismos. Para realizar tal implementación es necesario el uso de un procesador el cual interprete las acciones de control que configuran al dispositivo reconfigurable. Es por ello que se hace uso de un microcontrolador para interpretar el Formato Vectorial Serial de Xilinx (XSVF). Dicho formato es generado a través de la herramienta ISE de Xilinx mediante la aplicación impact, la cual le genera al usuario un archivo con formato.bit. Este tipo de formato no es lo suficientemente portable para ser implementado en un sistema embebido, por lo cual se hace la exportación del mismo al formato XSVF para tener un archivo de menor densidad capaz de ser almacenado en una memoria tipo EPROM. El microcontrolador (ahora intérprete XSVF) es el encargado de realizar las operaciones pertinentes conforme a la lectura de estas sentencias y a los tiempos establecidos para el estándar JTAG. Una vez que el FPGA está configurado este inicia las operaciones de control para un quadcopter no tripulado usando los valores obtenidos desde sensores de giroscopio, acelerómetro, y magnetómetro, todo ello mediante una interfaz gráfica de control en Matlab en la cual es posible cambiar los parámetros de velocidad de los motores así como los movimientos del quadcopter (roll, pitch, y yaw). Y del mismo modo es posible monitorear el estado de los ángulos gracias a la retroalimentación de los sensores. La interfaz gráfica en Palabras Clave: FPGA (Field Programable Gate Array). XSVF (Xilinx Vector Serial Format). Quadcopter. Universidad de Guadalajara Resumen

V ABSTRACT Hardware implementation of a multipurpose auto programmable system with reconfigurable devices The present work consists of the design and implementation of an evaluation board with reconfigurable devices FPGA from the Xilinx s SPARTAN-3E family. Within its most peculiar features highlights its reduced size, high availability of pin-out, portability, auto configuration, easy to manufacture, and others. The project is being developed because market offers similar devices but at high prices, with very wide dimensions, expensive requirements for programming and completely linked to supplier s software tools. Thus, the shown design has great advantage, within which highlights his auto configuration property through a command interpreter and a command memory container. Both devices interact between each and then the interpreter intercommunicates to the FPGA to configure the desired tasks. The thesis addresses the development of design and implementation of the evaluation board with the FPGA and the incorporation of a microcontroller. The project was manufactured with a 2 layers printed circuit board with easy access and without complicated fabrication. Because of this, the circuit board is a practical and pedagogical example such to the cost decrease, the portability and easy handling. Some families of Xilinx s FPGAs allow the In System Programming as an option to configure this devices and the IEEE 1149.1 standard, best known as Joint Test Action Group (JTAG), is an alternative that allows the test of the VHDL designs and also the programming. To use this feature a processor is needed to interpret the control actions that configure the reconfigurable device. Because of this, a microcontroller is used to interpret the Xilinx Serial Vector Format (XSVF). That format is generated by the ISE Xilinx tool using Impact which generates a.bit format. This type of format is not sufficiently portable to be implemented in an embedded system so the exportation to the Universidad de Guadalajara Abstract

VI XSVF format is needed to obtain a lower density file that can be stored in an EPROM memory. The microcontroller (now called XSVF interpreter) is the one in charge to realize the pertinent operations according to the reading statements and also the timings established for the JTAG standard. Once the FPGA is configured it starts the control operations for an unmanned quadcopter using the values from a gyroscope, accelerometer, and magnetometer sensor which are monitored using a graphical control interface in Matlab. The control interface can change the speed parameter of the motors and que quadcopter movements (roll, pitch, and yaw). Keywords: FPGA (Field Programmable Gate Array). XSVF (Xilinx Vector Serial Format). Quadcopter. Universidad de Guadalajara Abstract

VII ÍNDICE Agradecimientos... I Resumen... III Abstract... V Índice... VII Lista de Figuras... XI Lista de Tablas... XV I Introducción... 17 I.1 Antecedentes... 17 I.1.1 Arreglos de Compuertas Programables en Campo (FPGA)... 17 I.1.2 ISP para dispositivos reconfigurables... 18 I.2 Justificación... 20 I.3 Planteamiento del problema... 20 I.4 Objetivos... 21 I.4.1 Objetivo general... 21 I.4.2 Objetivos particulares... 21 I.5 Hipótesis... 22 I.6 Metodología... 22 II Antecedentes sobre Diseño de Tarjetas con FPGAs y Quadcopters... 25 II.1 Diseño de tarjetas con FPGAs... 25 II.2 Quadcopters... 29 II.2.1 Antecedentes... 30 II.2.2 Cinemática... 35 II.2.3 Lógica difusa aplicada en quadcopters... 40 III Diseño de la tarjeta de evaluación con SPARTAN-3E... 45 III.1 Diagramas esquemáticos... 45 III.1.1 Fuentes de alimentación... 46 III.1.2 Frecuencia del sistema y modos de operación... 48 Universidad de Guadalajara Índice

VIII III.1.3 Interface serial... 48 III.1.4 Memoria de configuración... 50 III.1.5 Barra de leds... 51 III.1.6 Microcontrolador... 51 III.1.7 Protección de voltajes... 53 III.1.8 FPGA... 53 III.1.9 Tarjeta hija... 55 III.2 Ruteado de la tarjeta... 56 III.2.1 Tarjeta madre... 56 III.2.2 Tarjeta hija... 57 III.3 Lista de materiales... 58 III.3.1 Tarjeta madre... 58 III.3.2 Tarjeta hija... 59 IV Diseño e implementación del controlador... 61 IV.1 Protocolos de comunicación... 61 IV.1.1 Protocolo I 2 C... 61 IV.1.2 Protocolo serial... 70 IV.2 Programa principal... 72 IV.2.1 Interfaz de monitoreo en Matlab... 73 IV.3 Base de pruebas... 77 V Resultados... 81 V.1 Circuito impreso... 81 V.2 Simulaciones... 82 V.2.1 Protocolo serial... 82 V.2.2 Protocolo I 2 C... 83 V.2.3 PWM... 83 V.3 Matlab... 85 VI Conclusiones y trabajo futuro... 87 VI.1 Conclusiones... 87 VI.2 Trabajo futuro... 87 VI.3 Publicaciones... 88 Universidad de Guadalajara Índice

IX Apéndice A... 89 A.1 Códigos de configuración del FPGA... 89 A.1.1 Módulo UART... 89 A.1.2 Módulo I 2 C... 96 A.1.3 Módulo Buffer 16 bits... 111 A.1.4 Módulo PWM... 113 A.1.5 Módulo de Control de 4 PWMs... 116 A.2 Códigos de la interfaz de control grafica de Matlab... 119 Apéndice B... 129 B.1 Códigos de programación del microcontrolador... 129 B.1.1 Reloj de sistema del microcontrolador... 129 B.1.2 Mensajes seriales para depuración de errores... 129 B.1.3 Comunicación SPI para comunicación con la memoria EPROM... 132 B.1.4 Intérprete XSVF... 133 Bibliografía... 137 Universidad de Guadalajara Índice