Introducción a los DSP - uncor

18
gina 1 de 18 FCEFyN Universidad Nacional de Cordoba INTRODUCCIÒN A LOS DSP Procesamiento Digital de Señales – FCEFyN – UNC INTRODUCCIÒN A LOS DSP CAPÍTULO I INTRODUCCIÓN Los rápidos avances en la electrónica, particularmente en las técnicas de fabricación de circuitos integrados, han tenido, y sin duda continuarán teniendo, un gran impacto en la industria y la sociedad. El rápido desarrollo de la tecnología de circuitos integrados, empezando con la integración a gran escala (LSI, Large Scale Integration), y ahora la integración a gran escala (VLSI, Very Large Scale Integration) de circuitos electrónicos ha estimulado el desarrollo de computadores digitales más potentes, pequeños, rápidos y económicos, utilizados en hardware digitales de propósito general. Estas características, han hecho posible construir sistemas digitales altamente sofisticados, capaces de realizar funciones y tareas del procesado de señales digitales que normalmente eran demasiado difíciles y/o caras con circuitería o sistemas de procesado de señales analógicas. De aquí, que muchas de las tareas del procesado de señales que convencionalmente se realizaban analógicamente, se realicen hoy mediante hardware digital, a un menor costo y a menudo más confiable. Los Sistemas DSP modernos son apropiados para su implementación bajo el criterio VLSI. Las grandes inversiones necesarias para diseñar un nuevo circuito integrado sólo pueden ser justificadas cuando el número de circuitos a fabricar es grande, o cuando los niveles necesarios de desempeño son tan altos que no pueden ser alcanzados con la tecnología existente. A menudo, ambos argumentos son válidos, particularmente en comunicaciones y aplicaciones dirigidas a los consumidores. Avances en la tecnología de fabricación de circuitos integrados también abren nuevas áreas de desarrollo basadas en DSP, tales como sensores inteligentes, visión de robots y automatización, mientras entrega las bases para continuar los avances en áreas tradicionales del procesamiento digital de señales, tales como música, voz, radar, sonar, video, audio y comunicaciones. El siguiente texto tiene como fin entregar una breve introducción a los sistemas DSP a través de la presentación de sus principales características, aplicaciones y algunos datos de interés en cuanto a fabricantes, modelos y formas de elegir la plataforma más adecuada. PROCESADORES DIGITALES DE SEÑALES De manera habitual se esta acostumbrado a escuchar acerca del Procesamiento Digital de Señales o DSP por sus siglas en ingles (Digital Signal Processing). Se entiende al procesamiento digital de señales, como la disciplina dentro del área de las matemáticas, que tienen como objeto operar o transformar señales digitales con el fin de entender o destacar la información implícita o explicita que estas poseen. Entendiendo como señal digital, a la evolución temporal discreta de alguna magnitud física sensada, como por ejemplo: señales de radar, música, voz, sonar, vibraciones, temperatura, etc.

Transcript of Introducción a los DSP - uncor

Page 1: Introducción a los DSP - uncor

 

 

        

Página  1 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

CAPÍTULO I INTRODUCCIÓN 

Los  rápidos  avances  en  la  electrónica,  particularmente  en  las  técnicas  de  fabricación  de  circuitos integrados, han tenido, y sin duda continuarán teniendo, un gran impacto en la industria y la sociedad. El rápido desarrollo de la tecnología de circuitos integrados, empezando con la integración a gran escala (LSI, Large Scale Integration), y ahora la integración a gran escala (VLSI, Very Large Scale Integration) de circuitos electrónicos ha estimulado el desarrollo de computadores digitales más potentes, pequeños, rápidos y económicos, utilizados en   hardware digitales de propósito general. Estas características, han hecho posible construir sistemas digitales altamente sofisticados, capaces de realizar funciones y tareas del procesado de señales digitales que normalmente eran demasiado difíciles y/o caras con circuitería o sistemas  de  procesado  de  señales  analógicas.  De  aquí,  que muchas  de  las  tareas  del  procesado  de señales  que  convencionalmente  se  realizaban  analógicamente,  se  realicen  hoy  mediante  hardware digital, a un menor costo y a menudo más confiable.  Los Sistemas DSP modernos son apropiados para su  implementación  bajo  el  criterio  VLSI.  Las  grandes  inversiones  necesarias  para  diseñar  un  nuevo circuito  integrado  sólo pueden  ser  justificadas  cuando el número de  circuitos a  fabricar es grande, o cuando  los  niveles  necesarios  de  desempeño  son  tan  altos  que  no  pueden  ser  alcanzados  con  la tecnología existente. A menudo, ambos argumentos son válidos, particularmente en comunicaciones y aplicaciones dirigidas a los consumidores. Avances en la tecnología de fabricación de circuitos integrados también abren nuevas áreas de desarrollo basadas en DSP, tales como sensores  inteligentes, visión de robots y automatización, mientras entrega  las bases para continuar  los avances en áreas tradicionales del  procesamiento  digital  de  señales,  tales  como  música,  voz,  radar,  sonar,  video,  audio  y comunicaciones. El siguiente texto tiene como fin entregar una breve introducción a los sistemas DSP a través de  la presentación de sus principales características, aplicaciones y algunos datos de  interés en cuanto a fabricantes, modelos y formas de elegir la plataforma más adecuada. 

 

PROCESADORES DIGITALES DE SEÑALES 

De manera habitual se esta acostumbrado a escuchar acerca del Procesamiento Digital de Señales o DSP por sus siglas en ingles (Digital Signal Processing). Se entiende al procesamiento digital de señales, como la disciplina dentro del área de las matemáticas, que tienen como objeto operar o transformar señales digitales  con  el  fin  de  entender  o  destacar  la  información  implícita  o  explicita  que  estas  poseen. Entendiendo como  señal digital, a  la   evolución  temporal discreta de alguna magnitud  física  sensada, como por ejemplo: señales de radar, música, voz, sonar, vibraciones, temperatura, etc. 

