Anda di halaman 1dari 9

Procesadores Digitales de Seales (DSP)

Nelson Elas Salinas Bustillo, Ftima Mara Lazo Recinos Escuela de Ingeniera Biomdica, U.D.B, E.S. n3sb13@gmai.com fatima027@gmail.com

Resumen- Este documento presenta caractersticas generales de procesadores digitales de seales (DSP), incluyendo su definicin, un poco de historia, su respectivo diagrama de bloques, su arquitectura de construccin, como funciona tanto hardware como software, que lo hace diferente de un procesador comn, que son los DSP de punto flotante y de punto fijo, costos y aplicaciones en biomdica. I. INTRODUCCION

velocidad. Debido a esto es especialmente til para el procesado y representacin de seales anlogas en tiempo real. Se ha dicho que puede trabajar con seales analgicas, pero es un sistema digital, por lo tanto necesitar un conversor analgico/digital a su entrada y digital/analgico en la salida. Como todo sistema basado en procesador programable necesita una memoria donde almacenar los datos con los que trabajar y el programa que ejecuta. Si se tiene en cuenta que un DSP puede trabajar con varios datos en paralelo y un diseo e instrucciones especficas para el procesado digital, se puede dar una idea de su enorme potencia para este tipo de aplicaciones. Estas caractersticas constituyen la principal diferencia de un DSP y otros tipos de procesadores. III. RESEA HISTRICA

