Está en la página 1de 64

PROCESADORES DIGITALES

DE
SEÑALES
( DSPs )
Y APLICACIONES

Por: Larry Escobar


2017
TEMARIO GENERAL

UNO DOS TRES


• Características de los DSPs • Modos de direccionamiento
• Presentación
• Arquitectura de los DSPs • Unidades ALU y MAC
• Generalidades del PDS y DSPs
• Diseño de un DSP • Programación en lenguaje
• Aplicaciones del PDS y DSPs ensamblador y algebraico
• Pipeline
• Marcas y familias de DSPs
• Mapa de memoria

CUATRO • Unidad central de proceso CINCO


• Unidad de Control • Programación en lenguaje C

• Interrupciones • Ejemplos

• Periféricos • Aplicaciones

• Utilización de CCS

L. Escobar
TEMA UNO

• Presentación
• Generalidades del Procesamiento Digital de señales (PDS)
• Fundamentos del (PDS)
• Enfoques del PDS
• Sistema básico de PDS
• Aplicaciones del PDS, DSPs y Tiempo real
• Otras soluciones
• Los procesadores digitales de señales (DSPs)
• Marcas, familias, desempeños y comparaciones
• Selección de un DSP
L. Escobar
PROCESAMIENTO DIGITAL DE SEÑALES (PDS)

El PDS es un área de la ingeniería que agrupa un conjunto de operaciones que


se aplican sobre señales discretas, estas operaciones se describen como
transformaciones matemáticas.
Algunos objetivos:
- Proveer una mejor aproximación del análisis o estimación del contenido de
la información.
- Analizar, representar, transformar, manipular señales y el contenido de la
información.

L. Escobar
FUNDAMENTOS DEL PDS
Señales y sistemas
Matemáticas Discretas
Probabilidad y Estadística
Variable compleja, Transformada Z (TZ) y TZI
Análisis de espectral:
Transformada de Fourier en el Tiempo Discreto (DTFT)
Transformada Discreta de Fourier (DFT)
Transformada Rápida de Fourier (FFT)
Métodos paramétricos y no paramétricos
Transformada Coseno
Filtros digitales
Estimación de parámetros
L. Escobar
SISTEMA BASICO DE PDS

Proceso
A/D D/A
Señal Convertidor Señal Digital Señal Convertidor Señal
Analogica Digital Digital Analogica
de de
Entrada uC Salida
uP
CPLD o FPGA
Procesador de Señales Digitales (DSP)
L. Escobar
DESARROLLO DE UNA SOLUCION

Interfaz Humana
Código de
Procesar señales Control

Unir la
Interface I/O Lógica

010010 101101
ADC 001011 Diseño 110100 DAC
100100 De Solución 011011
L. Escobar
¿Porqué procesar digitalmente?
 Existen procesos que son muy difíciles o casi
imposibles de realizar por analógicamente
 Ejemplos:
 Filtros FIR con fase lineal
 Filtrado Adaptable
 El procesamiento analógico es realizado con:
resistores, capacitores, inductores, etc.
La tolerancia inherente de estas componentes,
temperatura, cambios de voltaje y vibraciones mecánicas
pueden afectar el desempeño de los circuitos analógicos

L. Escobar
¿Porqué utilizar DSPs?

 Son flexibles y es fácil realizar cambios en la


aplicación
 Los DSPs reducen:
 La suceptibilidad al ruido
 La cantidad de chips
 Tiempo de desarrollo
 Costos
 Consumo de potencia

L. Escobar
Desventajas de los DSPs
 Las señales de alta frecuencia no pueden
procesarse digitalmente porque:
 Un convertido Analogo-Digital (ADC) no puede
trabajar a “altas velocidades”
 Una aplicación puede ser difícil de realizarse en
“tiempo real”

L. Escobar
APLICACIONES DEL PDS y DSPs

PROCESAMIENTO DE SEÑALES FILTRADO DIGITAL TELECOMUNICACIONES


