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
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.

Luisa garcía

  • 1.
    DESARROLLO DE HARDWAREA 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 versionesdiferentes 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.