Page 2: Introducción a los DSP - uncor

 

 

        

Página  2 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Con  el  avance  de  la  tecnología,  esta  disciplina  teórica,  fue materializándose  en  diferentes  circuitos electrónicos que permitieron desarrollar etapas de procesamiento digital de señal. Tal desarrollo llevó a contar con Procesadores Digitales de Señal o DSP por sus siglas en ingles (Digital Signal Processor).  

Un DSP es un microprocesador que permite realizar el procesamiento digital de señal a partir reglas bien definidas  las cuales  son  introducidas al hardware a  través de un  software específico que puede o no manejar  lenguajes  tanto de alto como de bajo nivel. Una de  las características que hacen único a  los DSP,  es  la  posibilidad de  realizar  el  procesamiento  de  las  señales  en  tiempo  real.  Esta  capacidad  de procesamiento en tiempo real hace a  los DSP  ideales para aplicaciones que no toleran ningún retardo, como por ejemplo,  las comunicaciones  telefónicas por celular. Si esto no  fuera posible de  realizar, se tendría retardos que darían lugar cortes o a confusión al momento de entablar una comunicación.  

 

DE ANÁLOGO A DIGITAL 

Las aplicaciones clásicas de los DSP trabajan señales del mundo real, tales como sonido y ondas de radio que se originan en forma analógica. Como se sabe, una señal analógica es continua en el tiempo; cambia suavemente desde un estado a otro. Los computadores digitales, por otro lado, manejan la información discontinuamente,  como una  serie de números binarios, por  lo que  se hace necesario  como primera etapa en la mayoría de los sistemas basados en DSP, transformar las señales analógicas en digitales. Esta transformación  la hacen  los Conversores Analógicos – Digitales  (ADC, en  inglés). Una vez terminada  la etapa  de  conversión  analógica  –  digital,  los  datos  son  entregados  al  DSP,  el  cual  está  ahora  en condiciones de procesarlas. Eventualmente el DSP deberá devolver los datos ya procesados para lo cual es necesaria una etapa  final que  transforme el  formato digital a analógico. Por ejemplo, una señal de audio  puede  ser  adquirida  (ADC)  y  filtrada  para  eliminar  en  gran medida  ruido,  crujidos de  estática, amplificar ciertas  frecuencias de  interés, eliminar otras, etc.  Luego de esto,  la  información puede  ser devuelta a través de una conversión digital – analógica (DAC).  

Ejemplos interesantes de aplicaciones en las cuales se utilizan DSP:  

Eliminar el eco en las líneas de comunicaciones.  

Lograr hacer más claras aquellas imágenes obtenidas de los equipos de diagnóstico médico por imágenes.  

Cifrar conversaciones en teléfonos celulares para mantener privacidad.  

Analizar datos sísmicos para determinar los estratos que subyacen en el subsuelo. 

En su núcleo, un DSP es altamente numérico y repetitivo. A  la vez que cada dato esta disponible, éste debe ser multiplicado, sumado y además de eso transformado de acuerdo a fórmulas complejas. Lo que 

Page 3: Introducción a los DSP - uncor

 

 

        

Página  3 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

permite realizar todo ello, es la velocidad del dispositivo. Los sistemas basados en DSP deben trabajar a tal  velocidad, que  sean  capaces de  realizar procesamiento  en  tiempo  real,  capturando  y procesando información a  la vez que el  fenómeno  transcurre o con una  tasa de retardo de tiempo aceptable. Los conversores analógicos – digitales deben adquirir la información lo suficientemente seguido como para captar todas las fluctuaciones relevantes de las señales. Si el ADC es muy lento se perderá información. Por otro  lado el DSP también debe trabajar rápido para no perder  la  información que  le  llega desde el ADC y además cumplir con el adecuado procesamiento de las señales. Por ejemplo, un sistema estereo maneja  sonidos  de  hasta  20  KHz,  por  lo  tanto  el  DSP  deberá  ser  capaz  de  procesar  alrededor  del centenar de millones de operaciones por segundo. Otras señales, tales como transmisiones por satélite son del orden de los Gigahertz por lo que requieren un procesamiento de mayor velocidad. En las Figura 1 y 2 se muestra un diagrama en bloques conceptual de un sistema de procesamiento digital de señal que utiliza un DSP.  

Interfaz de Usuario Display

PROCESADOR DIGITAL DE SEÑALES

(DSP)

Sensores Entradas Digitales

Entradas Analógicas

Actuadores Salidas Digitales

Salidas Analógicas ADC DAC 

Figura 1: Diagrama de bloques conceptual de un sistema digital. ADC : Conversor Análogo Digital. DSP : Digital Signal Processor. DAC : Conversor Digital Análogo. 

Entrada Analógica

Filtro Anti-aliasing

CAD DSP CDA

Filtro Anti-imagen

Salida Analógica

HOST

Programador

 

Figura 2: Ejemplo de aplicación de un DSP. La señal entrante entra directamente en un filtro antialiasing para evitar frecuencias superiores a la de muestreo del conversor analógico‐digital. Después se lleva a cabo el procesado digital en el módulo DSP, para después volverse a convertir en analógico a la salida. 

Page 4: Introducción a los DSP - uncor

 

 

        

Página  4 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

UN DSP PARA CADA APLICACIÓN: FORMATO ARITMETICO Y ANCHO DE PALABRA 

Una de las características más importantes que determinan la idoneidad de un DSP para una aplicación dada es el tipo de formato y número de bits de los datos con que realiza los cálculos matemáticos. Con relación  al  tipo  de  formato  de  datos,  los DSP  pueden  operar  con  números  en  coma  fija  o  en  coma flotante.  

