You are on page 1of 17

1

DSPS, FPGAS y aplicaciones en ingeniería biomédica.

Cristina Gallego Ortiz y Tatiana Vanesa Restrepo


1. DSPs y FPGAs

1.1. Introducción:

Un DSP es un procesador digital de señales con capacidad de procesamiento de
inIormacion en linea, o en tiempo real. Es un dispositivo que presenta caracteristicas de
microcontrolador y microprocesador. Por lo tanto, su arquitectura ha sido optimizada
para la implementacion de Iunciones tales como Iiltrado, correlacion y analisis espectral
de una señal digital de entrada al sistema gracias a que posee una CPU de gran potencia
de calculo que permite realizar el mayor numero de operaciones aritmeticas en el menor
tiempo posible.

Se caracterizan por tener arquitecturas especiales, orientadas a la realizacion hardware
de los calculos que otros microprocesadores realizan via soItware, mediante la ejecucion
secuencial de varias instrucciones. El hardware de la Cpu de es mas complejo que el de
otros microprocesadores o microcontroladores y su area de silicio es mucho mayor y
por esto su costo es tan elevado.
Una FPGA es un dispositivo semiconductor con componentes e interconexiones de
logica programable para duplicar la Iuncionalidad de las compuertas logicas basicas
como las AND, OR, XOR, NOT o otras como decoders o Iunciones matematicas
simples. La mayoria de FPGAs incorporan ademas elementos o bloques de memoria. El
termino "Iield-programmable" de una FPGA (Field-programmable gate array) hace
alusion a la jerarquia de interconexiones programables entre los bloques logicos de la
FPGA que permite conIigurarlas segun el criterio del diseñador del sistema, es decir
despues del proceso de manuIactura del dispositivo. Lo anterior conIiere a una FPGA la
posibilidad de ejecutar cualquier Iuncion logica que se desee programar.
En adicion a esto las FPGAs incorporan Iunciones embebidas de alto nivel (como
sumadores y multiplicadores) asi como memorias embebidas. Las FPGAs modernas
soportan la reconIiguracion total o parcial, permitiendo que su diseño pueda ser
modiIicado segun operaciones de actualizacion del sistema, lo que se conoce como
computacion reconIigurable o sistemas reconIigurables. De manera analoga, los DSP se
diseñan para poder operar en paralelo con otros dispositivos similares, para lo cual
tienen periIericos de control y bloqueo del programa (Lineas de entrada salida que
pueden bloquear la ejecucion de ciertas instrucciones si se encuentran en un valor
determinado), al igual que los periIericos de entrada-salida de alta velocidad (puertos
serie sincronos) que permiten la conexion sencilla de varios DSP para aplicaciones que
requieran multiples procesadores.
Inicialmente el mercado de los DSP era muy reducido y por su alto costo solo eran
usados en grandes sistemas pero con la revolucion y expansion de las
2
telecomunicaciones esto ha cambiando claramente. La tendencia en la mejora de la
arquitectura del DSP se enIoca hacia el aumento del paralelismo del sistema, que es
directamente proporcional a numero de operaciones que el DSP sera capaz de realizar
en un ciclo de reloj.

Tanto las aplicaciones de los DSPs y las FPGAs cubren practicamente todos los campos
de la industria: telecomunicaciones, control, instrumentacion, redes, analisis de imagen
y voz, automotriz y medicina. Lo que hace que los Iabricantes busquen cada vez
mejores arquitecturas y compiladores mas inteligentes, y mejores herramientas de
depuramiento y desarrollo.


1.2. El DSP: Funcionamiento y estructura interna:

1.2.1. Control y manejo de las instrucciones

En la programacion de un DSP las instrucciones deben ser trasladadas primero a los
registros de instruccion en la zona de dispositivos de almacenamiento de tipo volatil
(RAM) y no volatil (ROM) para luego ser leidas e interpretadas por la CPU.

Fig 1. Ciclo de instrucciones de la CPU. Disponible online: |1|

