Introduccion DSPs

Anuncio
Índice
Introducción a los
Procesadores Digitales
de Señal: DSP
Tema 3
Sistemas de Tiempo Real
Carlos J. Escudero

Conceptos básicos

Arquitecturas

Periféricos

Caso concreto TI TMS320C6000
nal
S ig
ita l
Dig c e sso rs
P ro
Sistemas de T iempo Real
Conceptos básicos (I)



Procesado de señal: aplicación de operaciones
matemáticas para representar y manipular
señales
Las señales se representan por muestras
obtenidas de un ADC y son generadas de nuevo
con DACs
Uso DSPs puede ser:




Conceptos básicos (IV)







Sistemas de T iempo Real
5

Algoritmos voz: codificación/decodificación, reconocimiento, síntesis
Algoritmos para módems: tx/rx, reducción ruido
Audio: igualación (ecualización), mezcla
Imagen: compresión/descompresión, visión, …
Velocidad de muestreo

Los tamaños de los componentes analógicos dependen de
su valor
DSP: comportamiento predecible y multifuncional
nal
S ig
ita l
Dig c e sso rs
P ro
Dependen del tipo de algoritmo a desarrollar:
 Velocidad, precisión aritmética, consumo, …

Filtros con condensadores de 100µF ó 10pF
Filtros con DSPs dependen de parámetros de los programas
4
Características de los DSP

Se pueden reprogramar para modificar su comportamiento
y/o añadir nuevas funciones


Sistemas de T iempo Real
nal
S ig
ita l
Dig c e sso rs
P ro
Circuitos analógicos idénticos pueden obtener resultados
diferentes
La edad de los componentes influye en su comportamiento

Componentes analógicos (resistencias, condensadores,
diodos) son afectados por temperatura, humedad, …
Su ubicación (zona geográfica) afecta al producto
Los circuitos digitales, si funcionan lo hacen bien
3
Tamaño

Síntesis y reconocimiento de voz, módems de alta
velocidad
En casos sencillos esto es al revés
Independencia del entorno
Reprogramabilidad





Los componentes no tienen tolerancias

Se consigue realizar tareas de forma más económica
que analógicamente

Amplificadores de audio, …
Conceptos básicos (III)


Módems, teléfonos móviles, …
Sistemas de T iempo Real
nal
S ig
ita l
Dig c e sso rs
P ro
Ventajas DSPs
Secundario para ofrecer servicios adicionales



Fundamental y necesario


Conceptos básicos (II)
nal
S ig
ita l
Dig c e sso rs
P ro
2
Determinante en la tecnología a utilizar y en el algoritmo
Frecuencia muestreo alta → algoritmos sencillos
Ejemplo
 CDs: F s=44,1 kHz → T s=22,6 µseg. El Algoritmo debe actuar rápido,
antes de llegar la siguiente muestra (tiempo real duro)
 Bases datos: se quieren resultados buenos en media (tiempo real
blando)
Operaciones aritméticas


Se realizan millones en un algoritmo. Importante para decisión tipo DSP
Punto fijo/flotante
Sistemas de T iempo Real
6
1
Conceptos básicos (y V)



Sistemas de T iempo Real




‘C1x ‘C2x
Lowest Cost
Control Systems
 Motor Control
 Storage
 Digital Ctrl Systems







Sistemas de T iempo Real


8
nal
S ig
ita l
Dig c e sso rs
P ro
Direccionamiento indirecto con post o pre
incremento/decremento, direccionamientos circulares,
direccionamiento con inversión de bits, …
Sistemas de T iempo Real
Arquitecturas (IV)

10
nal
S ig
ita l
Dig c e sso rs
P ro
Estructuras de DSPs


Lo habitual es tener una placa diseñada para un DSP
Diferentes formas de integración:
 Multichips: varios DSPs dentro de un mismo chip






Mejor nivel de densidad de encapsulado
Incremento de velocidad
Menor consumo y disipación de potencia
Conjuntos de chips: partes de un DSP en diferents chips

Lo contrario a un multichip
Interesante cuando el DSP es muy complejo o con muchos pines
DSP cores



11

Existen unidades dedicadas a la generación de
direcciones que trabajan en paralelo con la ejecución de
instrucciones aritméticas
nal
S ig
ita l
Dig c e sso rs
P ro
Periféricos en el mismo chip del DSP

Posibilidad de hacer varios accesos a memoria en un
único ciclo
Las instrucciones y los operandos son recogidos y/o
entregados a memoria simultánemente
Es necesario un gran ancho de banda entre memoria y
CPU
9
Interfaces serie y/o paralelo, o I/O especializados (ej. DMA)
Estos interfaces se conectan con los periféricos: ADCs y
DACs