Algunos DSP sólo son capaces de operar con números enteros, mientras que las aplicaciones es común manejar números fraccionarios como por ejemplo  los coeficientes de un filtro. El formato de coma fija utiliza una representación similar a la de un número entero, salvo que se considera la existencia de un punto binario mediante  el  cual  se  escalan  los  valores  enteros para de  esta  forma, obtener números fraccionarios. Este  factor de escala es  igual a 2‐bp donde “bp” es  la posición del punto binario. El DSP realiza las operaciones de suma o multiplicación como si se tratase de números enteros, sin considerar este factor de escala. Es responsabilidad del programador interpretar la posición del punto binario. 

Al desplazar el punto decimal a  la  izquierda, utilizando más bits para  la parte fraccionaria,  la precisión aumenta, pero disminuye el margen de valores de la representación. Puesto que el tamaño de la palabra de datos es  fijo,  la situación del punto binario será una situación de compromiso entre  la precisión a obtener y el margen de valores a cubrir. El programador debe utilizar el mayor número de bits para  la parte fraccionaria (máxima precisión) que permiten representar todo el rango de valores que toma una variable. 

Si durante el procesamiento un número en coma fija aumenta demasiado para poder ser representado con  el  número  de  bits  disponibles  para  la  parte  entera,  el  programador  debe  realizar  un  escalado descendente del número mediante un desplazamiento a derechas perdiendo  los bits de menor peso y por tanto disminuyendo la precisión. Si por el contrario el número en coma fija disminuye demasiado el número de bits utilizados en  la parte fraccionaria puede ser  insuficiente. El programador debe realizar un desplazamiento a izquierdas para aumentar la precisión. 

En ambos  casos el programador debe  tomar en  consideración  como  se ha  ido desplazando el punto binario restaurando todos los números de coma fraccionaria a una misma escala en una etapa posterior. Esto convierte la programación de aplicaciones en una tarea muy tediosa. 

La  utilización  de  rutinas  en  coma  fija  que  emulan  las  operaciones  en  coma  flotante  (que  permiten manejar  cómodamente  números  fraccionarios)  es muy  costosa  en  cuanto  tiempo  de  ejecución  del código, lo que hace imposible su uso en aplicaciones de tiempo real. 

Otros procesadores disponen de una CPU capaz de operar directamente con números de coma flotante. La aritmética en  coma  flotante es un mecanismo más  flexible que  la aritmética en  coma  fija. Con  la aritmética en coma  flotante,  los diseñadores de sistemas  tienen acceso a un  rango de valores mucho más amplio y a una mejor precisión. Esto facilita la programación ya que no es necesario preocuparse de 

Page 5: Introducción a los DSP - uncor

 

 

        

Página  5 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

la  realización  del  escalado. Un  número  de  coma  flotante  se  representa mediante  una mantisa  y  un exponente siendo su valor: 

valor = mantisa ∙ 2 exponente                                                                      (1) 

La mantisa  es  un  número  fraccionario mientras  que  el  exponente  determina  la  posición  del  punto binario. En estos procesadores es el propio hardware de la CPU el que realiza los escalados mencionados anteriormente,  quedando  reflejada  la  posición  del  punto  binario  en  el  exponente.  Esto  facilita enormemente  la  programación  de  las  aplicaciones.  En  la  Figura  3,  se muestra  un  resumen,  de  las representaciones numéricas más comunes en los DSP.   

b7 b6 b5 b4 b3 b2 b1 b0

0 1 0 1 0 0 1 127 26 25 24 23 22 21 20

64 + 16 + 2 + 1

= 83

 

(a) 

b7 b6 b5 b4 b3 b2 b1 b0

0 1 0 1 0 0 1 1 24 23 22 21 20 2-1 2-2 2-3

8 + 2 + 0.25+0.125

Bit de Signo

Parte fraccionaria

= 10.375

Parte entera

bp = 3

 

(b) 

0 1 1 0 1 0 0 0 0 0 1 1 021 20 2-1 2-2 2-3 2-4 2-5 2-6 2-7 23 22 21 20

Valor = mantisa . 2 exponente

•mantisa exponente

 

(c) 

DSP

Coma Fija Coma Flotante

16 bit 20 bit 24 bit 32 bit

IEEE - 754 Otros 

Figura 3. Representaciones numéricas comunes en los DSP comerciales. a) Formato número entero, b) Formato número coma fija, c) Formato número coma flotante.   

Page 6: Introducción a los DSP - uncor

 

 

        

Página  6 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Además de  la  clasificación que normalmente  se  realiza de un DSP en base  al  tipo de  aritmética que utilizan  para  realizar  los  cálculos matemáticos  (coma  fija  y  coma  flotante),  dentro  de  cada  grupo  se clasifican, según la anchura de su palabra de datos. 

Los DSP de coma fija requieren un hardware más simple que  la de  los procesadores de coma flotante. Esto se traduce en una reducción del coste unitario del DSP haciéndolos  idóneos para aplicaciones de gran consumo que no requieran unas prestaciones elevadas. Esta simplicidad en el DSP también reduce el consumo del dispositivo y su tamaño, un aspecto sumamente interesante para aplicaciones portátiles como por ejemplo teléfonos móviles. La utilización de un DSP poco sofisticada permite liberar área del chip para  incluir bancos de  internos de memoria RAM de mayor tamaño o  incluso bancos de memoria EPROM o FLASH, donde grabar el código de  la aplicación. Además, suelen disponer de un conjunto de periféricos más  variado.  De  hecho  los  procesadores  destinados  a  aplicaciones  específicas  como  por ejemplo control de motores, sistemas de tratamiento de voz, etc., son procesadores de coma fija. 

La  anchura  de  la  palabra  de  datos  puede  ser  según  los  casos  de  16,  24  o  32  bits.  Esto  tiene  una importante repercusión en el coste, porque influye poderosamente en el tamaño del circuito integrado y en el número de terminales del dispositivo, así como el tamaño de los dispositivos de memoria externa conectados  al mismo.  Por  lo  tanto,  los  diseñadores  intentan  utilizar  el  chip  con  el menor  ancho  de palabra que su aplicación puede tolerar. 

