Este documento describe el uso de FPGAs en robótica, específicamente para reemplazar componentes discretos y permitir diseños a la medida de bajo costo. Las FPGAs permiten realizar múltiples tareas en paralelo, manejar varios canales de entrada y salida, y facilitan futuras modificaciones del hardware. Adicionalmente, algunas FPGAs incluyen procesadores embebidos que permiten codiseño hardware/software. La parte práctica del taller consiste en diseñar un PWM en VHDL usando tres métodos diferentes y simular
Desarrollo de hardware a medida con FPGA en robótica
1. DESARROLLO DE HARDWARE A LA MEDIDA (FPGA) Y SU APLICACIÓN
EN ROBÓTICA
Los robots desarrollan múltiples tareas tales como moverse, orientarse, recibir
y transmitir datos. Para esto en los robots se tiene normalmente elementos
como sensores utilizados para recibir información del entorno, actuadores
como motores y válvulas para moverse e interactuar, sistemas de
comunicación para recibir órdenes y transmitir datos, unidades de control y
procesamiento donde se analiza y procesa la información recibida, se toman
decisiones, se decide que información transmitir y que acciones realizar.
Para la implementación del hardware del robot normalmente se utilizan
elementos discretos análogos y digitales, memorias, procesadores y
microcontroladores, entre otros. Una alternativa interesante que se esta
empleando actualmente, es el uso de FPGAs para reemplazar la mayoría de
estos componentes discretos.
Un sistema robótico basado en FPGA puede ser diseñado para realizar
múltiples tareas en paralelo, manejar múltiples canales de I/O con diversos
protocolos y características físicas y tener un bajo consumo de potencia.
Adicionalmente las FPGAs facilitan futuras modificaciones, mejoras y
actualizaciones del hardware que son necesarios en las aplicaciones en
robótica y automatización.
En algunas familias de FPGAs se cuenta con procesadores y DSP embebidos
tipo hardcore y softcore, sobre los cuales se puede desarrollar programas
permitiendo una integración hardware/software (codiseño) en un solo integrado.
La tecnología FPGA permite realizar diseños a la medida y de bajo costo en el
desarrollo. El desarrollo del hardware a la medida posibilita metodologías de
diseño top down y bottom up, el trabajo modular y la verificación de todas las
unidades por separado. Posteriormente realizar una integración y verificación
total del sistema diseñado. Esto facilita al trabajo en equipo donde cada
miembro o subgrupo de trabajo puede encargarse de un módulo o tener una
tarea específica dentro del proceso de diseño del sistema.
Por otro lado, existen robots o máquinas auto reconfigurables (self
reconfigurable machine) las cuales tienen la posibilidad de modificar su propio
hardware, en esos casos se utilizan las familias de FPGAs que tienen la
posibilidad de reconfiguración parcial de periféricos, el procesador (soft
processors) o reconfiguración del sistema completo.
En el desarrollo de este taller comenzamos clasificando a las FPGAs en el
mundo de los circuitos integrados, luego se realizará una revisión de las
características hardware de la FPGA, en tercer lugar se estudiarán el lenguaje
de descripción de hardware VHDL revisando los principales elementos en la
sintaxis y el desarrollo algunos ejemplos de diseño. Para finalizar se realizará
un PWM en VHDL, en esta parte práctica del taller todos los participantes
2. realizarán 3 versiones diferentes de PWM utilizando 3 modos diferentes de
implementación en VHDL.
Un PWM (modulador de ancho de pulso) es un circuito que genera una señal
de onda cuadrada a la que se le puede variar el ancho de pulso por medio de
una señal de control. La señal generado por el PWM se utiliza para controlar la
posición y velocidad de los motores a paso utilizados comúnmente en la
robótica.
En la parte práctica se utilizará Quartus II de Altera como software de
desarrollo, el cual se puede descargar desde el sitio www.altera.com en la
sección download center. Utilizando esta herramienta de desarrollo se mostrará
el diseño, creación del proyecto, compilación y simulación del PWM. También
el análisis de resultados, tiempos y recursos del proyecto.
Tallerista:
Luisa Fernanda García es ingeniera electrónica de la Pontificia Universidad
Javeriana. Recibió su maestría con honores (MagnaCum Laude) en Ingeniería
Electrónica en la Pontificia Universidad Javeriana. Su área de especialización
es el diseño y desarrollo de sistemas embebidos basados en PLD´s y FPGA.
Actualmente es profesora del área de Técnicas Digitales del Departamento de
Electrónica de la Pontificia Universidad Javeriana. Ha dirigido proyectos de
grado en las áreas de arquitecturas de computadores y desarrollo de sistemas
digitales.