Para poder gestionar el acceso a la memoria de programa, la CPU debe conocer en cada
instante donde se encuentra la instruccion que debe ejecutar como se observa en la
Iigura 1. Para ello dispone de un registro conocido como contador de programa (PC o
program counter). A veces es necesario romper temporalmente la secuencia normal de
ejecucion del programa y cambiar la Iorma habitual de incrementar el registro PC; al
ejecutar un bucle, llamar una subrutina o cuando aparecen interrupciones. En estos
casos es necesario:

1. Guardar el registro PC
2. Utilizar una zona de memoria que se desee reservar para este Iin (pila).
3. Puntero a la pila (SP o snack pointer) para apuntar a la posicion de memoria
asociada a la pila.



3

1.2.2 Estructura interna básica de un Dsp

Su estructura interna basica consiste en una arquitectura de tipo Harvard, pero para
acelerar la ejecucion de instrucciones y la realizacion de operaciones aritmeticas este
incorpora:
• Buses de datos para trasvase de instrucciones
• Bus de direcciones y de datos para el acceso a los datos
• Operadores logicos y aritmeticos avanzados entre otros.
• Multiples ALU y multiplicadores, capaces de realizar varias operaciones aritmeticas
en un unico ciclo maquina.
• Registros acumuladores que amplian la potencia de calculo y se emplean como
variables de almacenamiento temporal de datos, lo que se disminuye el numero de
transIerencias entre el acumulador de la CPU y la memoria de datos.


1.2.3 Arquitectura de un sistema microprocesador

El acceso de la CPU a dispositivos externos de memoria se realiza mediante un numero
Iijo de lineas denominadas Buses del sistema. Un bus es una agrupacion de conexiones
electricas que manejan niveles digitales de tension y Iacilitan la conexion de la CPU con
el resto de dispositivos del microprocesador. Los buses que permiten que la CPU lea o
escriba son:

• Bus De control: Conjunto de conexiones electricas o lineas, de las cuales se
destacan las de salida de la CPU empleadas para controlar la comunicacion de la
propia CPU con los dispositivos de su sistema microprocesador; ademas de estas
aparecen tambien algunas lineas de entrada a la CPU que sirven para hacer
llegar la señal de reloj a la CPU del sistema, la inicializacion de la CPU que
permiten a algun dispositivo externo requerir la atencion de la CPU, provocando
la interrupcion en su Iuncionamiento secuencial

• Bus De Datos: Se utiliza para almacenar un dato en un dispositivo externo, en
estas lineas de salida escribe lo que desea almacenar, mientras que por el
contrario cuando se desea recoger algo, emplea el bus de datos como camino
entrada a la CPU del dato o instruccion a leer.

• Bus De Direcciones: Le sirven a la Cpu para indicar la direccion del dato la
instruccion que se desea leer o el dato que se quiere almacenar; sirven para Iijar
el numero maximo de instrucciones o datos a los que es capaz de acceder la
CPU.

4

Fig 2. Arquitectura Harvard. Disponible online: |1|



1.3 Clasificación de los Dsp:

Segun su Iuncionalidad se pueden clasiIicar en:


Características
RISC
(Procesadores de
set reducido de
instrucciones)
CISC
(Procesadores de
set complejo de
instrucciones)
Set instrucciones Reducido Complejo
Modos
direccionamiento
Reducidos Numerosos
Ciclos de
ejecución
Sencillos Varios ciclos
Implementación SoItware y
Hardware
MicrocodiIicada
Dispositivos DSPs Microcontroladores
Microprocesadores

Tabla 1. Tecnologias RISC y CISC . Disponible online: |1|

1.4 Descripción de la CPU de un sistema microprocesador

Una CPU constituye un sistema electronico de pequeño tamaño, elevada Iiabilidad,
poco tiempo de diseño y bajo coste.
De los registros internos se destacan los siguientes:

- Registros de control: Registros internos de periIerico. Permiten conIigurar las
condicionas en las que va a trabajar el dispositivo, se puede acceder desde la
CPU en lectura y escritura, suelen conIigurarse una unica vez al principio del
programa y antes de que la CPU empiece a trabajar con el periIerico
5
- Registro de Estado: La Cpu accede a este unicamente en lectura, para observar el
estado del periIerico.
- Registros de datos: Registros de trabajo del periIerico, y por esto los mas
utilizados por la CPU. Se emplean como Iuente para la realizacion de la tarea
para la que Iue seleccionado, desde la Cpu se puede acceder a ellos en lectura o
escritura.


