Tarea 6: Interfaces Y Aplicaciones
Tarea 6: Interfaces Y Aplicaciones
INTERFACES Y APLICACIONES
Existe un bloque E/S por cada terminal de E/S del FPGA. Así cada terminal puede
ser configurado como entrada, como salida o bidireccional. En cada bloque E/S
existe un buffer que tiene diversas funciones configurables por el diseñador que
permiten adaptar el FPGA en un sistema complejo trabajando con diferentes
tensiones y corrientes, en un circuito impreso con muchos problemas de integridad
de señal (signal integrity).
Su función es interconectar la lógica interna con el exterior permitiendo definir Ilustración 1: IOB de un
distintas características eléctricas como: ser dirección de datos del pin (E/S), Xilinx Spartan FPGA
configuración en estado de reposo (Pull Down/Pull Up), tipo IO (combinacional
o registrada), etc.
SENSORES Y ACTUADORES
Los Sensores son artefactos que permiten determinar valores de una magnitud determinada, es decir que detectan
indicadores externos e internos o también variables de instrumentación, ya sea intensidad de la luz, sonido,
temperatura del ambiente, presencia de personas, nivel de agua, fuerza, torsión, pH, etc.
Para medir cantidades como posición, velocidad,
Sensores mecánicos masa, presión, fuerza y vibración
Sensores eléctricos Para medir voltaje, corriente y cargas eléctricas
También son muy utilizados en los aparatos mecatrónicas, como, por ejemplo,
en los robots. Los servomotores CA sin escobillas se utilizan en el futuro como
Electrónicos actuadores de posicionamiento preciso debido a la demanda de funcionamiento
sin tantas horas de mantenimiento
Son los de mayor antigüedad, pueden ser clasificados de acuerdo con la forma
Hidráulicos
de operación funcionan en base de fluidos a presión
ACTUADORES
Para medir temperatura, flujo, conductividad y calor
Neumáticos especifico
¿COMO SE PUEDE ACCEDER A LA MEMORIA INTERNA DE UN FPGA SI QUIERO
ALMACENAR UN PROGRAMA EN ELLA?
Un FPGA es un dispositivo que un diseñador de sistemas digitales puede programar, después que está soldado en
el circuito impreso, para que funcione de un modo determinado. Los FPGAs son fabricados con conexiones y
lógica programables. El diseñador desarrolla su sistema digital usando herramientas tipo EDA (Electronics
Design Automation), sean dibujos esquemáticos o lenguaje de descripción de hardware (como VHDL), para poder
plasmar el sistema en lógica digital. Luego de simular satisfactoriamente el sistema digital comprobando su
funcionalidad se usan herramientas específicas del vendedor del FPGA para crear un archivo de configuración
del FPGA, el cual describe todas las conexiones, interconexiones y lógica que necesita ser programada dentro del
FPGA para poder implementar el sistema digital desarrollado. Entonces, a través de un cable USB se conecta el
FPGA o el circuito impreso en cual está soldado el FPGA, a una PC y usando el software de configuración del
FPGA se descarga el archivo de configuración. Una vez comprobado el correcto funcionamiento del sistema en
el FPGA se graba el archivo de configuración en una memoria no volátil que el FPGA leerá y usará para auto-
configurarse cada vez que se aplica la tensión de alimentación al FPGA o cada vez que se desee re-configurar el
FPGA.
Todos los FPGAs, independientemente del fabricante, tienen ciertos elementos en común, tienen un arreglo tipo
matricial de elementos lógicos, como flips-flops y lógica combinacional, que se configuran usando cierta
tecnología de programación. Los terminales de entrada y salida del FPGA usan celdas especiales de E/S que son
diferentes de las celdas de elementos lógicos. Además, tienen un esquema de interconexión programable que
permite la conexión entre las celdas de elementos lógicos entre sí, y con las celdas de E/S. La programación de
las interconexiones y de los elementos lógicos puede o no ser permanente, eso depende de la tecnología de
programación usada tal como se verá más adelante.
Existen en la actualidad cuatro tipos de celdas de configuración de un FPGA. Una está basada en una celda
SRAM, que como su nombre indica se usa una pequeña celda SRAM para mantener la configuración de cada
parte configurable del FPGA. Otro tipo de celda involucra una celda llamada anti-fuse (anti-fusible), que consiste
en una estructura microscópica la que, a diferencia de un fusible regular, esta normalmente abierta. Cuando se
hace circular una cierta cantidad de corriente durante la configuración del dispositivo, cerca de los 5mA, causa
una gran potencia de disipación en un área muy pequeña, lo que provoca el derretimiento de un aislante dieléctrico
entre dos electrodos formando una unión permanente muy fina. El tercer tipo de celda de configuración se basa
en celdas tipo Flash, que, a diferencia de las SRAM, permiten mantener la configuración aún después de
desconectada la alimentación del dispositivo. Hay también FPGAs que tienen en el mismo dispositivo celdas
Flash y celdas SRAM. Las celdas Flash se usan para mantener los datos de configuración del FPGA y las SRAM
para la configuración lógica del FPGA.
Modo Maestro: Cuando el FPGA auto-carga el
archivo de configuración desde un dispositivo
externo, se dice que el FPGA usa el Modo Maestro
(Master Modo) para cargar su configuración. Esta
carga se puede efectuar en un modo de transmisión
de datos serie o modo paralelo. Normalmente en
este modo el archivo de configuración reside en una
memoria no-volátil externa al FPGA, y el FPGA
genera la señal de reloj, CCLK, y controla la
comunicación con la memoria.
PROTOCOLOS DE COMUNICACIÓN
Existen 3 formas de almacenas los valores (bitstream) en la memoria
Configuración serie: El bitstream se lee desde una memoria PROM serie exterior. Dos variantes:
- Serie Master: El FPGA genera el reloj de la carga
- Serie Slave: El reloj lo genera otro dispositivo externo. Permite que la carga se realice desde un
microprocesador externo.
Configuración en paralelo: Configuración a través de un puerto paralelo de 8 bits SelectMap. La memoria de
configuración está dividida en frames. A través del SelectMap se introducen frames en el bitstream. Aunque es
un puerto de 8 bits, la configuración se realiza mediante paquetes de 32 bits.
El SelectMap dispone de varios registros internos. Registro de comandos, registro de control y registro de
dirección. Los paquetes de configuración de 32 bits pueden incluir información para estos registros de forma que
se controlan operaciones de lectura de la memoria de configuración o la reconfiguración parcial dinámica.
Configuración Boundary scan (JTAG): La configuración se realiza mediante el protocolo serie JTAG. La
configuración es a través de la interfaz Boundary scan, que está activa y accesible en todo momento. Es el sistema
utilizado en la fase de desarrollo y depuración.
Referencias:
- Introducción a los FPGAs y el Cómputo Reconfigurable, Miguel Morales Sandoval, INAOE, 2006
- Tesis: “Diseño e implementación de una tarjeta con FPGA RAM y ROM Externas”, Ing. Geovanni
Zepeda Arce, Facultad de Ciencias de la Electrónica BUAP.
- Implementación de Memorias RAM en dispositivos FPGA, Ricardo J. Zavaleta, ORACLE MDC
- Field Programmable Gate Arrays (FPGAs), MSc. Cristian Sisterna
- Diseño Digital, Morris, Mano, M. PEARSON EDUCATION, 3ra Edición, México, 2003.