Multi Function App's
Comm Infrastructure
Wireless Base-stations
DSL
Imaging
Multi-media Servers
Video
Direccionamientos especializados
I/O de altas prestaciones y bajo coste


Acceso de memoria múltiple

Instrucciones especializadas para hacer bucles sin
necesidad de emplear ningún ciclo de reloj para
actualizar y comprobar contadores de bucle
Cambios de contexto rápidos

Arquitecturas (II)

Periféricos e input/output interfaces

Best MIPS per
Watt / Dollar / Size
 Wireless phones
 Internet audio players
 Digital still cameras
 Modems
 Telephony
 VoIP
Max
Performance
with
Best
 MultiEase-of-Use
Channel and
Sistemas de T iempo Real
nal
S ig
ita l
Dig c e sso rs
P ro
Control especializado de ejecución

Efficiency
7
Sistemas de T iempo Real

(C20x/24x/28x)
MAC (del inglés, Multiply ACcumulate)
Un único ciclo de instrucción
Cálculo más habitual en procesado de señal: multiplicación
y suma: convoluciones (filtros), correlaciones, FFTs, …
Multiplicadores y sumadores realizadas por hardware en la
unidad aritmética lógica
Para evitar desbordamientos: registros con bits adicionales
Arquitecturas (III)
‘C5x
C2000
Operaciones rápidas de multiplicación y acumulación


C5000
Existen decenas de familias de DSPs
La mayoría de DSP comparten características
diseñadas para soportar tareas repetitivas de
cálculo intensivo:

‘C3x ‘C4x ‘C8x
(C54x/55x)
En estos casos no hay muchas unidades, pero los productos son más
complejos
Arquitecturas (I)
nal
S ig
ita l
Dig c e sso rs
P ro
(C62x/64x/67x)
No existe un DSP válido para todo tipo de aplicaciones
Es necesario elegir el DSP en función de la importancia de
diversas características:
 Potencia, coste, integración, facilidad de desarrollo, consumo, …
Categorías:
 Bajo coste: importante cuando hay un gran volumen de
unidades: móviles, discos duros, módems, …
 Bajo consumo: en ciertas situaciones es uno de los factores
decisivos: equipos portátiles, móviles, …
 Potencia: necesaria cuando hay que desarrollar algoritmos
complejos y/o velocidades de muestreo altas: sonar, estaciones
base telefonía, …


C6000
Clases de aplicaciones


TI C6000 (I)
nal
S ig
ita l
Dig c e sso rs
P ro
Bloques de componentes con un DSP como parte principal dentro del
chip
Los componentes del chip son para aplicaciones específicas
ASICs (Application Specific Integrated Circuits)
Sistemas de T iempo Real
12
2
Arquitecturas (V)

Punto Fijo / Flotante



Característica fundamental a la hora de la elección y la
clasificación
Punto fijo
 Números representados por enteros
 Procesadores baratos y rápidos
 Programación más compleja: control del desbordamiento, …
 Existe un rango dinámico: [máximo, mínimo]
 Productos y sumas podrían provocar salidas del rango dinámico


Lucent
9%










Periféricos (II)









Asíncronos


Periféricos (III)
nal
S ig
ita l
Dig c e sso rs
P ro




Aunque existen pines diferentes para transmitir y recibir los datos, en ocasiones los relojes
son compartidos para ambas tareas






17
Los dispositivos conectados tienen que acordar cual genera el reloj o si lo hará un
tercero
Muchos DSPs tienen circuitería específica para generar la señal de reloj del
puerto
Los generadores de reloj se basan en dividir el maestro por cierto valor
Los puertos se suelen usar para conectar varios DSP entre si
Para comunicarse, los DSP pueden usar multiplexación por división en tiempo por
slots
Durante 1 slot sólo un DSP puede transmitir, los otros estarán escuchando
El sincronismo de trama indica el comienzo de un nuevo ciclo de slots. Cada
procesador ha de llevar la cuenta para saber cuando transmitir
El destinatario ha de ir codificado en las palabras transmitidas
Para soporte TDM hace falta
 El pin de transmisión se ponga en alta impedancia cuando esté a la escucha.
Así se evitan interferencias
 A veces existe un registro que transmite su contenido durante su slot sin
necesidad de control de la CPU
Soporte para compansión


Sistemas de T iempo Real
nal
S ig
ita l
Dig c e sso rs
P ro
Multiplexación temporal (TDM)