1.4.2 Periféricos de un sistema microprocesador

El periIerico es un dispositivo para ayudar a la CPU a realizar tareas que esta no puede
realizar y a los que accede para lectura y escritura. La cantidad de estos depende de la
complejidad y Iuncionalidad del procesador. Los periIericos mas comunes son:
• Para almacenamiento de datos (normalmente periIericos de tipo volatil o RAM)
o de programa (Normalmente periIericos de tipo no volatil o ROM).
• Para implementacion de Iunciones de comunicacion con el exterior del sistema
como la lectura de variables analogicas y el calculo de su valor digital
(periIericos de conversion analogo digital).
PeriIericos de acceso directo de memoria (DMA) los cuales pueden Iuncionar como
maestros o como esclavos. El microprocesador puede acceder a el para conIigurar su
modo de Iuncionamiento (esclavo) o este periIerico puede gobernar los buses y
Iuncionar como maestro en el sistema digital para realizar transIerencias de inIormacion
a traves de los buses de datos del sistema.


Fig 3. TMS320C2000 (DMA). Disponible online: |1|

2. Proceso de selección, procesamiento y aplicación de un DSP:


6
Paso 1: Selección del DSP

- Formato de datos: Los DSP se clasiIican segun el tipo de aritmetica que usen
para realizar los calculos. Los procesadores de coma fija, representan los
numeros como enteros o como Iracciones en un rango Iijo (-1 a 1) utilizando un
determinado numero de bits. Requieren un hardware mas simple, por lo su coste
unitario, consumo y tamaño es menor, lo que resulta idoneo para aplicaciones en
teleIonia movil. Con los procesadores de coma flotante se obtiene un rango
dinamico mayor entre el valor mas grande y el mas pequeño que puede ser
representado. Los numeros se representan usando una mantisa y un exponente.
Esto simpliIica la programacion de algoritmos aunque a expensas de un mayor
coste, consumo y tamaño.

- Ancho de datos: El tamaño de los buses de datos dan una medida del Ilujo de
inIormacion entre la CPU y los periIericos. Buses de mayor ancho permiten que
los Ilujos de datos sean mas rapidos, auque a costa de complicar la arquitectura,
el tamaño del chip, el numero de pines del encapsulado y el tamaño de los
dispositivos externos de memoria.

- Velocidad: Determina el numero de instrucciones ejecutadas por segundo
(MIPS) o millones de operaciones Ilotantes por segundo (MFLOPS), o millones
de operaciones de multiacumulacion por segundo (MMACS). Sirven como
patron de comparacion entre distintos procesadores.

- Organización de la memoria: Jerarquias de memoria con memorias cache de
programa y/o datos que aceleran la ejecucion pues aprovechan de manera mas
eIiciente la arquitectura interna del DSP.

- Arquitectura del procesador: Determina la estructura de ejecucion de las
instrucciones y el grado de paralelismo.

- Consumo: Las tensiones de alimentacion de los DSP son cada vez menores (3.3,
2.5, o 1.8V)

- Coste: La mejor eleccion no es el procesador mas potente sino aquel que nos
permite cumplir con las exigencias de la aplicacion al menor costo.

- Entorno de desarrollo: Determina las herramientas soItware (ensambladores,
simuladores, debuggers, compiladores, sistemas operativos en tiempo real), las
herramientas hardware (tarjetas de desarrollo y evaluacion, emuladores).

Paso 2: Evaluación del DSP seleccionado
Incluye el aprendizaje de las herramientas de desarrollo, que deba cumplir con los
requerimientos de la aplicacion.

Paso 3: Fase inicial de desarrollo
Utiliza un sistema de desarrollo completo de la aplicacion para probar las
posibilidades que oIrece el sistema para implementar algunas partes del proyecto
Iinal o evaluar los algoritmos de procesamiento diseño.