Convolución Respuesta finita al impulso (FIR) Modulación
Encriptado, Energía Respuesta infinita al impulso (IIR) Modems, Telefonía celular
Codificación, Decodificación Lattice-Ladder Mutiplexión de canales
Compresión, Expansión Windowing Igualación de canal
Procesamiento homomórfico Filtrado adaptable Cancelación de eco
Ley mu, Ley A, Conversión, Eliminación de ruido Video conferencia
Correlación Generación de señales Espectro esparcido
Análisis de transitorios Líneas de repetición

ANALISIS ESPECTRAL PROCESAMIENTO NUMERICO VOZ


Transformada rápida de Fourier (FFT) Operaciones matriciales Filtrado
Transformada discreta de Fourier (DFT)
Funciones trascendentales Reconocimiento
Transformada coseno Funciones no lineales Texto a voz
Modelo moving average (MA) generación de números aleatorios Síntesis de voz
Modelo autorregresivo (AR) Aproximaciones numéricas Correo de voz
Modelo ARMA Comandos de voz

L. Escobar
APLICACIONES DEL PDS y DSPs

CONTROL IMÁGENES OTRAS


Drives de discos Filtrado Radio y TV digital
Máquinas Rotación en 3-D Juguetes
Impresora laser Animación Síntesis de música
Motores Realce Potencia
Robots Compresión Máquinas
Servo mecanismos Reconocimiento de Detección por radar
Control numérico patrones Posicionamiento global
Monitoreo en línea Compresión y transmisión Análisis de vibraciones
Seguridad en Visión de robots Detección de minerales
accesos Estaciones de trabajo Windowing
Transformada de Hilbert
MILITARES MEDICINA
Procesamiento de imágenes Diagnóstico de equipo
Comandos por voz Monitoreo fetal
Guía de misiles Monitoreo de pacientes
Navegación Equipo de ultrasonido
Radar, Sonar Prótesis
Comunicaciones seguras Equipos para el oído
Seguimiento de objetos

L. Escobar
Algoritmo Básico de PDS
010010 101101
ADC 001011 110100 DAC
100100 Algoritmo 011011

Muestreo de una señal La mayoría de los algoritmos de PDS


analógica utilizan la operación convolución:
N−1
x(n)
y ( n)= ∑ x ( i ) h( n−i )
i= 0

for (i = 0; i < N-1; i++){


t sum += h[i] * x[i] }
APLICACIONES TIPICAS DE LOS DSPs, un filtro FIR

x (n) h0
y(n)
+

N−1

h1 y ( n ) = ∑ h ( k ) x ( n−k )
z-1 k= 0

h2
z-1

...
hN-1

z-1

L. Escobar
APLICACIONES TIPICAS DE LOS DSPs, un filtro IIR

b0
x (n) W (n) y(n)
+ +

W (n-1)
-a1 z-1
b1

z-1
-a2
b2

W (n-2)

q −1 p −1
y ( n)= ∑ b(i ) x( n−i)− ∑ a(i ) y (n−i)
i= 0 i=1

L. Escobar
MUCHAS APLICACIONES – MUCHAS SOLUCIONES

ASIC
FPGA
FPGA
GPP Hardware
DS P
µC
Propósito
Software
General GPP
Hardware

Aplicación DSP
Específica

Otras
Procesadores de Propósito General (GPP)

XSCALE INTEL Hitachi PowerPC


 Ambiente de diseño amigable

 Alto nivel para Sistemas Operativos

 Periféricos robustos para comunicaciones


FORTALEZAS
 Capacidad para control y depuración de

código

 Compiladores
PDS  De regular a bueno

 PC, estaciones de trabajo, PDA


Aplicaciones
Microcontroladores (µC)

PICs 68HC11,12,16 MCS51 MSP430

 Buenos periféricos de control

 Intermedio para Sistemas Operativos

 Bajo costo
FORTALEZAS
 Memoria FLASH integrada

 Pueden ser de baja potencia

PDS  De pobre a regular

 Control incrustado, aplicaciones domésticas, autos, etc.


Aplicaciones
Arreglos de compuertas programables (FPGA)

 Cálculos muy rápidos

 Excelentes en el diseño de soporte de herramientas

 Algún CPLD es requerido en algún diseño


FORTALEZAS
 Capacidad para sintetizar cualquier periférico

 Fáciles para el desarrollo

 Flexibles y reprogramables