El campo de los DSP`s a trado grandes cambios desde su aparicin en los aos 70. En su inters principal era el desarrollo de algoritmos para transformada rpida de Fourier y el diseo de filtros digitales.

En 1978, INTEL lanz el 2920 como un procesador analgico de seales. Este posea un chip ADC/DAC con un procesador de seales interno, pero no posea un multiplicador de hardware, el 2920 no tuvo xito en el mercado. En 1979, AMI lanza el S2811, fue diseado como un microprocesador perifrico, al igual que el 2920 no tuvo gran xito en el mercado. En el mismo ao, Bell Labs introduce el primer chip procesador digital de seales (DSP), The Mac 4 Microprocessor. Luego en 1980 fueron presentados en el ISSCC80 los primeros DSP completos: el PD7710 de NEC y el DSP1 de

II.

QUE ES UN DSP

Un DSP es un sistema basado en un procesador o microprocesador que posee un conjunto de instrucciones, un hardware y un software optimizado para aplicaciones que requieran operaciones numricas a muy alta

AT&T, ambos procesadores fueron inspirados en las investigaciones de PSTN Telecomunicaciones. En ese mismo ao NEC comenz la produccin del PD7710, la primera produccin de DSP completos en el mundo. El primer DSP producido por Texas Instruments, el TMS32010, prob ser un suceso mayor. Actualmente el TMS320C4X diseado y producido por TEXAS INSTRUMENTS, surge con ciertas ventajas frente al resto de los procesadores, ya que ste se disea para ser escalable; es decir, para que pueda trabajar en paralelo con otros dispositivos similares. Muchos de los procesadores se engloban dentro de la filosofa CISC, (Complex Instruction Set Computers) Aunque se pueden encontrar en el mercado algunos que operen bajo la filosofa RISC (Reduced Instruction Set Computers); estos ltimos dedicados para aplicaciones concretas como la telefona mvil. Un DSP se puede programar tanto en ensamblador como en C. Cada familia de DSP tienen su propio lenguaje ensamblador y sus propias herramientas suministradas por el fabricante. Gracias a la colaboracin entre fabricantes, existen lenguajes de ms alto nivel (y por lo tanto, ms sencillos y rpidos de usar) que incorporan la capacidad de programar los DSP, en general pasando por un pre-compilado automtico en C. Son los casos de LabVIEW y Matlab. IV. ARQUITECTURA DE CONSTRUCCIN.

memoria se direcciona mediante buses separados (tanto de direcciones como de datos), e incluso es posible que la memoria de datos tenga distinta anchura de palabra que la memoria de programa (como ocurre en ciertos microcontroladores). Las arquitecturas de los computadores actuales estn comnmente clasificadas como RISC's (Reduced Instruction Set Computers) y CISC's (Complex Instruction Set Computers). Estos ltimos tienen un gran nmero de instrucciones sumamente poderosas, mientras que la arquitectura RISC posee pocas instrucciones y realiza movimientos de datos entre registros en un ciclo de mquina. Hoy en da los computadores RISC comienzan a reemplazar a los CISC's, porque se puede alcanzar un ms alto rendimiento por medio del uso de un eficiente compilador como a travs de la ejecucin de instrucciones simples en forma ordenada. Los elementos bsicos que componen un DSP son: Conversores en las entradas y salidas Memoria de datos, memoria de programa y DMA. MACs: multiplicadores y acumuladores. ALU: Unidad aritmtico-lgica. Registros. PLL: Bucles enganchados en fase. PWM: Mdulos de control de ancho de pulso.

Un DSP est diseado teniendo en cuenta las tareas ms habituales del procesado digital: sumas, multiplicaciones y retrasos (almacenar en memoria). Los DSP abandonan la arquitectura clsica de Von Neumann, en la que datos y programas estn en la misma zona de memoria, y apuestan por la denominada Arquitectura Harvard. En una arquitectura Hardvard existen bloques de memoria fsicamente separados para datos y programas. Cada uno de estos bloques de

Los estndares de los DSP tienen muchos rasgos de una arquitectura tipo RISC, aunque son procesadores de propsitos especficos cuya arquitectura est especialmente diseada para operar en ambientes de alta necesidad de clculo. Un DSP estndar ejecuta varias operaciones en paralelo mientras que un RISC usa unidades funcionales altamente eficientes que pueden iniciar y completar una instruccin simple en uno o dos ciclos de reloj.

Un DSP para operar requiere unas simples funciones tpicas: Suma y Multiplicacin. Retrasos. Manejo de Arreglos (vectores).

Para realizar la aritmtica simple requerida los procesadores DSP necesitan unidades aritmticas de alta velocidad. La mayora de las operaciones requieren sumas y multiplicaciones juntas, por lo cual, existe hardware para suma y multiplicacin que pueden usarse en paralelo con una sola instruccin. Los retrasos (delays) requieren que los valores intermedios sean mantenidos para su uso posterior. Esto tambin puede ser un requisito, por ejemplo, para un valor total que se actualiza, el total puede ser mantenido en el procesador para evitar lecturas y escrituras masivas en la memoria. Por esta razn los DSPs tienen muchos registros que pueden utilizarse para mantener los valores intermedios. El manejo de arreglos requiere que los datos sean eficientemente adquiridos desde posiciones de memoria consecutivas. Esto implica la generacin de la prxima direccin de memoria. Por esta razn existen registros especiales que se usan para mantener las direcciones de memoria y generar la siguiente rpidamente. La capacidad de generar nuevas direcciones de manera eficiente es una caracterstica de los procesadores DSP. Por lo general, la siguiente direccin de memoria necesitada puede ser generada durante la operacin de bsqueda (fetch) o almacenamiento de un dato, poseen diversas formas de generar una nueva direccin. Adems de las matemticas, en la prctica la mayora de los DSPs tratan con el mundo real. Aunque este aspecto es a menudo olvidado, es de gran importancia y marca algunas de las ms grandes diferencias entre los procesadores DSP y los microprocesadores de propsito general.

V.

DIAGRAMA DE BLOQUES

Arquitecturas Von-Neumann y Harvard, respectivamente.

VI.

COMO FUNCIONA

Un DSP se puede programar tanto en ensamblador como en C. Cada familia de DSP tienen su propio lenguaje ensamblador y sus propias herramientas suministradas por el fabricante. Gracias a la colaboracin entre fabricantes, existen lenguajes de ms alto nivel (y por lo tanto, ms sencillos y rpidos de usar) que incorporan la capacidad de programar los DSP, en general pasando por un precompilado automtico en C. Son los casos de LabVIEW y Matlab.

En una aplicacin tpica, el procesador tendr que tratar con mltiples fuentes de datos del mundo real. En cada caso, el procesador tiene que ser capaz de recibir y transmitir datos en tiempo real, sin interrumpir sus operaciones matemticas internas. Hay tres fuentes de datos del mundo real:

alimentar una PC con 8 seales de audio de alta calidad y observen si no se ve afectado el rendimiento del procesador. Una de las diferencias ms importante encontrada entre un DSP y un Microcontrolador es la estructura de memoria que poseen. En un microcontrolador es posible encontrar una memoria lineal, en la que se almacenan tanto datos como instrucciones de programa. Esto obliga a generar programas que no sobrepasen lmites de tamao ya que podran sobrescribirse datos por instrucciones o viceversa. Un DSP posee dos bloques separados e independientes de memoria, cada uno con su propio bus de acceso, permitiendo as al procesador ir a buscar la siguiente instruccin y dato en el mismo ciclo de reloj (Fetch). Otra diferencia importante entre un Microcontrolador y un DSP (y an entre DSP's) es la cantidad de unidades de ejecucin que poseen, las cuales son capaces de realizar operaciones en paralelo. Por ejemplo, adems de la tpica ALU, un DSP posee bloques MAC de multiplicacin y acumulacin, se encuentran tambin bloques slo para corrimientos, shifters. Cabe destacar que en la actualidad cada vez se empieza a desarrollar ms la tecnologa mezclada entre microprocesadores y DSP's. Diversas son las razones para que se produzca esta integracin, sin embargo a groso modo es posible identificar una en particular. Los requerimientos de control en tiempo real bajo condiciones cada vez ms exigentes en cuanto a necesidad de clculo han llevado a los fabricantes de microcontroladores (microchip, ST, etc.) a integrar a sus microprocesadores caractersticas de DSP (unidades de clculo paralelas, pipeling, etc.) y por el otro lado los fabricantes de DSP's (Texas, Motorola, Analog Device, etc.) empiezan a utilizar las caractersticas de Microcontroladores (Conversores A/D, puertos digitales I/O, bloques PWM) integrndolas dentro del DSP.

VII.

DSP vs. PROCESADOR COMUN

Cuando aparecieron por primera vez los procesadores DSP, eran bastante rpidos: por ejemplo, el primer DSP de coma flotante AT&T DSP32 corri a 16 MHz en un momento en que los relojes de PC eran de 5 MHz. Una demostracin de moda en ese momento era realizar un clculo fractal (Mandelbrot) en un DSP y en una PC, uno al lado de la otra. El DSP fractal fue, por supuesto, ms rpido. Hoy, sin embargo, el procesador DSP ms rpido TMS320C6201 de Texas corre a 200 MHz. Esto ya no es muy rpido en comparacin con un nivel de entrada de PC. Y hoy el mismo clculo fractal corre ms rpido en el PC que en el DSP. Sin embargo se siguen usando actualmente por que? la respuesta reside parcialmente en la capacidad de ejecutar operaciones en paralelo, una respuesta ms bsica es que un DSP puede manejar muchas seales, traten de

Ventajas y Desventajas de los DSPs: La Tecnologa VLSI (Very Large Scale Integration) da la posibilidad de disear sistemas con la capacidad para ejecutar procesamiento en tiempo real de muchas de las seales de inters para aplicaciones en comunicaciones, control, procesamiento de imagen, multimedia, etc. Los sistemas digitales son ms confiables que los correspondientes sistemas anlogos. Los sistemas digitales ofrecen una mayor flexibilidad que los correspondientes sistemas anlogos. Mayor precisin y mayor exactitud pueden ser obtenidas con sistemas digitales, comparado con los correspondientes sistemas anlogos. Un sistema programable permite flexibilidad en la reconfiguracin de aplicaciones DSP. La tolerancia de los componentes en un sistema anlogo hacen que esto sea una dificultad para el diseador al controlar la exactitud de la seal de salida anloga. Por otro lado, la exactitud de la seal de salida para un sistema digital es predecible y controlable por el tipo de aritmtica usada y el nmero de bits usado en los clculos. Las seales digitales pueden ser almacenadas en un disco flexible, Disco Duro o CDROM, sin la prdida de fidelidad ms all que el introducido por el conversor Anlogo Digital (ADC). ste no es el caso para las seales anlogas. A pesar de ellas existen algunos inconvenientes que debern ser tomados en cuenta al momento de escoger una plataforma para el procesamiento de seales analgicas por medios digitales: La conversin de una seal analgica en digital, obtenida muestreando la seal y cuantificando las muestras, produce una distorsin que nos impide la exacta reconstruccin de la seal analgica original a partir de muestras cuantificadas.

Existen efectos debidos a la precisin finita que deben ser considerados en el procesado digital de las muestras cuantificadas. Para muchas seales de gran ancho de banda, se requiere procesado en tiempo real. Para tales seales, el procesado analgico, o incluso ptico, son las nicas soluciones vlidas. Sin embargo, cuando los circuitos digitales existen y son de suficiente velocidad se hacen preferibles. VIII. DSP FLOTING POINT

Los DSP de punto flotante suelen utilizarse en campos de aplicacin del procesado digital con mayor carga computacional. Algunas de las aplicaciones mas usuales de este tipo de procesadores son: procesado de video e imagen, grficos 3D, radar, sonar, instrumentacin de precisin, procesado victorial, comunicaciones de alta velocidad, aplicaciones multiprocesos, etc. Un ejemplo de DSP punto flotante es el TMS320C3x, que constituye la tercera generacin de DSP de Texas Instruments. Son procesadores de punto flotante con 32 bits de bus de datos y capaces de alcanzar hasta 40 MFLOPS (Milliom floating point operations per second), es decir el numero de multiplicaciones, sumas, restas, etc. En punto flotante que el procesador puede realizar. El TMS320C3x dispone de una estructura de buses internos y dos buses externos. Los buses de direcciones permiten direccionar hasta un mximo de 16M palabras. La arquitectura de punto flotante es mas moderna y resulta suficientemente exacta y rpida para la mayora de las aplicaciones. Es muy frecuentemente utilizada para lograr una buena aproximacin del numero que se desea representar, pero a menudo requiere de un redondeo, debido a su limitada precisin. IX. DSP FIXED POINT

La arquitectura de punto fijo fue introducida a comienzos de la dcada de los 80 y esta

basada en una presentacin que contiene una cantidad fija de dgitos despus del punto decimal. Al no requerir de unidad de punto flotante (FPU), la mayora de los chips DSP de bajo costo utilizan esta arquitectura, aunque en determinados casos esta alternativa ofrece tambin mejor performance o mayor exactitud. X. PUNTO FLOTANTE Vrs. PUNTO FIJO

Endoscopia digital, oximetros de pulso, ECG diagnostico, endoscopia. Estetoscopio Digital

La aritmtica de punto flotante es mas flexible que la de punto fijo. Con punto flotante, los diseadores de sistemas tienen acceso a un margen dinmico mas amplio. En consecuencia los DSP de punto flotante, son generalmente mas fciles de programar que los de punto fijo, pero son usualmente mas caros. El mayor coste es resultado del requisito de una mayor complejidad circuital que se traduce en un mayor tamao de chip. Sin embargo el mayor margen dinmico facilita su programacin, pues el programador no debe preocuparse por el margen dinmico ni por la precisin. Por el contrario en los DSP de punto fijo, el programador a menudo debe escalar las seales en sus programas para asegurar una adecuada precisin numrica con el limitado margen dinmico del DSP de punto fijo. Por lo general las aplicaciones con gran volumen de unidades y/o bajo consumo utilizan los DSP de punto fijo al ser la prioridad en este tipo de aplicaciones el bajo coste.

Oximetro de pulso

ECG diagnstico XI. APLICACIONES BIOMDICAS

C5000 Ultra Low Power DSP 16 bits y hasta 100 MHz para permitir diagnstico medico en tiempo real. Acelerador FFT, para una mejora de eficiencia de energa de hasta 6x. Modo extensivo de baja potencia, para ciclos de trabajo de baja demanda.

Aplicaciones de este dispositivo:

C6000 High Performance Multicore DSP Wireless Standards: LTE, WiMAX, WCDMA, 3G, GSM, 2G Available DSP Libraries: FFT/iFFT, DFT, filtering, signal processing Multicore Software: Networking stacks, Development software/tools, Linux support Hardware Cards: AMC, PCIe TIs fixed- and floating-point C66x DSP cores, running at up to 1.25GHz. Plataforma multinucleo de energa eficiente de hasta 10GHz para aplicaciones de procesamiento.

MRI

Aplicaciones de este DSP: Ultrasonido y US porttil, MRI y CT scan.

CT scan

US

Otras aplicaciones como DEA

US porttil

Monitor de paciente

XIII.

GLOSARIO TCNICO

DSP: (Digital Signal Processor). Procesador digital de seal. ALU: (Arithmetic/Logic Unit). Unidad aritmticolgica. Unidad de ejecucin en un procesador responsable de la aritmtica (sumar, restar, desplazar, etc.) y de la lgica (y, o, no, oexclusiva, etc.). MIPS: (Million instructions per second). Nmero de instrucciones que el procesador puede ejecutar por segundo. La clave est en cunto puede hacer cada instruccin. El parmetro MFLOPS es normalmente una medida ms fiable de las prestaciones del procesador. MOPS: (Million operation per second). Nmero total de operaciones que el procesador puede realizar por segundo. Se incluye accesos DMA, transferencias de datos, operaciones de entrada salida. Este parmetro proporciona una idea aproximada de la capacidad de procesado y de entrada salida del procesador. MFLOPS: (Million floating-point operations per second). Nmero de multiplicaciones, sumas, restas, etc. en coma flotante que el procesador puede realizar. Algunas veces este parmetro hace referencia a valores de pico en lugar de valores sostenidos. MBPS: (Mega-bytes per second). Proporciona una medida del rendimiento total de procesamiento de datos. MMACS: (Million multiply-accumulate per second). Nmero de multiplicaciones y acumulaciones que el procesador puede realizar por segundo. VLIW: (Very long instruction word). Formato muy largo de palabra de instruccin. FFT: (Fast Fourier Transform). Transformada de Fourier rpida. Mtodo computacional eficiente para estimar el espectro frecuencial de una seal.

XII.

CONCLUSIONES

Los DSP poseen arquitecturas especialmente diseadas para acelerar los clculos matemticos intensos utilizados en la mayora de sistemas de procesado de seal en tiempo real. Se ha visto que el DSP est muy estrechamente ligado al tipo de aplicacin. La tendencia es que vayan apareciendo DSP con arquitecturas que estn cada vez ms adaptadas a las particularidades de las diferentes aplicaciones. En este sentido, aunque a nivel de prestaciones varios DSP puedan reunir los requisitos necesarios exigidos por una aplicacin, otras consideraciones como el coste o el consumo pueden ayudar a disminuir el nmero de posibles candidatos. Por otro lado, la reciente aparicin de compiladores realmente eficaces en extraer el paralelismo de un programa ha propiciado la recuperacin de las arquitecturas VLIW y con ello la obtencin de DSP de elevadas prestaciones. La arquitectura VLIW posee una gran ventaja frente a los procesadores superescalares, y es que la extraccin del paralelismo se realiza por el compilador y ello permite dedicar ms tiempo para obtener la mejor optimizacin. En consecuencia, el procesador resulta ser mucho ms simple y con un nmero mucho menor de transistores, lo que permite trabajar con velocidades de reloj ms elevadas y con un menor consumo.

FIR: (Finite impulse response). Respuesta impulsional finita. Una categora de filtros digitales. IIR: (Infinite impulse response). Respuesta impulsional infinita. Una categora de filtros digitales. PGA: (Pin grid array). Un tipo de encapsulado para circuitos integrados. Las conexiones externas se realizan con terminales de conexin dispuestos en forma de cuadrcula. PQFP: (Plastic quad flat pack). Un tipo de encapsulado para circuitos integrados. QFP: (Quad flat pack). Un tipo de encapsulado para circuitos integrados. Los circuitos integrados con este encapsulado son tpicamente ms baratos que el mismo circuito con encapsulado PGA. TQFP: (Thin quad flat pack). Tipo de encapsulado similar, pero ms delgado, al PQFP. El encapsulado TQFP normalmente se utiliza en sistemas porttiles pequeos.

XV.

Costos C6000 entre $5 a $200 (ncleo sencillo, hasta procesadores ARM)

300MHz to > 1.5GHz Floating/Fixed DSP + Video Accelerators. Cache, RAM, ROM, mDDR, DDR2/DDR3, USB 2.0 OTG, GEMAC, SATA, SPI, UPP, PRU, PCIe2.0, McBSP, McASP C6000 $40 a $200 (multincleo)

Up to 10GHz Multicore, fixed/floating + Accelerators. Cache, RAM, ROM, RapidIO, PCIe, 10/100MAC, Hyperlink, DDR2/3 C5000 entre $2 a $10 (bajo consumo)

Up to 300 MHz 16-bit fixed Point + FFT Accelerator. Up to 320KB RAM, Up to 256KB ROM, USB 2.0 w/ PHY, SD/MMC, SPI, McBSP, I2S, UART, LCD, On-chip regulators

XIV.

BIBLIOGRAFA Y REFERENCIAS DE INTERNET

[1]. Phil Lapsley, Jeff Bier, Amit Shoham and Edward A. Lee, DSP Processor Fundamentals: Architectures and Features, Berkeley, California: Berkeley Design Technology, Inc., 1996 [2]. Christopher Inacio and Denise Ombres, The DSP decision: fixed point or floating?, IEEE Spectrum, vol. 33, no. 9, pp. 72-74, sept. 1996. [3]. Definiciones y http://es.wikipedia.org/wiki/DMA trminos:

[4]. Pagina oficial Texas Intruments: www.ti.com

Anda mungkin juga menyukai