7
Paso 4: Desarrollo del producto final
Ultima Iase de diseño y desarrollo de un soporte hardware prototipo que permita,
junto a las herramientas de desarrollo como soItware de prueba, muestras gratuitas y
demas ayudas que pueda proporcionar el Iabricante para implementar, y depurar la
aplicacion Iinal.

3. Principales fabricantes de DSPs

1. Analog Device
2. Hitachi
3. Motorota
4. NEC
5. SGS-Thomson
6. Texas instruments
7. Zilog
4. FPGA (Field-programmable gate array)

Fig 4. Altera FPGA with 20,000 cells. Disponible online:
http://en.wikipedia.org/wiki/FPGA
5.1 Historia
Las FPGAs nacieron de los dispositivos de logica programable compleja (CPLDs) de
principios de los años 80 superandolos en varios aspectos, principalmente en el numero
de compuertas; un CPLD contiene entre varios miles hasta diez mil compuertas logicas,
mientras que una FPGA contiene desde diez mil hasta un millon de estas compuertas.
Por esto la principal diIerencia entre un CPLD y una FPGA es la arquitectura.
Un CPLD tiene una estructura de tipo restrictiva que consiste en una o mas sumas de
vectores logicos programables que da como resultado una arquitectura de poca
Ilexibilidad de diseño. La arquitectura a de las FPGAs es en cambio dominada por las
interconexiones. Esto las hace ser mas Ilexibles (en terminos del rango de posibilidades
de diseño que oIrecen) aunque su programacion es mas compleja.
Las FPGAs comenzaron como competidoras de los CPLDs desempeñando tareas
similares. Cuando su tamaño, capacidad y velocidad aumentaron, estas comenzaron a
asumir el control de Iunciones mas grandes hasta lograr ahora que se consideren
competidoras de los sistemas completos en chip. Ahora encuentran usos en cualquier
8
area o algoritmo en la que se pueda hacer uso del paralelismo masivo oIrecido por su
arquitectura.
5.2 Arquitectura de una FPGA
Internamente una FPGA es un arreglo de pequeños dispositivos logicos llamados CLBs,
los cuales incorporan elementos hardware programables, dispositivos de memoria y
estan organizados en Iilas y columnas. Tambien existen pequeños elementos que
deIinen la Iorma en que esta trabajara (entrada, salida, entrada-salida). Se suelen llamar
IOB.
La tarea del programador es deIinir la Iuncion logica que realizara cada uno de los CLB,
seleccionar el modo de trabajo de cada IOB e interconectarlos todos.

Fig 5. Arquitectura de una FPGA. Disponible online: |3|
El bloque logico tipico de una FPGA consiste en una tabla de operaciones de busqueda
con cuatro entradas (LUT), y un Ilip-Ilop, segun lo demostrado en abajo.



Iig 5. Logic block oI a FPGA. Disponible online: |2|

El bloque logico tiene cuatro entradas para el LUT, una entrada de reloj y una salida,
que puede ser tanto la salida registrada o sin registrar de la LUT. Puesto que las señales
del reloj son normalmente transmitidas por redes transmisoras de proposito general en
FPGAs comerciales, se consideran por separado de las otras señales. Para la arquitectura
considerada, las localizaciones de los pines del bloque logico se demuestran abajo.
9


Iig. 6 Logic Block Pin Locations. Disponible online: |2|

Cada entrada es accesible a partir de un lado del bloque, mientras que el pin de salida
solo es accesible por dos lados. Cada pin de salida del bloque puede conectarse con
cualquiera de los segmentos del cableado en los canales adyacentes.

Las interconexiones se establecen mediante canales de ruta. Generalmente, las rutas de
una FPGA no son segmentadas. Es decir, cada segmento del cableado atraviesa
solamente un bloque logico antes de terminar en una caja de interruptor. Una caja de
interruptor es la intercepcion de un canal vertical y horizontal.

Para lograr velocidades de interconexion altas, se pueden hacer rutas mas largas,
haciendo que estas volteen en los interruptores. Algunas arquitecturas de FPGAs
utilizan lineas mas largas que atraviesen multiples bloques logicos.