Los DSP de coma flotante son dispositivos de gama alta, cuya CPU dispone de hardware específico para operar con datos de coma flotante. La anchura de la palabra de datos suele ser de 32 bits si bien el uso de  bits  de  guarda  les  permite  operar  en  el  interior  de  la  CPU  con  datos  de  40  bits.  Esto  no  es impedimento para que puedan operar también con datos en coma fija. El área ocupada del CPU de este tipo de DSP es mayor que en el caso de los de coma fija. Por este motivo, la variedad de los periféricos que  integran es menor, tratándose en  la mayoría de  los casos de periféricos  (puertos serie y paralelo, DMA) utilizados en  la comunicación con elementos externos  (conversores A/D y D/A). Dentro de este grupo  de  DSP,  los más  sofisticados  disponen  de  puertos  de  comunicación  que  permiten  facilitan  el montaje de redes de DSP para procesamiento en paralelo. 

Cada tipo de procesador es ideal para un rango específico de aplicaciones. Los procesadores de 16 bits de coma fija son adecuados para sistemas de voz, como teléfonos, ya que éstos trabajan con el rango relativamente estrecho de las frecuencias del sonido. Las aplicaciones estéreo de alta fidelidad tienen un rango  de  frecuencias más  amplio,  de  forma  general,  los  requerimientos mínimos  para  este  tipo  de aplicaciones  serían  un  ADC  de  16  bits  y  un  procesador  de  24  bits  de  coma  fija,  de  esta  forma  se proporciona  un  rango  suficientemente  amplio  para  obtener  la  señal  de  alta  fidelidad  y  para  poder manipular  los valores que se obtienen al procesar  la señal. El procesamiento de  imágenes, gráficos en 3D  y  simulaciones  científicas  tiene  un  rango  dinámico  mucho  más  amplio,  por  lo  que  precisa procesadores DSP de 32 bits con aritmética de coma flotante. . Los siguientes son ejemplos de los usos de DSP en la actualidad:   

Page 7: Introducción a los DSP - uncor

 

 

        

Página  7 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Wireless LAN, 

Reconocimiento de Voz, 

Manejo de imágenes digitales, 

Reproductores digitales de audio, 

Teléfonos celulares, 

Modems inalámbricos, 

Cámaras digitales, 

Control de motores, 

Manejo de bombas, ventiladores, HVAC, 

Inversores industriales, 

Automatización y Control de sistemas,  

Transporte, etc. 

 

RANGO DINAMICO  

El rango dinámico es un concepto propio de los procesadores. Se define como la relación existente entre el máximo y mínimo valor (distinto de cero) representables. En un formato de coma flotante éste viene determinado por el número de niveles del exponente. Si expresamos esta relación en dB: 

RD[dB] = 6 ∙ Niveles del exponente                                                           (2) 

Así para el caso típico de un exponente de 8 bits el rango dinámico es de 1530. En un formato en coma fija este depende del tamaño de palabra de datos según la relación: 

RD[dB] = 6 ∙ Tamaño de palabra                                                           (3) 

El rango dinámico del procesador debe ser superior al de  la aplicación. Este último viene determinado por  los  conversores  A/D  y  D/A  utilizados.  De  esta  forma  se  garantiza  que  los  errores  introducidos durante el procesamiento (debidos a truncamientos, redondeos, etc) quedan por debajo del error que introducen los propios conversores. En la Figura 4, se muestra un grafica  de los valores típicos de rango dinámico.   

Page 8: Introducción a los DSP - uncor

 

 

        

Página  8 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Rango

Dinámico (dB)

Nº bits

1500

1000

500

1500 dB

192 dB 144 dB 96 dB

Coma flotante de 32/40 bits.

Coma fija de 32 bits.

Coma fija 24 bits.

Coma fija 16 bits.

 

Figura 4: Valores típicos de Rango Dinámico 

  

CARACTERÍSTICAS DE UN DSP 

Una  de  las más  importantes  características  de  un  DSP  es  su  capacidad  de  realizar  operaciones  de multiplicación y acumulación  o MAC  (por sus siglas en ingles multiply‐accumulate unit) en pocos ciclos de  reloj.  No  obstante  para  ello,  es  necesario  que  el  dispositivo  posea  la  característica  de manejar aplicaciones críticas en tiempo real. Esto requiere de una arquitectura que soporte un flujo de datos a alta velocidad hacia y desde la unidad de cálculo y memoria. Esta ejecución a menudo requiere el uso de unidades DMA  (Direct Memory Acess)  y  unidades  generadores  de  direcciones  (AGU)  que  operan  en paralelo  con  otras  partes  del  chip.  Los AGU  realizan  los  cálculos  de  direcciones,  permitiendo  al DSP buscar dos datos distintos para operar con ellos en pocos ciclos de  reloj, de  tal  forma que es posible ejecutar algoritmos complejos en tiempo real. Es importante para los DSP tener un mecanismo efectivo de salto para la ejecución de loops ya que el código generalmente programado es altamente repetitivo. La arquitectura permite  realizar estos  loops  sin  instrucciones  adicionales ni demoras  significativas en comparación con otros tipos de procesadores.   

Los DSP deben manejar rangos dinámicos extendidos y de precisión para evitar overflow y underflow y para  minimizar  los  errores  de  redondeo.  Para  acomodarse  a  esta  capacidad,  los  DSP  incluyen acumuladores  dedicados  con  registros  más  anchos  que  el  tamaño  nominal  de  los  datos  para  así conservar  la precisión  (por ejemplo, DSP de 16 bits poseen acumuladores de 32 bits para manejar el resultado  de  las multiplicaciones).  También  deben  soportar  el manejo  de  buffers  circulares  para  la ejecución de funciones algorítmicas, tales como filtros. En estos tipos de buffers el puntero del buffer se actualiza en paralelo con otras funciones del chip en pocos ciclos de reloj.  

