Está en la página 1de 17

Herramientas de

programación con DSP

Ampliación de Sistemas de Telecomunicación I


ETSI Telecomunicaciones
Universidad de Valladolid
Curso 2010-2011

Índice

1. Herramientas SW/HW 2. Lenguajes de programación

 1.1 Esquema General  2.1 C versus Ensamblador


 1.2 Modelo clásico de  2.2 Benchmark C versus ASM
programación  2.3 Metodología de programación
 1.3 Flujo de Compilación  2.4 Criterios de elección C vs ASM
 1.4 Emulador HW  2.5 Resumen comparativo
 1.5 Coste vs prestaciones
 1.6 Arquitectura eXpressDSP
 1.7 Herramientas de
programación visual
 1.8 Tarjetas comerciales

2
1. Herramientas SW/HW

1.1 Esquema General


1.2 Modelo clásico de programación
1.3 Flujo de Compilación
1.4 Emulador HW
1.5 Costes vs Prestaciones
1.6 Arquitectura eXpress DSP
1.7 Herramientas de programación visual
1.8 Tarjetas comerciales

1.1 Esquema General

4
1.2 Modelo Clásico programación

1.3 Flujo de compilación

.c

.asm
rts30.lib

.obj
.cmd

.out

6
1.4 Emulador HW
 Primeras modelos tenían una replica del DSP
y requerían quitar el dsp del sistema target

DSP

Pod DSP
Emulador PC

Software debugging

1.4 Emulador HW
 Posteriormente el DSP se mejora con un puerto JTAG
y el emulador no necesita tener una replica del dsp

JTAG
DSP Pod Emulador PC

Software debugging
ISA
PCI
USB
Parall

8
1.4 Emulador HW

JTAG ( 2x4 pines)

 Emuladores Texas Instruments


 Familia XDS 510 (ISA)
 Familia XDS 560 (PCI)

1.4 Emulador HW
 Modernamente, el emulador esta incluido
dentro de las tarjetas de desarrollo tipo DSK,
pero son mas lentos

JTAG Software debugging


DSP

Emulador PC

USB

10
1.5 Costes sistemas de desarrollo

3500 $

1395 $

395 $ CCS

4000 $

11

1.6 Texas Instruments: Arquitectura software

12
1.6.1 Code Composer Studio (CCS)

13

1.6.2 DSP/BIOS Kernel

14
1.6.3 DSP Algorithm Standard (xDAIS)
 Componentes Reference framework RF1,
RF3, RF5

15

1.7 Herramientas de programación visual

 RIDE
 Simulink + Real Time Workshop +
Embbeded Target
 Labview + DSP Module

16
1.7.1 Visual Aplication Builder (RIDE)

17

1.7.2 Simulink/DSP

18
1.7.3 LABVIEW / DSP

19

1.8 Tarjetas Comerciales

DSP CODEC
A/D, D/A
BUS

RAM CONTROLADOR BUS

 Buses: ISA/PCI, VME, serie,paral,USB


 Fabricantes: National Instruments, Ariel, Loughborough Sound
Images Ltd, Spectrum Signal Processing, White Mountain Ltd,
Dspace, Innovative Intergration, etc.

20
C6711 DSK

1.8V Power Supply16M SDRAM 128K FLASHDaughter Card I/F


(EMIF Connector)

Parallel
Port I/F
TMS320C6711
‘C6711
DSP
Power
Jack D. Card I/F
(Periph Con.)
Power
LED User DIP
switches
Reset Three User LEDs
3.3V Power Supply Emulation 16-bit codec (A/D & D/A)
Line Level Input (microphone)
JTAG Header JTAG Header Line Level Output (speakers)

21

C6713 DSK

 Punto flotante 32 bit IEEE  Hasta 300 Mhz ( 3.3 ns)


 Doble cache  Hasta 1800 MFLOPS
 32 Kb L1D+32Kb L1P
 16 EDMA
 2 McAsp ( audio multicanal (16))
 512 Kb
22
Quatro6X

