Tema 6 Dsp
-
Upload
fernandodiezpuente -
Category
Technology
-
view
6.367 -
download
1
description
Transcript of 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
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
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.
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
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
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
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.
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
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,…
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
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)
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
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
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.
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.
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.
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.
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.
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.
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).
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.
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.