Page 9: Introducción a los DSP - uncor

 

 

        

Página  9 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Por otro lado, los DSP al igual que todo microcontrolador, se utilizan sobre todo en aplicaciones donde existen acontecimientos externos los que requieren de la detección y el control. El ambiente externo es detectado  por  cualquiera  de  los  dispositivos  periféricos;  puertos  digitales  I/O,  pines  dedicados  a  las interrupciones  o  las  entradas  analógicas.  La  fuente  de  señales  para  estos  pines  proviene  de  los interruptores,  sensores  analógicos  y/o  digitales,  y  de  las  señales  de  estado  de  otros  sistemas.  Cada entrada representa un pedazo de información sobre el estado de un cierto acontecimiento exterior. Las salidas  se envían a actuadores,  relays, motores o a otros dispositivos que controlen acontecimientos. Entre  la detección y actuación está el DSP, analizando  las entradas y el estado actual del sistema, para luego realizar la acción  que se les programó.  

Un DSP se puede programar tanto en  lenguaje ensamblador como en  lenguaje C. Cada familia de DSP tiene su propio lenguaje ensamblador y sus propias herramientas suministradas por el fabricante. En los últimos tiempos hay otros fabricantes que desarrollan plataformas especiales que permiten programar a los DSP en entornos de alto nivel como por ejemplo Matlab y Labview.  

La  organización  del  subsistema  de  memoria  de  un  DSP  puede  tener  un  gran  impacto  en  sus prestaciones.  Como  se  ha  mencionado  anteriormente,  la  instrucción  MAC,  así  como  otras,  son fundamentales  en  muchos  de  los  algoritmos  de  procesado  de  señal.  Una  ejecución  rápida  de  la instrucción MAC requiere que la lectura en memoria del código de la instrucción y de sus dos operandos se  haga  en  un  ciclo  de  instrucción.  Existe  una  variedad  de  formas  de  hacerlo,  utilizando memorias multipuerto para permitir múltiples accesos a memoria en un ciclo de  instrucción, mediante memorias de  datos  e  instrucciones  separadas  (arquitectura Harvard),  y memorias  caches  de  instrucciones  para permitir el acceso a  la memoria para  la obtención de datos mientras que  las  instrucciones se obtienen de la cache en lugar de la memoria. La Figura 5 muestra las diferencias entre la arquitectura Harvard y la Von Neumann, esta última utilizada en la mayoría de procesadores de propósito general. 

 

PROCESADOR

GENÉRICO

Dir

PROCESADOR

DSP

Memoria de

Programa y de Datos

Memoria

de Programa

Memoria

de Datos

D

Dir

D

Dir

D

Dir = Direcciones D = Datos

 

Figura 5: Tipos de arquitectura de memoria entre un Microcontrolador (arquitectura von Neumann) y un DSP (arquitectura Harvard). 

 

Page 10: Introducción a los DSP - uncor

 

 

        

Página  10 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Otro  punto  importante  a  tener  en  cuenta  es  la  cantidad  de memoria  que  soporta  el DSP,  interna  y externamente. Atendiendo  a  las  características  de  la  aplicación,  la mayoría  de  los DSP  de  coma  fija poseen memorias internas, en el propio chip, de tamaño pequeño medio, entre 256 y 32k palabras, y un bus externo de direcciones pequeño. Así por ejemplo,  la mayoría de  los DSP de  coma  fija de Analog Devices, Lucent Technologies, Freescale y Texas  Instruments  tienen buses de direcciones de 16 bits o menos, lo que limita la cantidad de memoria externa de acceso directo. Por el contrario, la mayoría de los DSP de coma flotante proporcionan poca o ninguna memoria interna, pero se caracterizan por tener buses de direcciones externos de gran tamaño, para soportar una gran cantidad de memoria externa. Por ejemplo, el ADSP‐21020 de Analog Devices no tiene memoria interna pero posee un bus externo de direcciones  de  24  bits. De  forma  similar,  el  TMS320C30  de  Texas  Instruments  posee  6k  palabras  de memoria interna y dos buses externos de direcciones, uno de 24 bits y el otro de 13 bits. Además, estos DSP poseen memorias cache para permitir un uso más eficiente de memorias externas lentas. 

Cabe destacar que en la actualidad cada vez se empieza a desarrollar más la tecnología mezclada entre microprocesadores y DSP. Diversas son las razones para que se produzca esta integración, sin embargo a groso modo es posible identificar una en particular. Los requerimientos de control en tiempo real bajo condiciones cada vez más exigentes en cuanto a necesidad de cálculo han  llevado a  los fabricantes de microcontroladores  (microchip,  ST,  etc.)  a  integrar  a  sus  microprocesadores  características  de  DSP (unidades de cálculo paralelas, pipeling, etc.) y por el otro lado los fabricantes de DSP (Texas, Freescale, Analog Device, etc.) a integrar características de microcontroladores (Conversores A/D, puertos digitales I/O, bloques PWM).  

Como resumen se puede enunciar que las características que hacen a un DSP son:  

Arquitectura del núcleo del DSP. 

o Ejecución rápida de operaciones MAC. 

o Modos de direccionamiento especializados para manejo de buffers a través de unidades AGU. 

Juego de instrucciones. 

o Control eficiente de bucles para algoritmos DSP iterativos como lOOPS. 

Arquitectura de memoria. 

o Múltiples accesos simultáneos a memoria. 

Periféricos integrados e interfaces de I/O. 

Gran interacción con el mundo exterior.  

Page 11: Introducción a los DSP - uncor

 

 

        

Página  11 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

De lo expuesto, a continuación en la Tabla 1, se detallan algunas de las operaciones más comunes en el mundo del procesamiento digital de  señales,  los algoritmos utilizados y el hardware necesario en  las arquitecturas DSP para llevar a cabo dichas operaciones.   

 