· 4 GFLOPS/6400 MIPS
· 4 160 MHz TMS320C6701 DSP (floating-point)
· FIFO Link Interconnects Between Processors

23

NI SPEEDY-33

· Conexión y Alimentación por USB


· 8 I/O digitales – 2 I/O analógicas
· Codec Stereo 16 bits
· 34K x 32 words de memoria on-chip
· Punto Flotante
· 512 x 8 memoria flash
· Frecuencia de muestreo de 48kHz

24
2 Lenguajes de programación

 2.1 C versus Ensamblador


 2.2 Benchmark C versus ASM
 2.3 Metodología de programación
 2.4 Criterios de elección C vs ASM
 2.5 Resumen comparativo

25

2.1 C versus Ensamblador


count
Ensamblador vs C Y = 
i = 1
ai * xi
MVKL .S2 pt1, A5
MVKH .S2 pt1, A5
MVKL .S2 pt2, A6
MVKH .S2 pt2, A6
MVKL .S2 pt3, A7
MVKH .S2 pt3, A7
MVKL .S2 count, B0
for(i=1;i<count;i++)
ZERO .L A4 {
loop LDH .D *A5++, A0 sum+=m[i]*n[i];
LDH .D *A6++, A1 }
MPY .M A0, A1, A3
ADD .L A4, A3, A4
SUB .S B0, 1, B0
[B0] B .S loop
STH .D A4, *A7
26
2.1 C versus Ensamblador
 Rapidez/sencillez
 Ensam: programas mas rápidos
 C: programas mas sencillos de desarrollar y
mantener
 Programadores clásicos: 10% - 90%

 Programación entorno DSP


 Programas mas cortos ( 100 vs 10000 líneas)
 La velocidad de ejecución es critica
 Programadores DSP: 50%-50%

27

2.1 C versus Ensamblador


 Inversión/Costes
 Producción 30% sobre C
 Competencia mercado: máxima velocidad, mínimo coste
 C requiere mas memoria, luego mayor coste

 Modelo tradicional
 Programación en C y desarrollo de bloques críticos en
ensamblador

 Futuro
 Compiladores C optimizados: 3 veces mas rápidos
 Convergencia
 Necesidad de conocer la arquitectura y las intrucciones en
ensamblador, aunque se programa en C

28
2.2 Benchmarks C versus ASM
 C natural (no especifico para ’C6x) versus ensamblador
baso en nº de ciclos de reloj

29

2.3 Metodología de programación


 Fases diseño aplicación a ejecutar DSP:
 Determinar especificaciones de aplicación
 Diseñar algoritmo para DSP
 Selección lenguaje
 Ensamblador
 Lenguaje de alto nivel (C)
 Entorno gráfico (VAB)

 Programaralgoritmo
 Comprobar cumplimiento especificaciones

30
2.4 Criterios de elección C vs ASM
 Complejidad del programa
 Grande => C

 Velocidad
 Critica => Ensamblador

 Numero de programadores
 Dos o mas => C

 Prioridad coste producto / coste desarrollo


 Producto => Ensamblador
 Desarrollo => C

 Conocimiento previo
 Continuar con el que se tiene

 Recomendaciones del fabricante

31

2.4 Criterios de elección (C vs ASM)


Programación
Fuente Efficiencia Esfuerzo

C
80 - 100% Bajo
C ++ Optimizador
Compilador

Linear
Optimizador 95 - 100% Medio
ASM Ensamblador

ASM 100% Alto


Optimizador
32
2.5 Resumen comparativo
 Ensamblador:
 Máximo control del procesador
 Si algoritmo complejo – Aumento dificultad
 Costoso mantenimiento y actualización de aplicaciones
 C:
 Menor control del procesador
 Disminuye tiempo desarrollo algoritmos
 Menor rendimiento algoritmos
 Sencillo mantenimiento, actualización y documentación
de aplicaciones.
 Programación visual
 Bajo control del procesador
 Sensible disminución tiempo desarrollo algoritmos
 No necesario saber funcionamiento bloques 33

También podría gustarte