Se suele considerar una tercera señal (además de los datos y el reloj)
Esta señal es el sincronismo de trama e indica la posición del primer bit de una palabra
Dos formatos

Longitud de bit: la señal dura lo que dura un bit en la línea. Se activa justo antes de que
el primer bit se transmita (es decir, en el último de la palabra anterior)

Longitud de palabra: la señal dura lo que se tarda en transferir una palabra completa
A veces se permite seleccionar la polaridad del sincronismo de trama
16
Generación de reloj

Los datos cambian en uno de los flancos de la señal de reloj
Se puede seleccionar la polaridad de reloj para decidir si es el flanco de subida o de bajada el
que indica el cambio de los datos
En algunos circuitos se puede seleccionar la polaridad de datos para decidir si

1 = Voltaje positivo (~ 3.3 v ó ~ 5 v) / 0 = Bajo voltaje (~ 0 v)

O viceversa
Otra característica es decidir si se transmite primero el LSB (Least Significant Bit) o el MSB
(Most Significant Bit)
Se suelen soportar diferentes longitudes de palabra: 8, 16, 32, … bits
Independencia entre transmisión y recepción

La señal de reloj se obtiene de los datos recibidos
Ej: RS-232, RS-422, …
Sistemas de T iempo Real
Sincronización de trama



Los más utilizados
Señal de reloj de bit transmitida con los bits de datos
El receptor utiliza la señal de reloj para saber cuando muestrear los datos
recibidos
15
Características
 Datos y reloj

Síncronos

Parámetros para elegir un DSP:
Sistemas de T iempo Real
Envío/recepción de muestras hacia/desde DACs/ADCs
Envío/recepción de datos con otros microprocesadores y/o DSPs
Comunicación con otros periféricos externos o hardware
Categorías:

Formato aritmético, prestaciones (MIPS, MFLOPS, MACs), número de
registros, número multiplicaciones hardware, memoria externa, canales
DMA, consumo, coste, tamaño, puertos, periféricos, …
nal
S ig
ita l
Dig c e sso rs
P ro
Más lentos que los paralelo (con 8, 16 ó 32 bits de transferencia
simultánea)
Requieren menos pines para conexión
En los DSP suele haber 1 ó más puertos serie
Múltiples aplicaciones:

28%
BDTI: www.bdti.com
Forward Concept: www.fwdconcepts.com
14
Muchos DSP integran interfaces y periféricos en el mismo chip
Puertos Serie

47%
Compañías proveedoras de artículos y benchmarks sobre DSPs

(ej. TI C67xx)
Periféricos (I)

13%
Otros

Precisión simple (SP)
Precisión doble (DP)
Sistemas de T iempo Real

Analog Devices

Operaciones punto flotante hechas por hardware
Procesadores caros y lentos
Programación más sencilla
Mayor rango de valores
Instrucciones hardware para usar punto flotante
nal
S ig
ita l
Dig c e sso rs
P ro
3%
Motorola



Fabricantes más importantes
Texas Instruments


13
Arquitecturas (y VII)

Punto flotante

Soluciones: representación fraccional y control del desbordamiento
nal
S ig
ita l
Dig c e sso rs
P ro
(ej. TI C62xx)
Sistemas de T iempo Real

Arquitecturas (VI)
nal
S ig
ita l
Dig c e sso rs
P ro
Los puertos serie se suelen usar para conexión con codecs de voz para telefonía
Se suelen incluir compansores /descompresores basados en ley µ o ley A
Sistemas de T iempo Real
18
3
Periféricos (IV)









Son en realidad contadores programables
Originan interrupciones
Generan una señal de reloj cuadrada que puede tener salida por 1 pin
Se suelen dirigir por el reloj maestro del DSP
Como en el reloj de los puertos serie, suelen tener un preescalador del reloj
maestro
Al alcanzar el contador el cero, se genera la interrupción y se recarga al valor
programado o se para, según se haya especificado
En muchos DSP se puede leer el valor del temporizador y usar esto para ver la
duración de los eventos
El pin de salida del temporizador, a veces disponible, puede usarse como
sintetizador de frecuencia
Contador
decreciente
Preescalado
Reloj
maestro
Valor
(obtenido de un conjunto limitado)
1,4,8,12,16






Bit de I/O
Uno de los pines es usado como un puerto de entrada/salida de 1 sólo bit
La CPU lo controla por polling (sondeo) y no genera interrupciones
A veces el/los pine/s de estos bits son los mismos que los de puertos serie (que
dejarían de serlo)