Tabla 1: Necesidades del procesamiento digital de señales, a partir de considera que ya se han adquirido las muestras por conversión analógico/digital y se han almacenado las muestras x(n) en un buffer de 

memoria. 

OPERACION  ALGORITMO  RESULTADO  HARDWARE NECESARIO 

Análisis de la señal 

a) Valores máx. y mín.  max

min

x(n) > xx(x) < x

 Valor pico y valle. Rango dinámico. Escalar la señal 

Comparador 

b) Igualdad ref

x(n) = x   Detección de cero   Comparador 

c) Valor medio  mx = [x(1) + x(2) + ... + x(N)] / N  Valor medio. Ajuste rango dinámico 

Acumulador. Divisor. Acceso secuencial de buffer en memoria 

d) Potencia  2 2 2Px = [x(1) + x(2) + ... + x(N) ]   Potencia de la señal  Multiplicación y acumulación. 

e) Valor absoluto  ; ‐x(a) ‐ x(b) x(a) x(b)  Diferencia entre valores. Rango dinámico 

Extraer valor absoluto 

Tratamiento de la señal 

a)Escaleo  y(n) = a x(n)   Amplificación. Atenuación  Multiplicador. Acceso secuencial de 2 buffers. 

b) Decimación  y(n) = x(an) ; a = 2, 3, 4, ...   Disminución del nro. de muestras 

Acceso a buffers salteando a lugares 

c) Interpolación  1 1 1− − −y(n) = x(an) ; a = 2 , 3 , 4 , ...  

Aumento del nro. de muestras 

Intercalar valores en un buffer 

d) Saturación  sat sat

sat sat

if x(n) > x then x(n) = xif x(n) < ‐ x then x(n) = ‐ x

 Mantener señal en el rango dinámico 

Limite en acumulador. 

e) Aumento Precisión 32 16

x (n) = x (n)  Mas bits para el dato  Agregar ceros. Extensión de 

signo. 

f) Redondeo  ±16 32

x (n) = x (n) 0.5 LSB   Menos bits para el dato  Redondeo de acumulador 

g) Truncado 16 32

x (n) = x (n) ‐ LSB   Menos bits para el dato  Truncado de acumulador 

h) Multiplicación  z(n) = x(n).y(n)   Multiplicación de vectores  Acceso simultáneo a 3 buffers secuenciales. 

h)Convolución   ∑N

m=0

z(n) = x(m)y(m ‐ T)  Filtros digitales  MAC.  Acceso simultáneo a 2 

buffers secuenciales. 

i) FFT e IFFT  x(2n), x(2n + 1) , butterfly  Transformada   ←⎯→t f   Acceso bit‐inverso. Multiplicar Acumular.  

Page 12: Introducción a los DSP - uncor

 

 

        

Página  12 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

VELOCIDAD DE LOS DSP 

La medida  clave  para  saber  si  un  DSP  es  o  no  apropiado  para  una  aplicación  es  su  velocidad  de ejecución. Existen varias formas para medir la velocidad de un procesador, aunque quizás el parámetro más usual es el tiempo de ciclo de instrucción: tiempo necesario para ejecutar la instrucción más rápida del procesador. Su inverso dividido por un millón da lugar a la velocidad del procesador en millones de instrucciones por segundo o MIPS. En la actualidad todos los DSP ejecutan una instrucción por ciclo de instrucción.  Un  problema  que  se  presenta  cuando  se  compararan  los  tiempos  de  ejecución  de  instrucciones de varios procesadores es que  la cantidad de trabajo realizado por una  instrucción varía significativamente  de  un  procesador  a  otro.  Por  ejemplo,  algunos  DSP  disponen  de  desplazadotes combinatorios (“barrel shifters”) que permiten hacer desplazamientos de múltiples bits en los datos con sólo  una  instrucción, mientras  que  otros  DSP  requieren  que  el  dato  sea  desplazado  con  repetidas instrucciones de desplazamiento de un solo bit. De forma similar, algunos DSP permiten el movimiento de  datos  en  paralelo  (carga  simultánea  de  datos mientras  se  ejecuta  una  instrucción)  que  no  están relacionados con la instrucción que la ALU está ejecutando, pero otros DSP sólo soportan movimientos en paralelo que estén relacionados con los operandos de la instrucción que esté ejecutando la ALU. 

El parámetro MIPS, al igual que MFLOPS, MOPS, MBPS y otros, se miden de forma muy precisa aunque su valor no necesariamente dice mucho de lo que un determinado DSP es capaz de hacer. Dichos valores sirven  para  ubicar  cada DSP  en  una  categoría  amplia  en  cuanto  a  prestaciones  pero  uno  se  debería preguntar si se trata de valores de pico o sostenidos. Además, también nos deberíamos preguntar cómo se ven afectadas las prestaciones del DSP cuando muchos de los datos se encuentran fuera del chip, en la memoria externa. 

Una solución a estos problemas consiste en decidir una operación básica y utilizarla como referencia al comparar  distintos  DSP.  La  operación  que  suele  tomarse  como  referencia  es  la  MAC.  Desafortunadamente, los tiempos de ejecución de la MAC proporcionan, a veces, poca información para poder diferenciar entre distintos DSP, ya que en  la mayoría de ellos esta  instrucción se ejecuta en un solo ciclo de  instrucción, y como se ha mencionado anteriormente, algunos DSP pueden hacer mucho más que otros en una simple  instrucción MAC. Además,  los tiempos de ejecución de  la MAC no suele reflejar las prestaciones de otro tipo importante de operaciones como los bucles que están presentes en todas las aplicaciones.  

Un enfoque mucho más general consiste en definir un conjunto algoritmos o funciones, como un filtro FIR o IIR, e implementarlo en distintos DSP y de esta forma ver cuál de ellos proporciona unas mejores prestaciones. Sin embargo, la implementación de estos algoritmos para distintos DSP puede resultar una tarea ardua. En este sentido, una buena referencia pueden ser los tests que efectúa la Berkeley Design Technology,  Inc.,  pionera  en  utilizar  distintas  porciones  de  algoritmos  y  funciones  para  medir  las  prestaciones de los diferentes DSP. 

