Tema 6 Dsp

22
Sainz de Murieta Mangado, Joseba Andoni Sainz de Murieta Mangado, Joseba Andoni Departamento de Ingeniería de Sistemas y Automática Departamento de Ingeniería de Sistemas y Automática PROCESADORES DIGITALES DE PROCESADORES DIGITALES DE SEÑAL SEÑAL DSP's DSP's eman ta zabal zazu

description

dsp pic presentacion

Transcript of Tema 6 Dsp

Page 1: Tema 6 Dsp

Sainz de Murieta Mangado, Joseba AndoniSainz de Murieta Mangado, Joseba AndoniDepartamento de Ingeniería de Sistemas y AutomáticaDepartamento de Ingeniería de Sistemas y Automática

PROCESADORES DIGITALES DE PROCESADORES DIGITALES DE SEÑALSEÑAL DSP'sDSP's

eman ta zabal zazu

Page 2: Tema 6 Dsp

eman ta zabal zazu

2

INDICEINDICE

1. Introducción

2. Algoritmos típicos para DSP

3. Recursos específicos en los DSP

4. Elección del DSP

Page 3: Tema 6 Dsp

eman ta zabal zazu

3

1.1.-- INTRODUCCIONINTRODUCCION

La gran mayoría de las señales implicadas en los procesos industriales son señales de naturaleza analógica (temperatura, presión, distancia, espesor,...).

Hasta la década de los 80, el tratamiento de estas señales se realizaba con circuitos analógicos realizados mediante amplificadores operacionales.

Estos dispositivos realizaban diversas operaciones matemáticas con la señal de entrada en función de la configuración en la que se encontraran.

Es a partir de la década de los 90 cuando los avances tecnológicos permitieron integrar en un chip los dispositivos necesarios para lograr un circuito integrado especializado en el tratamiento matemático de las señales analógicas.

Se puede definir un DSP como un computador digital monochip orientado al procesamiento de la información procedente del muestreo de una señal analógica y optimizados para resolver un campo de aplicaciones concreto.

Page 4: Tema 6 Dsp

eman ta zabal zazu

4

1.1.-- INTRODUCCIONINTRODUCCION

MICROCONTROLADORES Y DSP

Cuando la tecnología permitió integrar en un solo chip todos los componentes necesarios para construir un computador digital junto con una serie de recursos específicos, apareció el microcontrolador.

Normalmente un microcontrolador tiene recursos limitados, es de propósito general y suele estar empotrado en el sistema.

Un DSP es un circuito integrado que contiene un microcontrolador especializado en el tratamiento de las aplicaciones derivadas del procesamiento digital de las señales analógicas.

MICROCONTROLADOR

Set de instrucciones multiciclo

Multiplicación multiciclo

8 o 16 bits

RAM incorporada limitada

Punteros a datos restringidos

Velocidad y algoritmos restringidos

DSP

Set de instrucciones monociclo

Multiplicación monociclo

16 o 32 bits

RAM incorporada de gran tamaño

Gran número de punteros a datos

Gran velocidad y algoritmos complejos

Page 5: Tema 6 Dsp

eman ta zabal zazu

5

1.1.-- INTRODUCCIONINTRODUCCION

RECURSOS ESPECIFICOS DE LOS DSP

Existen una serie de recursos hardware comunes a la práctica totalidad de DSP existentes en el mercado:

1.- Arquitectura Harvard

La necesidad de leer varios datos a la vez de cara a acelerar la implementación de los algoritmos exige el acceso múltiple a memoria.

Las memorias de datos e instrucciones son independientes y cada una cuenta con sus propios buses, lo que permite el acceso en paralelo a ambas.

CPUCPUMEMORIA

DEPROGRAMA

MEMORIADE

DATOS

BUS DE INSTR. BUS DE DATOS

DIRECCION DIRECCION

Page 6: Tema 6 Dsp

eman ta zabal zazu

6

1.1.-- INTRODUCCIONINTRODUCCION

RECURSOS ESPECIFICOS DE LOS DSP

2.- Multiplicadores Hardware rápidos