Fig.7 Unsegmented FPGA routing. Disponible online: |2|

En esta arquitectura, cuando un alambre entra en una caja de interruptor, hay tres
interruptores programables que permiten conectar con otros tres alambres en segmentos
adyacentes del canal. El patron, o la topologia, de los interruptores usados en esta
arquitectura es la topologia planar o basada de la caja de interruptor. En esta topologia
de caja de interruptor, un alambre en la pista numero uno conecta solamente con los
alambres en la pista numero uno de los segmentos adyacentes al canal. La Iigura abajo
ilustra las conexiones en una caja del interruptor.
10


Fig 7. Switch box topology. Disponible online: |2|

Las Iamilias modernas de FPGA amplian sus capacidades para incluir Iuncionalidades
de nivel mas alto embebidas en el silicio lo que reduce el area requerida y aumenta la
velocidad. Como ejemplos de estos encontramos multiplicadores, bloques genericos de
DSP, procesadores embebidos, logica I/O de alta velocidad y memorias embebidas.
.
5.3 Diseño y programación de una FPGA

Para deIinir el comportamiento de una FPGA se debe proporcionar el lenguaje
descriptivo del hardware (HDL) o el diseño esquematico. Usando una herramienta de
diseño electronico de automatizacion, se genera una descripcion textual del circuito, la
cual se hace corresponder a la arquitectura real de la FPGA mediante un proceso
llamado lugar-y-ruta, realizado por el soItware de la FPGA. El usuario validara el mapa,
pondra y encaminara resultados haciendo analisis del tiempo, simulaciones, y otras
metodologias de veriIicacion. Una vez el proceso de diseño y de validacion se termine,
se genera (a partir del soItware de la compañia Iabricante de la FPGA) un archivo
binario que contiene la codiIicacion del sistema el cual se usa para reconIigurar el
dispositivo FPGA.

11

Iig 8. Flujo de diseño. Disponible online: |3|

Para simpliIicar el diseño de sistemas complejos en FPGAs, existen librerias de
Iunciones y de circuitos complejos predeIinidos que han sido probados y optimizados
para acelerar el proceso de diseño. Estos circuitos predeIinidos comunmente se llaman
bloques de la caracteristica intelectual, y aunque son raramente libres se lanzan bajo
licencias de propiedad de soItware.

En una tentativa para reducir la complejidad de diseñar en HDL (lenguaje similar a los
lenguajes ensamblador), ha sido elevar el nivel de abstraccion del diseño. Algunas
compañias tales como cadencia, Synopsys y Celoxica estan promoviendo SystemC
como manera de combinar lenguajes de alto nivel con modelos de concurrencia para
permitir ciclos mas rapidos de diseño para FPGAs, de manera que sea posible
proporcionar un Ilujo de datos graIico similar a un lenguaje de alto nivel de diseño
como por ejemplo el paquete de diseño de Annapolis Micro Systems Inc.

Otras tentativas se han basado en C estandar o C¹¹ (con librerias u otras extensiones
que permiten la programacion paralela) y han dado como resultado herramientas como
Catapulta C, e impulso C.,
5.4 Tipos de tecnología básica de procesamiento

SRAM - basado en tecnologia de memoria estatica. Es programable y reprogramable en
el sistema. Requiere dispositivos externos. Generalmente CMOS.
AntiIuse Programable solo una vez. CMOS.
EPROM - Erasable Programmable Read-Only Memory technology. Programable
generalmente solo una vez en produccion debido al empaquetamiento plastico.
EEPROM - Electrically Erasable Programmable Read-Only Memory technology. Puede
borrarse, inclusive en empaquetamientos plasticos. Algunas EEPROM pueden ser
programadas en el sistema. CMOS.
FLASH - Flash-erase EPROM technology. Puede borrarse, inclusive en
empaquetamientos plasticos. Algunas FLASH pueden ser programadas en el sistema.
Usualmente, una FLASH es mas pequeña que se equivalente EEPROM y es por lo
tanto menos costosa de Iabricar. CMOS.
Fuse - Programable solo una vez. Bipolar.
5.6 Algunos fabricantes de FPGAs y sus especialidades