PDS  Excelentes por su velocidad y procesamiento en paralelo

 Unir lógicas, aceleradores de Hardware, radar,


Aplicaciones
arreglo de sensores, diseño de Hardware específico
Procesdores Digitales de Señales (DSPs)

C2000/C5000/C6000 DSP56xxx/StarCore

 Arquitectura optimizada para calcular algoritmos de PDS

 Excelente relación MIPS / mW / Costo

 Compiladores Eficientes, se pueden programar todo en C


FORTALEZAS
 Sistemas Operativos en Tiempo Real

 Pueden ser de muy baja potencia

 De buenos a excelentes
PDS

 Tel. Celulares, telecomunicaiones, cámaras digitales


Aplicaciones
 DSL/cable/modems, audio/video, multimedia

Sin embargo, las aplicaciones actuales requieren una solución combinada


Solución General de Procesamiento de Señales
FPGA
GPP
O
010010 CPLD
µC 101101
ADC 001011 110100 DAC
100100 011011

DSP

 Cada dispositivo debe realizar muy bien su tarea para alcanzar


una mayor eficiencia del sistema en costo/potencia/desempeño
 En el sistema final existen varios factores para incorporar estos
dispositivos:

 Velocidad de muestreo  Cantidad de código


 Necesidades de memoria/periféricos  Ambientes de desarrollo
 Requierimientos de potencia  O/S o RTOS
 Disponibilidad de los algoritmos  Capacidades de depurar
 Transferencia de tareas  Costo del sistema
L. Escobar
ASIC vs. DSPs

 Application Specific Integrated Circuits


(ASICs) son diseñados para una aplicación
muy específica.
Ventajas Desventajas
• Alto desempeño • Alta inversión
• Poca área de silicio • Poca flexibilidad
• Bajo consumo de potencia • Mucho tiempo para su diseño
• Reducción de ruido en sistemas
• Bajo costo del sistema

L. Escobar
¿Porqué utilizar DSPs?
 Los DSPs se utilizan cuando se requeriere:
 Minimizar costos
 Minimizar tamaños
 Bajo consumo de potencia
 Procesar algunas señales de “alta” frecuencia en
tiempo real
 Un procesador GPP se utiliza cuando se requiere:
 Mucha memoria
 Sistemas operativos avanzados

L. Escobar
Marcas de DSPs y Mercado
Ventas en el mercado mundial

Texas
Instruments

Lucent

Motorola

Analog Devices

Otros

2000

L. Escobar
Familias de DSPs

TMS320 de Texas Instruments


1982 2005

200 ns 25 ns 5 ns 0.5 ns CI

L. Escobar
Familias de DSPs
TMS320 de Texas Instruments

L. Escobar
Familias de DSPs TMS320 de
Texas Instruments
C28000 C5000 C6000

Bajo Costo Eficiencia Alto desempeño


Sistemas de control Mayor MIPS por Multi-Canal y Multi-
 Control de motores Watt/Dollar/Tamaño Funciones
 Almacenamiento  Teléfonos celulares  Infrasetructura de
 Sistemas de control  Reproductores de MP3 Comunicaciones
digital  Cámaras Digitales  Estaciones inalámbricas
 Modems  DSL
 Telefonía  Imágenes
 VoIP  Servidores de Multi-media
 Voz  Video
C2000 DSPs
Mundo de los DSPs C2000
 Es el centro de muchas aplicaciones
Incrustadas en control
• Manejadores de discos
• Servo-mecanismos
• Manejadores de motores industriales
• Fuentes ininterrumpibles de potencia
• Electrodomésticos
• Autos

 Es un microcontrolador con un poderso


DSP

 La nueva generación de DSPs C28x es