Page 13: Introducción a los DSP - uncor

 

 

        

Página  13 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

VENTAJAS Y DESVENTAJAS DE LOS DSP 

Las siguientes son algunas ventajas inherentes a la utilización de sistemas digitales con DSP: 

 •  La  Tecnología  VLSI  (Very  Large  Scale  Integration)  da  la  posibilidad  de  diseñar  sistemas  con  la capacidad  para  ejecutar  procesamiento  en  tiempo  real  de  muchas  de  las  señales  de  interés  para aplicaciones en comunicaciones, control, procesamiento de imagen, multimedia, etc. 

• Los sistemas digitales son más confiables que los correspondientes sistemas analógicos. 

• Los sistemas digitales ofrecen una mayor flexibilidad que los correspondientes sistemas analógicos. 

• Mayor precisión y mayor exactitud pueden ser obtenidas con sistemas digitales, comparado con  los correspondientes sistemas analógicos. 

• Un sistema programable permite flexibilidad en la reconfiguración de aplicaciones DSP. 

• La tolerancia de  los componentes en un sistema analógico hacen que esto sea una dificultad para el diseñador al controlar la exactitud de la señal de salida análoga. Por otro lado, la exactitud de la señal de salida para un sistema digital es predecible y controlable por el tipo de aritmética usada y el número de bits usado en los cálculos. 

•  Las  señales digitales pueden  ser almacenadas en un disco  flexible, Disco Duro o CD –   ROM,  sin  la pérdida de fidelidad más allá que el introducido por el conversor Analógico ‐  Digital (ADC). Éste no es el caso para las señales analógicas. 

A pesar de ellas existen algunos  inconvenientes que deberán  ser  tomados en  cuenta al momento de escoger una plataforma para el procesamiento de señales analógicas por medio digitales: 

•  La  conversión de una  señal analógica en digital, obtenida muestreando  la  señal y  cuantificando  las muestras, produce una distorsión que nos impide la reconstrucción de la señal analógica original en su “real totalidad” a partir de muestras cuantificadas.  

• Existen efectos debidos a la precisión finita que deben ser considerados en el procesado digital de las muestras cuantificadas. 

•  Para muchas  señales  de  gran  ancho  de  banda,  se  requiere  procesado  en  tiempo  real.  Para  tales señales, el procesado analógico, o incluso óptico, son las únicas soluciones válidas. Sin embargo, cuando los circuitos digitales existen y son de suficiente velocidad se hacen preferibles. 

 

 

Page 14: Introducción a los DSP - uncor

 

 

        

Página  14 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

FABRICANTES DE DSP 

Actualmente el mercado se ha ampliado enormemente en cuanto a  la oferta de DSP. Existen diversos fabricantes, cada uno con un tipo especial y particular de arquitectura, uso y/o aplicación. Entre los más conocidos se destacan: Texas Instruments, Freescale, Analog Devices, Hewlet Packard, Cirrus, Creative, Microchip, Philips, Yamaha, Airelog Device, AT&T  , SGS‐Thomson.   De  todos ellos cabe mencionar  las siguientes familias de DSP:  

TEXAS INSTRUMENTS:  

o Familia  DaVinci:  Familia  de  DSP  orientados  al  video  digital,  a  la  codificación  y decodificación de video.  

o Familia OMAP: Familia de DSP alto rendimiento para aplicaciones de procesamiento de gran cantidad de datos, aplicaciones de multimedia, aplicaciones para computadoras de sistemas operativo Linux o Windows.  

o Familia TMS320C2000: Familia de DSP orientada al control digital.  

o Familia  TMS320C5000:  Familia  de  DSP  orientados    a  la  industria  de  bajo  consume, productos  portatiles,  reproductores  de  música,  telefonía  VoIP,  equipos  de  libre mantenimiento, GPS y equipos de medicina.  

o Familia TMS320C6000 :   

DSP de alto  rendimiento TMS320C6414T/15T/16T y TMS320C645x: Familia de DSP  de  punto  fijo  orientados  a  la  industria  y  a  la  optimización,  transmisión, decodificación de voz y video.  

DSP  de  bajo  costo  TMS320C6410/12/13/18,  TMS320C642x  y  TMS320C62x: Familia  de  DSP  de  alto  rendimiento  y  bajo  costo,  utilizado  en telecomunicaciones y sistemas inalámbricos.  

DSP  de  punto  flotante  TMS320C67x  y  TMS320C672x:  Familia  de  DSP  con  un poderoso compilador de C y assembler, para la optimización de aplicaciones de audio de alta fidelidad.    

FREESCALE:  

o Familia  StarCore  (SC3400, MSC81xx, MSC711x): DSP  de  altas  velocidades  y múltiples núcleos, orientados a la telefonía y telecomunicaciones.  

Page 15: Introducción a los DSP - uncor

 

 

        

Página  15 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

o Familia Symphony™ Audio (DSP563XX, DSP567XX): Familia de DSP de 24 bits, de simple y doble núcleo, orientados al procesamiento de audio.  

o Familias  DSP56300:    Familia  de  DSP  de  24  bits,  orientados  a  las  transmisiones inalámbricas, telecomunicaciones y productos multimedia 

o Familias 56800/E (DSP568XX, DSP56F8XX, DSP56F8XXX): Familia de DSP de 16 bits, que combinan la potencia de procesamiento de un DSP con la funcionalidad y la facilidad de uso de un microcontrolador en un único chip. Ideal para el control.  

ANALOG DEVICES:  

o Familias Blackfin: Familia de DSP embebidos 16/32‐bits, ideal para aplicaciones de multi‐formato de audio, vídeo, voz y procesamiento de imágenes.   