Desde Iinales del 2005, el mercado de FPGAs ha llegado a un estado donde hay dos
Iabricantes importantes de FPGAs de proposito general y otros Iabricantes que se
distinguen entre si oIreciendo capacidades unicas.
Xilinx ha sido tradicionalmente el lider en FPGAs.
12
Altera es el Segundo Iabricante mas importante.
Lattice Semiconductor Se ha enIocado en FPGAs de bajo costo, con caracteristicas
optimizadas, basadas en tecnologia Ilash.
Actel tiene antiIuse y FPGAs reprogramables basados en tecnologia Ilash.
QuickLogic tiene productos antiIuse (programables solo una vez).
Atmel es el unico Iabricante de dispositivos de reconIiguracion Iina. Es por esto que
estos dispositivos son mas pequeños y costosos que el de otros Iabricantes.
Achronix Semiconductor esta desarrollando FPGAs de alta velocidad de procesamiento.
Su meta es conseguir velocidades alrededor de 1GHZ.
5.7 Algunos proveedores de herramientas para FPGA
Accelchip Proporciona herramientas de diseño de alto nivel basadas en Matlab y
Simulink.
Aldec Proporciona herramientas de diseño y veriIicacion de FPGAs, incluyendo el
popular simulador HDL.
Celoxica Provee herramientas soItware como SystemC y Handel-C para veriIicacion y
diseño en alto nivel.
Lyrtech Provee hardware combinando tecnologias de FPGAs y DSPs asi como
herramientas de diseño en alto nivel basadas en Matlab, Simulink, Xilinx Sysgen y
Texas Instruments CCS.

5. APLICACIONES GENERALES DSPs Y FPGAs
AREA DSPs FPGAs
Telecomunicaciones - TeleIonos moviles (GSM)
- Cancelacion Ecos
- Modems alta velocidad
- Interpolacion digital del habla

- Routers
- Modems
- Redes inalambricas

Instrumentación - Analizadores de espectro
- Generadores de Iuncion
- Osciloscopios digitales

Análisis de voz y
conversaciones

- Compresion de voz
- Reconocimiento de voz
- Conversion de texto en voz y
viceversa

Procesamiento de
imágenes
- Animacion
- Rotacion tridimensional
- Compresion y transmision de
imagenes

- Convolucion (Bordes,
Negativo, Filtrado).
- Rotacion, traslacion
redimensionamiento.
- Reconstruccion 3-D.
13
- Procesamiento de
imagenes sucesivas
en tiempo real.
Industria y control - Robotica
- Regulacion velocidad motores
- Servocontrol
- Impresoras

- Automatizacion.
- Controlador de
motores de cd y de
pasos.
Militar - Navegacion
- Sonar
- Procesado de imagenes
- Radar
- Guia de misiles
- CriptograIia
- Compresor/
descompresor de
Datos
- Satelite FedSat
Medicina - Protesis y ayudas a deIicientes
auditivos
- Monitorizacion de pacientes
- Equipos de ultrasonido
- Monitor Ietal

- Deteccion
movimiento
- Algoritmos geneticos.


6. APLICACIONES EN INGENIERIA BIOMEDICA

6.1. Prótesis auditivas digitales:

Las tecnicas de procesamiento digital permiten Iiltrar el ruido y ampliIicar el sonido en
Irecuencias especiIicas. La ultima generacion de protesis auditivas reconoce voz, lo que
les permite resaltar las Irecuencias tonales Ioneticas y atenuar las que no lo son. Estas
protesis diseñadas con procesadores digitales conceden caracteristicas superiores a la
protesis analoga convencional.


Fig 9. Protesis auditiva. Disponible online: |1|

6.2 Sistemas de Trascripción medica basada en computadora (CPR)

La tecnologia del reconocimiento de voz es de enorme potencial para los sistemas de
inIormacion medicos ya que permite al medico dictar a una PC o a dispositivo portatil
el expediente medico de un paciente, visualizarlo en la pantalla del PC y archivarlo
14
electronicamente en bases de datos. Los CPR ideales Iomentan las ayudas integradas y
el dictado via voz en el sitio de trabajo clinico.
Hay actualmente cinco Iabricantes de sistemas de reconocimiento de voz: IBM, Philips,
Kurzweil, Dragon Systems y Lernout y Hauspie.