Este es un recurso imprescindible en los DSP ya que la mayoría de los algoritmos más frecuentes empleados para el tratamiento digital de la señal están basados en multiplicaciones.

3.- Dispositivos auxiliares integrados en el propio chip

Existen una serie de dispositivos como son los conversores A/D y D/A, los comparadores, los puertos de comunicación, etc. que dado su frecuente empleo en los procesos de tratamiento de señales, se integran dentro de la DSP.

4.- Instrucciones aritméticas potentes y rápidas

5.- Potentes y diversos modos de direccionamiento y manejo de punteros

6.- Instrucciones potentes de control de flujo de programa

Page 7: Tema 6 Dsp

eman ta zabal zazu

7

1.1.-- INTRODUCCIONINTRODUCCION

APLICACIONES

En el siguiente gráfico se muestra la distribución en el mercado de los DSP según sus campos de aplicación en el año 2004. (Fuente: Forward Concepts)

71,4%

8,4%

7,0%

5,7%

4,7%

2,8%

Tecnología inalámbrica

Consumo

Varios

Tecnología no inalámbrica

Computación

Automoción

Como se observa, uno de los campos de mayor incidencia es el de las tecnologías inalámbricas, ya que los algoritmos de encriptación y desencriptación de la voz, así como los de modulación y demodulación de la voz propios de la telefonía móvil digital y de la televisión digital por cable, están soportados por DSP.

Page 8: Tema 6 Dsp

eman ta zabal zazu

8

1.1.-- INTRODUCCIONINTRODUCCION

APLICACIONES

La complejidad del algoritmo, será un factor determinante en la elección del modelo de DSP a emplear, pero también habrá que tener en cuenta la frecuencia de muestreo requerida, y por consiguiente, la velocidad de trabajo del DSP.

Audio profesional y aplicaciones industriales Cancelación de ruido

Equipos musicales de audio Ecualización de ruido

Telefonía móvil digital y televisión digital Modulación / Demodulación

PC multimedia y robótica Síntesis del habla

Estaciones multimedia, robótica y telefonía Reconocimiento del habla

Telefonía móvil digital, comunicaciones Codificación/Decodificación de la voz

Telefonía móvil digital, comunicaciones Encriptación/Desencriptación de la voz

Seguridad, multimedia Identificación del hablante

Seguridad, multimedia y robótica Visión artificial

Fotografía y video digital Compresión/Descompresión de imágenes

Multimedia, video, navegación Composición de imágenes

Radar, sonar, audio Estimación espectral

APLICACIONES ALGORITMO

Page 9: Tema 6 Dsp

eman ta zabal zazu

9

1.1.-- INTRODUCCIONINTRODUCCION

APLICACIONES

Existen aplicaciones que soportan algoritmos muy complejos y velocidades de muestreo reducidas (modelado atmosférico, modelado sísmico,…), otras, por el contrario, requieren velocidades de muestreo muy altas y algoritmos relativamente sencillos (radio, video, radar,…) y otras aplicaciones requieren velocidades de muestreo y complejidad de algoritmos intermedias (control industrial, reconocimiento del habla, módems,…)

GRAN CONSUMO

TV/Audio dígital, cámaras digitales, robots domésticos, sintetizadores digitales,…

INSTRUMENTACION Y CONTROL

Filtros digitales, analizadores de espectros, control de robots, control de motores,…

AUTOMOCION

Control de airbag, chequeos, control de velocidad de crucero, suspensión activa, inyección,…

AUDIO/VIDEO

Rotación 3D, visión artificial, reconocimiento de patrones, compresión/descompresión,…

TELECOMUNICACIONES

Cancelación de eco, multiplexación de canales, encriptación, videoconferencia, móviles,…

Page 10: Tema 6 Dsp

eman ta zabal zazu

10

1.1.-- INTRODUCCIONINTRODUCCION

ALTERNATIVAS A LOS DSP

• Circuitos electrónicos analógicos

• Procesadores digitales de propósito general mejorados

• Hardware a medida

EL FUTURO

• Procesadores de propósito general mejorados

Programación en alto nivel. 1mm2/MOP , 50mW/MOP, 100MIPS÷500MIPS.