de código totalmente compatible
Desempeños y comparación de DSPs TMS320
Arquitectura del DSP TMS320F2812
Desempeño y Memoria
• 150 MHz (300 MMACs)
128Kw Flash 18Kw 4Kw Evt Mgr A • MAC en un ciclo 32x32=32 MAC
+ 2Kw OTP RAM Boot
Rom Evt Mgr A (o dos de16)
12-bit ADC • Cero estados de espera para RAM
Watchdog • Un ciclo para leer-operar-escribir
Interrupt Mgmt • 128 K palabras en memoria Flash
GPIO
Control y Periféricos
150 MIPS C28x 32-bit DSP • 12.5 MSPS 12-bit ADC (16 canales)
McBSP • Auto Secuenciador en 16 conversiones
32x32-bit R-M-W
Multiplica Atomic CAN 2.0B • Puertos estándares
ALU SCI-UART A Aplicaciones Específicas
3 x 32-bit
Timers SCI-UART B • Consumibles (impresoras, copiadoras)
32-bit
Real-time • Autos (motores, sensores, sincronías)
Register SPI
JTAG File • Medicina (análisis, sensores)
• Industrial (robots, automatización)
Applicación a control de Motores
Interface”
 Manejo de eventos
• Maneja tres salidas PWM
• Retroalimentación para controlar TMS320C2812
dirección y velocidad
I D
 ADC (12-bit 16 canales) / A PWM
O DSP C
• Mide: voltaje, corriente, temperatura,
C
presión, factor de potencia A
O D ADC
 Comunicación I/O M C
Red
• Envía información a una red CAN
• Utiliza: GPIO, McBSP, SPI

Algoritmos
• basados sobre el tipo de motor
• PID, filtrado adaptable, control difuso
Motores
Tarjeta de Desarrollo del DSP
TMS320C243

L. Escobar
Tarjeta de Desarrollo del DSP
TMS320F28377s

L. Escobar
C5000 DSPs
Mundo de los DSPs C5000
El mundo de los DSPs más eficientes en
manejo de potencia
 Los DSPs más populares

• Más de un un billon vendidos

 El corazón de la mayoría de
aplicaciones portátiles

• Terminales inalámbricas, radios, aplicaciones GPS


• Cámaras, scaners
• Analizadores de huellas digitales
• Internet, audio y reproductores MP3
• Teléfonos celulares
• Redes
Desempeños y comparación de DSPs TMS3205000
Power Efficiency/Performance /Peripheral Integration

Production C55 Next Telecom/VOIP


Infrastructure Portable Media
Sampling Communication/
Audio
Development C551X
600 MIPS
Future

C5510 C55 Next


320-400
288-600 MMACs,
MIPS C5502 $5 – 22 C5509A
>600 MIPS 400 MIPS,
USB Low Cost
C5421 C5502 VoIP/Client/Secure
200 MIPS 400 -600 C5501
600 C5507 Radio/GPS/Biometrics
MIPS
MIPS 400 MIPS C5503
400 MIPS
C5416
120-160
MIPS C5509
288
MIPS Ultra-Embedded
C5410 C5416 Signal Processing/
100-160
MIPS
120-160 50-160 MMACs, Conditioning
MIPS
C5409 Sub $4 – 8
80-160 MIPS C5405 C5x Next
C5407 80 MIPS
C5000TM C5402 C5404 120 MIPS 7x7 uBGA
Devices C5401 100-160 120 MIPS
50 MIPS MIPS
Arquitectura TMS320VC5509
Desempeño y Memoria
96Kw USB 1.0
• 200 MHz (400 MMACs)
32Kw 32Kw PLL
SARAM • Dos MACs (16x16) en un ciclo de Ins.
DARAM ROM
10-bit ADC • Cero estados de espera, DARAM
Watchdog • Interfaz EMIF de 32-bit
GPIO
• 24k Instrucciones en Cache
External 6 Chan Comunicaciones
Mem I/F DMA
3 McBSPs • 6 Canales de DMA
200 MIPS C55x 16-bit DSP • ADC de 10 bits con tc = 500 ns
MMC/SD • Multimedia
16 x 16 Power I2C • Interfaz USB, reloj de tiempo real, I2C
Dual MAC Mgmt RTC Aplicaciones
Timers • Equipos portátiles
40-bit 16-bit
• Consumibles (MP3, cámaras digitales)
ALU ALU INTs JTAG • Seguridad, VoIP, fax, modem
Desempeños y comparación de DSPs TMS320
Aplicación: Análisis de huella digital

 Perifericos
• McBSP: para capturar datos del sensor
• USB: Pasa datos al host para autentificarlos
 Memoria McBSP USB