o Familias  Sharc:  Familia  de DSP  de  punto  flotante,  originales  por  sus  prestaciones  de  memoria y rendimiento de I/O. Presenta velocidades de 319 MFLOPS / dólar, ideal para aplicaciones de elevado rango dinámico.  

o Familias  TigerSharc:  Familia  de  DSP  de  alto  rendimiento,  aplicados  en  la  industria  y en aplicaciones de multiprocesamiento, con rendimiento por encima de mil millones de operaciones por segundo de punto flotante.   

o Familias ADSP‐21xx: Familia de DSP de alta velocidad  (160MHz)  y bajo  consumo  (184 micro‐Amper).  Ideales  para  el  procesamiento  de  voz,    reconocimiento  de  voz  y aplicaciones de control en tiempo real.  

 

CONCLUSIÓN 

Los  algoritmos  de  tratamiento  digital  de  señal  han  sido  los motivadores  en  el  desarrollo  de  nuevas tecnologías  que  permitan  implementarlos.  Dicha  evolución  tecnológica  dio  lugar  a  los  DSP  como procesadores  específicamente  diseñados  para  tales  aplicaciones.  El  diseño  específico  de  un  DSP determina algunos aspectos o características como son: La arquitectura del núcleo del DSP y la memoria, su  juego de  instrucciones,  la  integración de periféricos que  le permitan  interactuar con el exterior, el formato de representación aritmética  utilizado y la anchura de la palabra de datos.  

De algunos de los temas expuestos, surgen los siguientes puntos de vistas a la hora de hacer la selección del DSP para nuestra aplicación: 

Tipo de aritmética utilizada y ancho de palabra de datos. 

Page 16: Introducción a los DSP - uncor

 

 

        

Página  16 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

Rango dinámico. 

Velocidad. 

o Valores de pico: 

Coma fija: MIPS. 

Coma flotante: MFLOPS. 

o Test de pruebas (benchmarks). 

Memoria interna. 

Soporte multiprocesador. 

Consumo. 

Coste. 

 

 

BIBLIOGRAFÍA 

Jennifer Eyre and Jeff Bier, 2000. Choosing a DSP Processor. Berkeley Design Technology, Inc. 

Jennifer Eyre and  Jeff Bier, 2000. Evaluating DSP Processor Performance. Berkeley Design Technology, Inc. 

Jennifer Eyre and Jeff Bier, 2000. The Evolution of DSP Processors. Berkeley Design Technology, Inc. 

Jordi Salazar, 2001. Procesadores Digitales De Señal (Dsp): Arquitecturas Y Criterios De Selección. Dpto. Ingeniería Electrónica. Centro De Sistemas Y Sensores Electrónicos, Universidad Politécnica De Cataluña. 

Rodrigo Huerta  Cortés,  2004.  Laboratorio De  Procesamiento Digital De  Señales. Universidad  Técnica Federico Santa María Departamento De Electrónica.  

Steven W. Smith, 1997.The Scientist and Engineer's Guide to Digital Signal Processing. ISBN 0‐9660176‐3‐3. 

 

 

Page 17: Introducción a los DSP - uncor

 

 

        

Página  17 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

GLOSARIO DE TÉRMINOS  

DSP: (Digital Signal Processor). Procesador digital de señal. 

AGU: (Address Generation Unit).  Unidad de Generación de Direcciones.  

ALU:  (Arithmetic/Logic  Unit).  Unidad  aritmético‐lógica.  Unidad  de  ejecución  en  un  procesador responsable de  la aritmética  (sumar,  restar, desplazar, etc.) y de  la  lógica  (y, o, no, o‐exclusiva, etc.), entre registros específicos. 

MAC:  (multiply‐accumulate  unit).  Unidad  de  ejecución  en  un  DSP  responsable  de  la  realización  de multiplicaciones y acumulaciones, entre registros específicos. 

MIPS: (Million instructions per second). Número de instrucciones que el procesador puede ejecutar por segundo. La clave está en cuánto puede hacer cada instrucción. El parámetro MFLOPS es normalmente una medida más fiable de las prestaciones del procesador. 

MOPS: (Million operation per second). Número total de operaciones que el procesador puede realizar por  segundo.  Se  incluye  accesos DMA,  transferencias  de  datos,  operaciones  de  entrada  salida.  Este parámetro  proporciona  una  idea  aproximada  de  la  capacidad  de  procesado  y  de  entrada  salida  del procesador. 

MFLOPS: (Million floating‐point operations per second). Número de multiplicaciones, sumas, restas, etc. en  coma  flotante que el procesador puede  realizar. Algunas  veces este parámetro 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). Número de multiplicaciones y acumulaciones que el procesador puede realizar por segundo. 

VLIW: (Very long instruction word). Formato muy largo de palabra de instrucción. 

FFT:  (Fast  Fourier Transform). Transformada de  Fourier  rápida. Método  computacional eficiente para estimar el espectro frecuencial de una señal. 

FIR: (Finite impulse response). Respuesta impulsional finita. Una categoría de filtros digitales. 

IIR: (Infinite impulse response). Respuesta impulsional infinita. Una categoría de filtros digitales. 

PGA:  (Pin  grid  array). Un  tipo  de  encapsulado  para  circuitos  integrados.  Las  conexiones  externas  se realizan con terminales de conexión dispuestos en forma de cuadrícula. 

Page 18: Introducción a los DSP - uncor

 

 

        

Página  18 de  18

FCEFyNUniversidad Nacional de Cordoba

INTRODUCCIÒN A LOS DSP

Procesamiento Digital de Señales – FCEFyN – UNC     INTRODUCCIÒN A LOS DSP 

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 típicamente más baratos que el mismo circuito con encapsulado PGA. 

TQFP:  (Thin quad  flat pack). Tipo de encapsulado  similar, pero más delgado, al PQFP. El encapsulado TQFP normalmente se utiliza en sistemas portátiles pequeños.