• DSP de propósito general

Programación en ensamblador. 0.1mm2/MOP , 3mW/MOP

• DSP para aplicaciones específicas

Programación en microcódigo. 0.02mm2/MOP , 0.5mW/MOP, hasta 1000MIPS

• ASIC a medida

No programables. 0.001mm2/MOP , 0.02mW/MOP, más de 1000MIPS

Page 11: Tema 6 Dsp

eman ta zabal zazu

11

2.2.-- ALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROSALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROS

En múltiples aplicaciones existe una primera etapa encargada de la conversión de la señal analógica a digital.

A continuación, el DSP se encarga del procesamiento matemático apropiado para la finalidad de cada aplicación.

Y finalmente existe una tercera etapa que vuelve a transformar la señal digital, ya procesada por el DSP, en analógica.

CAD DSP CDA

SEÑAL ANALOGICADE ENTRADA(CON RUIDO)

SEÑAL ANALOGICADE SALIDA

(SIN RUIDO)

El CAD toma muestras de la señal analógica x(t) cada cierto tiempo T obteniéndose de esta forma muestras x(nT) que se codifican con n bits.

MUESTREO CUANTIFICACION CODIFICACIONSEÑAL

ANALOGICASEÑAL

DIGITAL

xa (t) x(n) xq (n)

Page 12: Tema 6 Dsp

eman ta zabal zazu

12

2.2.-- ALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROSALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROS

Según la operación que deba realizar el DSP sobre la señal digitalizada, se emplean diversos algoritmos.

El filtrado es una operación clásica, por ejemplo, en los sistemas de sonido de alta fidelidad, en los que cada uno de los altavoces responde sólo a un determinado rango de frecuencias.

CD

DVD

RADIO

SELECTOR

DE CANALAMPLIFICADOR

FILTRO

PASA-BAJO

FILTRO

PASA-BANDA

FILTRO

PASA-ALTO

GRAVES

MEDIOS

AGUDOS

Page 13: Tema 6 Dsp

eman ta zabal zazu

13

2.2.-- ALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROSALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROS

Inicialmente los filtros se realizaron aprovechando las diferentes impedancias que presentaban ante las variaciones de frecuencia los elemento R-L-C. (FILTROS PASIVOS)

Debido al tamaño y los problemas que conllevaban las bobinas, se pasó a implementar los filtros mediante amplificadores operacionales. (FILTROS ACTIVOS).

También este tipo de filtros presentaba algunos problemas (falta de repetibilidad, sensibilidad a los parámetros ambientales, dificultad para realizar modificaciones,…) los cuales propiciaron la aparición de los procesadores digitales como elemento fundamental de los filtros digitales.

Los DSP pueden soportar los algoritmos correspondientes a dos tipos de filtros digitales:

– FIR: Filtros de respuesta finita al impulso

– IIR: Filtros de respuesta infinita al impulso

Page 14: Tema 6 Dsp

eman ta zabal zazu

14

2.2.-- ALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROSALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROS

FILTROS FIR

Estos filtros se caracterizan por presentar una respuesta al impulso con un número finito de coeficientes.

Su ecuación en diferencias y su función de transferencia vienen dadas por:

( )∑ −⋅=k

kn knxby0

∑−

=

−⋅=1