• FLASH: Para datos imagen de la huellas SDRAM
• SDRAM: captura de la huella E
M
DSP
I Core
F
Algoritmos de Imágenes FLASH TMS320C5509
• Compresión (JPEG, etc)
• Realce de imágenes
• Extracción de características Power
• Reconocimiento Mgmt
Familia de DSPs C5000
C55x TM
TM

C55x DSP
TM
Multicore
EDN 2000 DSP
C55x DSP
TM
TM
DSP
DSP Product of the Year
Internet Telephony ++ RISC
RISC
Best DSP C5441
Microprocessor Report 532 MIPS
C54x DSP
TM
C5421
200 MIPS C5471
C5471
World’s Most Popular DSP C54xTMTM+ARM7
C54x +ARM7
C5420
Over 500 Million Shipped 200 MIPS C5470
C5470 C55x DSP
TM
TM

$5 Billion in Design-ins C54xTMTM+ARM7


C54x +ARM7
C5510
e

320-400
or

C C5509 MIPS
tic

RIS 288-400
ul

MIPS
+ C5502
M

P
DS
400 MIPS
C5416 c at ion
C5410 l i
C5409
80-160 100-160 120-160 App anced
MIPS MIPS MIPS Enh
C5402 C5404 C5407
C5401 100-160 120 120 MIPS
50 MIPS MIPS MIPS
SISTEMA DE COMUNICACIONES CON OMAP 2420

L. Escobar
OMAP 5910

L. Escobar
ARQUITECTURA DEL DSP TMS320C5510

L. Escobar
ARQUITECTURA DEL DSP TMS320C5509

L. Escobar
TARJETA DEL DSP TMS320C5402

L. Escobar
C6000 DSPs
Mundo de los DSPs C6000
 El mundo de los DSPs de alto desempeño
• Velocidades de hasta 1GHz
 Es el centro de nuevas soluciones para
comunicaciones de gran ancho de banda y
comunicaciones de equipos de video
• Estaciones de sistemas inalámbricos
• DSL
• Radio digital
• Servidores de Imágenes y video

 Millones vendidos

 La nuevas generaciones de DSPs C64x


DSP son totalmente compatibles en código
Desempeños y comparación de DSPs TMS3206000
Software Compatible

C64x TM

Next
Production C6416T
1200-4000 MMACs, C6415T
Sampling $20-200
C6414T DM642
Future
Performance

C6416 DM641
C6415 DM640
C6414
i nt
300-600 MMACs, Po C6412 C67xTM
$10-120 x ed Next
Fi C6411 C6711D
C6713
225 MHz
C6201 C6202 C6203 200 MHz
C6712D
in t
150 MHz
C6204 C6205 C6211 in g Po
C6712 Float 200-450 MMACs
C6701 C6711 100 MHz $15-113
167 MHz 150 MHz
Arquitectura del DSP TMS320DM642
Video Ports 0/1
Desempeño y Memoria
PCI-66 20-bit VP • 600 MHz (4800 MMACs a 8 b), 1.2-1.4V
64-bit 64-Ch Or or • 16KB L1 de cache para programa y dato
EMIF DMA HPI 16/32 10-bit VP
• 256KB L2 de cache o memoria interna
McBSP
McASP
• 64-bit EMIF

16K D 16K P 256K Mem 20-bit VP 2


Comunicaciones
Cache Cache or Cache • Puertos de captura/despliega video
• 64-CH DMA
600MHz C6416 16-bit DSP 10/100 EMAC
• 10/100 Ethernet MAC
Reg File - A Reg File - B Timers • McASP – 8 canales para audio stereo
L1 L2 GPIO16

S1 S2 IIC
Aplicaciones
M1 M2 PLL
• Video, video digital
D1 D2 INTs JTAG • IP video telefono
• Juego iteractivos, transmisión de video
Aplicación: Vigilancia por Video
 I/O
• Codifica / decodifica: analogo↔digital
• EMAC: Salida de video a red Ethernet 10/100 Mbs Video In
Video Out
NTSC/PAL
•digital
VP0/1: captura/almacena/envía audio y video Codifica NTSC/PAL
Decodifica
 Memoria BT.656