Puertos de host
Para conexión con un microprocesador de propósito general o DSP
Se puede usar para realizar tareas de control del DSP
 Generar interrupciones, ver/modificar registros, bootstrap, …


Interrupciones externas
Líneas de interrupciones externas para ser usadas por dispositivos externos
Dos tipos:
 Activadas por flanco de subida o bajada




Más fáciles de controlar
Activadas por nivel alto o bajo

Suelen requerir un tiempo mínimo de permanencia en éste
Sistemas de T iempo Real
19
En aplicaciones de tiempo real es complicado comprobar su funcionamiento sin
alterar su funcionamiento
Lo más innovador es lo denominado “scan-based in-circuit emulation (ICE)”.
Combina circuitería específica + pines de test/debug
Estos sistemas se conectan el DSP a un host (ordenador) por medio de un
interface especial
El software que corre en el host permite al usuario cargar programas, examinar y
modificar registros y memoria, poner y borrar “breakpoints”, …
Esto permite controlar el funcionamiento en campo, viendo aspectos del
procesador en ejecución
 Por ejemplo: si se cumplen las restricciones de tiempo
Una de las técnicas más antiguas son los “boundary-scan” donde a través de los
pines de depuración se permitía controlar otros pines del procesador
El interface más reciente es el IEEE 1149.1 o más conocido como JTAG (Joint
Test Action Group)
 Se basa en un interface serie de 4 hilos
 Se usa como un mecanismo para comunicarse con la circuitería de depuración onchip
20
TI C6000 (II)
nal
S ig
ita l
Dig c e sso rs
P ro
Facilidades de depuración


Valor programado
Periféricos (VI)

Se transmiten y reciben varios bits simultáneamente
Se usan líneas para indicar la presencia de nuevos datos
En algunos DSP el puerto paralelo se conecta al bus de datos principal
Lo más habitual es considerar el puerto paralelo externo al procesador


nal
S ig
ita l
Dig c e sso rs
P ro
Puertos paralelo


Interrupción al alcanzar
el contador el cero
Sistemas de T iempo Real

Periféricos (V)
nal
S ig
ita l
Dig c e sso rs
P ro
Temporizadores programables
nal
S ig
ita l
Dig c e sso rs
P ro
Software Compatible
Floating Point
Multi-core
Performance

C64x™ DSP
1.1 GHz
2nd Generation
C64x™ DSP
General
Purpose
1st Generation
C6201
C6202
C6701
C6203
C6204
C6211
C6711
C6414
t
ce
es an
gh m
Hi rfor
e
P
C6415
Media
Gateway
C6416
3G Wireless
Infrastructure
C62x™
C6205
C6712
C67x™
Time
Sistemas de T iempo Real
TI C6000 (III)
First
First
(1991)
$10 floating-point DSP
 C32
First
(1987)
floating-point DSP with multiprocessing support
 C40
First
(1995)
1-GFLOPS DSP
 C6701
First
(1999)
2-level cache floating-point DSP
 C6711
First
(1998)
$5 floating-point DSP
 C33
First
nal
S ig
ita l
Dig c e sso rs
P ro
commercially-successful floating-point DSP
 C30
(2000)
Sistemas de T iempo Real
23
22
TI C6000
nal
S ig
ita l
Dig c e sso rs
ro
Device MIPS
6201
1600
6202
2000
6203
2400
6204
1600
6205
1600
6211
1200
MHz
200
250
300
200
200
150
K Bytes Pins
128
352
384 384/352
896
384
128
384
128
306
72
256
W
1.3
2.1
1.3
0.8
0.8
0.9
$
80 - 100
110 - 170
150 - 190
30 - 60
40 - 70
25 - 40
P
Periphs
D2H
D3X
D3X
D2X
D2P
E2H
Device
6701
6711
6712
MHz
167
150
100
K Bytes
128
72
72
W
1.4
1.1
0.7
$
110 - 170
25 - 50
10 - 22
Periphs
D2H
E2H
E2
MFLOPS
1000
900
600
Pins
352
256
256
Peripherals Legend:
D,E
DMA (4), EDMA (16)
2,3
# of McBSP Serial Ports
H,X,P HPI (Host Port), XBUS, PCI
(1999)
to offer 600 MFLOPS for under $10
 C6712
Sistemas de T iempo Real
21
Sistemas de T iempo Real
Pin-for-Pin Compatibility:
6201 & 6701
6211 & 6711 & 6712
6202 & 6203 & 6204
24
4
Descargar