6.3 Scanner de la huella plantar para diseño personalizado de calzado

Consiste en un scanner plantar 3D que Iunciona con una camara industrial USB2.0. La
camara graba marcas Iotometricas y las transIiere a un PC en aproximadamente 25
segundos, y una FPGA realiza el procesamiento de la imagen para obtener la
representacion tridimensional del pie. El diseño de la FPGA se puede adaptar a los
requerimientos especiIicos del usuario a partir de un soItware de desarrollo para
conIigurar la grabacion de imagenes y su analisis.


Fig 10. Foot scanner. Tomado de: ÌDS (Ìmaging development systems)

Este dispositivo permite la prescripcion personalizada del calzado para personas con
problemas congenitos en los pies o con deIormaciones por accidentes o enIermedades,
es decir permite adaptar el calzado a las necesidades individuales de una persona de
manera rapida y economica.


Iig 11 . Foot scanner plataform. Tomado de: ÌDS (Ìmaging development systems)
15
6.4 identificadores Biométricos

Son dispositivos USB de lectura de huellas dactilares que permiten la autenticacion
biometrica para el acceso a PCs y a redes corporativas. Con ellos es posible lograr altos
niveles de seguridad ya que reconocen a un individuo segun sus caracteristicas
biometricas unicas, gracias a su tecnologia de sensado de pixeles activos y el
almacenamiento para la comparacion de la inIormacion.
El procesamiento de la señal biometrica lo hace una FPGA a partir de la inIormacion
proveniente de los sensores. Su tecnologia esta basada en dispositivos de silicona y
sensores capacitivos. Cada sensor (celula pexelada) contiene un circuito de
retroalimentacion capacitivo sensible la presencia de la huella dactilar en la superIicie
del lector y tiene su propio ampliIicador para lograr una relacion alta de señal ruido.

Iig 12. TouchChip USB Iingerprint readers. Tomado de: UPEK, Inc.


Iig 13. USB Iingerprint readers. Tomado de: UPEK, Inc.

tabla 2. Features oI USB Iingerprint readers. Tomado de: UPEK, Inc.
16
6.5 Frame Grabbers for Standard Video Signals.

Dispositivos para el procesamiento de señales de video estandar, tiene aplicaciones en el
area de imagenes medicas como por ejemplo en ultrasonido y rayos X especialmente.
Su principal caracteristica es que permite visualizar señales de video como imagenes 3D
en vivo y en tiempo real en un monitor VGA o en la PC. Ademas es posible lograr el
procesamiento de la imagen 3D y su almacenamiento. Por su amplio uso y desempeño,
el SDK es el soItware de desarrollo de la tarjeta la que permite utilizar todos los
atributos del hardware para el diseño.


Fig 14. Adquisicion y procesamiento de imagines. Tomado de: IDS (Imaging
development systems.)

Fig 15. Frame Grabbers Ior Standard Video Signals. Tomado de: IDS (Imaging
development systems).


17
BIBLIOGRAFIA



|1| BRIZ DEL BLANCO, Fernando. Procesadores Digitales. Departamento de
Ingenieria Electrica, Electronica, de Computadores y Sistemas. Disponible |online|:
http://isa.uniovi.es/~Iernando/Programa¸II¸EUITI¸2003¸2004¸primer¸cuatrimestre¸ar
chivos/Procesadores¸digitales.pdI

|2| Field-programmable gate array. From Wikipedia, the Iree encyclopedia. . Disponible
|online|: http://en.wikipedia.org/wiki/FPGA

|3| Arquitectura de una FPGA. Disponible online: http://www.Idi.ucm.es/proIesor/
javier1/LTC/hwreconI¸extendido.pdI

|4| BARRERO, Federico. TORAL, Sergio. RUIZ, Mariano. Procesadores digitales de
señal de altas prestaciones de Texas instruments. Mc Graw Hill. España. 2005