• SDRAM: Para algoritmos de codificación VP0/1 VP2


• Memoria interna: para algoritmos críticos y datos SDRAM
• Lógica de control: interfaz a HDD E
M DSP
I
Algoritmos de video F Core
Control
• Decodificador MPEG4 (hasta 4 canales a Logic EMAC TMS320DM642
720x480 pixels, 30 cuadros/s)
• Posible encode/decode MPEG4 simultáneo Ethernet
• Encriptado de Video PHY

• Formateo y análisis de video


Otros dispositivos recientes de TI
C6416
• Coprocesador Viterbi(hasta 500
canlaes de voz a 8kbps)
C64x 1GHz
• Turbo coprocesador (hasta 35
canales de datos 384 kbps)
• Sistema wireless/telecom

C6713
• 450 MMACs
C6713 • 2 32x32 MACs en flotante /ciclo
• 64-bit IEEE DP (2 cyc)
• Alto desempeño para audio
• Alta precisión en control de
motores
Desempeños y comparación de DSPs TMS320
Desempeños y comparación de DSPs TMS320
Tarjeta DSK del DSP TMS320C6711
Alimentación 8M×16bit SDRAM 128k×8bit Ranura para
de 3.3V (2) Flash ROM tarjeta EVM
compatible

Interfaz al puerto
paralelo de la PC

DSP TMS320C6711

Jack de
alimentación Ranura para tarjeta
EVM compatible

Led de Dip switches


encendido para opciones
de usuario
Botón de Convertidor a Led1, Led2, Led3
Alimentación de Controlador reset datos de 16bits para usuario
1.8V de emulación TLC320AD535
Pines para JTAG
Entrada para micrófono
conexión JTAG
Salida para bocina
Comparaciones de desempeño entre DSPs

DSP MIPS MAC (ns)


TMS320C2xx 40 - 20 25 a 50

TMS320C5x 80 - 28 12.5 a 35

TMS320C2xxx 400 – 100 2.5 a 10

TMS320C5xxx 400 - 100 2.5 a 10

TMS320C6xxx 4,000 – 200 0.25 a 5

L. Escobar
TI DSPs - Raw Performance #’s
DSP #MACs/ciclo #MMACs

C2812 2 @ 150MHz 300

C5502 2 @ 300MHz 600

4 @ 720MHz 2880
C6416 (1GHz ) (4000 )

MAC (multiplicación-acumulación, 16x16 punto fijo)


MMAC (millones de MACs por segundo)
Herramientas y Terceras Partes
 Beneficios:
• Reduce el tiempo de mercadeo • Areas específicas de expertos
• Soluciones a bajo costo • Soluciones hardware/software completas
 Ingenieros de diseño
 Herramientas
 Servicios de consulta
de Hardware
 Soluciones completas
 Tarjetas de
desarrollo

 CCS Plug-ins
 Librerías de
Aplicaciones
específicas  Herramientas
De desarrollo
Algoritmos
deSoftware
eXpressDSP
Herramientas
Ambiente integrado CCS V2.0
Ambiente integrado CCS V6.1
Parámetros para seleccionar un DSP

Formato Aritmetico (16, 32 bits) Canales DMA


Punto Flotante Extendido (64 bits) Soporte de Multiprocesos
Aritmética Extendida (40-56 bits) Manejo de potencia
Desempeño (MIPS / MFLOPS) Temporizadores (Número/velocidad)
Número de multiplicadores Costo
por Hardware Empaquetado
Número de registros Interface de control de memoria
extendida
Memoria cache
JTAG
Canales I/O, Puertos seriales
(Número/velocidad)

L. Escobar
Resumen del Tema

UNO

¿Qué vimos ?

L. Escobar
Resumen

• Generalidades del Procesamiento Digital de señales (PDS)


• Fundamentos del (PDS)
• Enfoques del PDS
• Sistema básico de PDS
• Aplicaciones del PDS, DSPs y Tiempo real
• Otras soluciones
• Los procesadores digitales de señales (DSPs)
• Marcas, familias, desempeños y comparaciones
• Selección de un DSP

L. Escobar

También podría gustarte