0

)(M

k

kk zbzH

Existen diferentes formas de implementar un filtro FIR siendo una de ellas la denominada forma directa:

Z-1 Z-1 Z-1

+ + +

x(n) x(n-1) x(n-2) x(n-(M-1))

h(0) h(1) h(2) h(M-1)

El algoritmo es un conjunto de productos que se van acumulando al sumarse.

Hay que muestrear la señal analógica de entrada, digitalizarla y registrar las muestras que se obtienen del CAD.

Page 15: Tema 6 Dsp

eman ta zabal zazu

15

2.2.-- ALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROSALGORITMOS TIPICOS PARA DSP: DISEÑO DE FILTROS

FILTROS IIR

Estos filtros se caracterizan por presentar una respuesta al impulso con un número infinito de coeficientes.

Su ecuación en diferencias y su función de transferencia vienen dadas por:

( ) ( )∑∑==

−⋅+−⋅−=M

kk

N

kkn knxbknyay

01 ∑

=

=

⋅+

⋅= N

k

kk

M

k

kk

za

zbzH

1

0

1)(

Existen diferentes formas de implementar un filtro IIR incluyendo estructuras en forma directa, estructuras en forma de cascada, estructuras en celosía y estructuras en celosía escalonada.

Page 16: Tema 6 Dsp

eman ta zabal zazu

16

3.3.-- RECURSOS ESPECÍFICOS EN LOS DSPRECURSOS ESPECÍFICOS EN LOS DSP

Los DSP, dado que están dedicados a resolver complejos algoritmos de tratamiento de señales, tienen como primer requerimiento una elevada potencia de procesamiento, que se traduce en un alto valor de MIPS.

Para poder conseguir elevadas frecuencias de muestreo, en la arquitectura de los DSP se ha fomentado el paralelismo y la posibilidad de atender a varias instrucciones al mismo tiempo mediante la segmentación (pipe-line).

Disponen instrucciones potentes, rápidas y flexibles para resolver las operaciones matemáticas más comunes (p.e. la instrucción MAC que multiplica, suma y almacena en un único ciclo máquina).

La lectura y almacenamiento de muestras digitales a gran velocidad, exige memorias rápidas y de acceso múltiple para poder realizar en un solo ciclo operaciones potentes.

Se dispone de modos de direccionamiento especiales para poder manejar los operandos de memoria.

Se incluyen también instrucciones altamente eficientes para el control de flujo del programa.

Page 17: Tema 6 Dsp

eman ta zabal zazu

17

3.3.-- RECURSOS ESPECÍFICOS EN LOS DSPRECURSOS ESPECÍFICOS EN LOS DSP

PARALELISMO DEL PROCESADOR

Muchos de los algoritmos empleados en los DSP requieren de accesos múltiples a memoria por lo que basándose en la arquitectura Harvard (espacios separados para memoria de datos y para memoria de direcciones) la mayoría de los DSP incorporan modificaciones para maximizar el paralelismo.

Así por ejemplo, los DSP TMS320C54x de Texas Instruments presentan la siguiente arquitectura:

SISTEMA

DE

BUSES

PB

PAB

CB

CAB

DB

DAB

EB

EAB

BUSDE

INSTRUCCIONES

BUSDE

DATOS

BUSDE

DATOS

BUSDE

DATOS

Un bus de instrucciones

Consta del bus PB de 16 líneas para las instrucciones y del bus PAB, también de 16 líneas, para las direcciones de las instrucciones a las que accede.

Tres buses de datos

De 16 líneas cada uno (CB, DB y EB) que transportan los datos y otros tres (CAB, DAB y EAB) que llevan las direcciones de los datos a acceder.

Page 18: Tema 6 Dsp

eman ta zabal zazu

18

3.3.-- RECURSOS ESPECÍFICOS EN LOS DSPRECURSOS ESPECÍFICOS EN LOS DSP

SEGMENTACION O PIPELINE

El cauce o flujo del procesador se divide en varias etapas independientes que pueden operar con instrucciones diferentes.

Por ejemplo, en los TMS320C54x de Texas Instruments, el flujo del procesador se encuentra dividido en seis etapas:

DECODIFICACION

ACCESOOPERANDOS

BUSQUEDA

PREBUSQUEDA

LECTURA

EJECUCION

T

T

T

T

T

T

CAU

CE D

EL P

RO

CESA

DO

R

PREBUSQUEDALa dirección de la siguiente instrucción a ejecutar se carga en PAB

BUSQUEDASe carga la instrucción a través de PB

DECODIFICACIONSe decodifica el código de instrucción

ACCESO A OPERANDOSLas direcciones de los datos a leer se cargan en los buses de direcciones CAB y DAB.

LECTURASe cargan los datos direccionados a través de CB y DB.

EJECUCIONSe ejecuta la instrucción y el resultado que se encuentra en EB se escribe en EAB.

Page 19: Tema 6 Dsp

eman ta zabal zazu

19

3.3.-- RECURSOS ESPECÍFICOS EN LOS DSPRECURSOS ESPECÍFICOS EN LOS DSP

POTENCIACION DEL CAMINO DE DATOS

Se hace referencia al camino de datos como la unidad del procesador en la que se manipulan los datos para efectuar la operación que conlleva cada instrucción.

Uno de los recursos más importantes del camino de datos es la ALU.

Los DSP disponen también de un multiplicador – sumador hardware, el MAC.

Por ejemplo, en el DSP TMS320C542, el camino de datos está formado por el bloque MAC, la ALU, un registro avanzado de desplazamiento, dos acumuladores (ACC A y ACC B) y la unidad de direccionamiento compuesta por varios registros capaces de soportar el direccionamiento indirecto.

Page 20: Tema 6 Dsp

eman ta zabal zazu

20

3.3.-- RECURSOS ESPECÍFICOS EN LOS DSPRECURSOS ESPECÍFICOS EN LOS DSP

MEMORIAS DE ACCESO MULTIPLE

Muchos DSP disponen de varios tipos de memoria, como por ejemplo una ROM no volátil (puede ser FLASH) para contener código y constantes, otra tipo SRAM de acceso único por ciclo máquina y otra tipo DRAM que permite dos accesos por ciclo, permitiendo así hasta cuatro accesos a memoria por ciclo máquina.

MODOS DE DIRECCIONAMIENTO ESPECIALES

Para poder trabajar en tiempo real con señales analógicas que se tienen que digitalizar, es preciso contar con una gran velocidad de lectura escritura en memoria para poder aplicar los algoritmos sin que éstos provoquen retrasos.

Muchas DSP cuentan con buffers FIFO con dos punteros, uno de lectura y otro de escritura.

Para acelerar el proceso de comprobación de cuando se ha llegado al final de un buffer, los DSP suelen disponer de un modo de direccionamiento denominado direccionamiento circular o direccionamiento modular.

Algunos DSP disponen también del direccionamiento denominado bit reverse, especialmente indicado para el cálculo de la transformada rápida de Fourier (FFT).

Page 21: Tema 6 Dsp

eman ta zabal zazu

21

3.3.-- RECURSOS ESPECÍFICOS EN LOS DSPRECURSOS ESPECÍFICOS EN LOS DSP

INSTRUCCIONES ESPECIFICAS DE CONTROL DE BUCLES

Muchos algoritmos necesitan de la realización de pequeños bucles repetitivos normalmente precedidos por una comparación.

Para mejorar la velocidad de ejecución de estos bucles, muchos DSP llevan incorporado un hardware específico que implementa ciertas instrucciones de control.

JUEGO DE INSTRUCCIONES ORIENTADO

La mayoría de los DSP disponen de un repertorio de instrucciones especialmente orientadas a solucionar de forma rápida los algoritmos más usuales para los que ha sido diseñado el DSP (multiplicación, movimiento de bloques de memoria, lectura y escritura de tablas,…)

PERIFERICOS E INTERFACES INTEGRADOS

Es fundamental para un DSP el disponer de facilidad de comunicación con sistemas externos así como disponer de convertidores A/D y D/A.

Así, la mayoría de los DSP suelen llevar integrados temporizadores, puertos de comunicación, canales DMA, puerta de interface con un procesador host, generados de impulsos, conversores A/D y D/A, etc.

Page 22: Tema 6 Dsp

eman ta zabal zazu

22

4.4.-- ELECCION DEL DSPELECCION DEL DSP

En el mercado existen cada vez más tipos de DSP con diferentes características por lo que será muy importante la correcta elección del DSP más apropiado para cada aplicación.

A la hora de seleccionar el DSP más apropiado será necesario tener en cuenta aspectos como:

• Modo de funcionamiento

• Tamaño

• Facilidad de uso (programación, interconexión, depuración,…)

• Periféricos

• Memoria

• Consumo

• Encapsulado

• Coste

• …

En muchos productos orientados a fabricación de grandes series, será el coste el factor determinante, a pesar incluso de que sea menos flexible o más difícil de programar.