Está en la página 1de 17

Herramientas de

programacin con DSP


Ampliacin de Sistemas de Telecomunicacin I
ETSI Telecomunicaciones
Universidad de Valladolid
Curso 2010-2011
1

ndice
1. Herramientas SW/HW

1.1 Esquema General


1.2 Modelo clsico de
programacin
1.3 Flujo de Compilacin
1.4 Emulador HW
1.5 Coste vs prestaciones
1.6 Arquitectura eXpressDSP
1.7 Herramientas de
programacin visual
1.8 Tarjetas comerciales

2. Lenguajes de programacin

2.1 C versus Ensamblador


2.2 Benchmark C versus ASM
2.3 Metodologa de programacin
2.4 Criterios de eleccin C vs ASM
2.5 Resumen comparativo

1. Herramientas SW/HW
1.1 Esquema General
1.2 Modelo clsico de programacin
1.3 Flujo de Compilacin
1.4 Emulador HW
1.5 Costes vs Prestaciones
1.6 Arquitectura eXpress DSP
1.7 Herramientas de programacin visual
1.8 Tarjetas comerciales

1.1 Esquema General

1.2 Modelo Clsico programacin

1.3 Flujo de compilacin


.c

.asm

rts30.lib

.obj
.cmd
.out

1.4 Emulador HW

Primeras modelos tenan una replica del DSP


y requeran quitar el dsp del sistema target
DSP

Pod

DSP
Emulador

PC

Software debugging
7

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

PC

Emulador
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 programacin 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

RAM

CODEC
A/D, D/A
BUS

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

Power
Jack
Power
LED

C6711
DSP
D. Card I/F

(Periph Con.)

User DIP
switches
Three User LEDs
Reset
3.3V Power Supply
16-bit codec (A/D & D/A)
Emulation
Line Level Input (microphone)
JTAG Header JTAG Header Line Level Output (speakers)
21

C6713 DSK

Punto flotante 32 bit IEEE


Doble cache

32 Kb L1D+32Kb L1P
512 Kb

Hasta 300 Mhz ( 3.3 ns)


Hasta 1800 MFLOPS
16 EDMA
2 McAsp ( audio multicanal (16))
22

Quatro6X

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

23

NI SPEEDY-33

Conexin y Alimentacin por USB


Codec Stereo 16 bits
Punto Flotante
Frecuencia de muestreo de 48kHz

8 I/O digitales 2 I/O analgicas


34K x 32 words de memoria on-chip
512 x 8 memoria flash

24

2 Lenguajes de programacin
2.1 C versus Ensamblador
2.2 Benchmark C versus ASM
2.3 Metodologa de programacin
2.4 Criterios de eleccin C vs ASM
2.5 Resumen comparativo

25

2.1 C versus Ensamblador


count

Ensamblador vs C

loop

[B0]

MVKL
MVKH

.S2
.S2

pt1, A5
pt1, A5

MVKL
MVKH

.S2
.S2

pt2, A6
pt2, A6

MVKL
MVKH
MVKL
ZERO
LDH

.S2
.S2
.S2
.L
.D

pt3, A7
pt3, A7
count, B0
A4
*A5++, A0

LDH

.D

*A6++, A1

MPY

.M

A0, A1, A3

ADD

.L

A4, A3, A4

SUB

.S

B0, 1, B0

.S

loop

STH

.D

A4, *A7

Y =

i = 1

ai * xi

for(i=1;i<count;i++)
{
sum+=m[i]*n[i];
}

26

2.1 C versus Ensamblador

Rapidez/sencillez
Ensam:

programas mas rpidos


C: programas mas sencillos de desarrollar y
mantener
Programadores clsicos: 10% - 90%

Programacin entorno DSP


Programas

mas cortos ( 100 vs 10000 lneas)


La velocidad de ejecucin es critica
Programadores DSP: 50%-50%

27

2.1 C versus Ensamblador

Inversin/Costes

Modelo tradicional

Produccin 30% sobre C


Competencia mercado: mxima velocidad, mnimo coste
C requiere mas memoria, luego mayor coste

Programacin en C y desarrollo de bloques crticos en


ensamblador

Futuro

Compiladores C optimizados: 3 veces mas rpidos


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 Metodologa de programacin

Fases diseo aplicacin a ejecutar DSP:


Determinar

especificaciones de aplicacin
Disear algoritmo para DSP
Seleccin lenguaje
Ensamblador
Lenguaje de alto nivel (C)
Entorno grfico (VAB)

Programar

algoritmo
Comprobar cumplimiento especificaciones

30

2.4 Criterios de eleccin C vs ASM

Complejidad del programa

Velocidad

Producto => Ensamblador


Desarrollo => C

Conocimiento previo

Dos o mas => C

Prioridad coste producto / coste desarrollo

Critica => Ensamblador

Numero de programadores

Grande => C

Continuar con el que se tiene

Recomendaciones del fabricante


31

2.4 Criterios de eleccin (C vs ASM)


Programacin
Fuente

C
C ++
Linear
ASM
ASM

Efficiencia

Optimizador
Compilador

Optimizador
Ensamblador

Optimizador

Esfuerzo

80 - 100%

Bajo

95 - 100%

Medio

100%

Alto
32

2.5 Resumen comparativo

Ensamblador:
Mximo control del procesador
Si algoritmo complejo Aumento dificultad
Costoso mantenimiento y actualizacin de aplicaciones

C:
Menor control del procesador
Disminuye tiempo desarrollo algoritmos
Menor rendimiento algoritmos
Sencillo mantenimiento, actualizacin y documentacin
de aplicaciones.

Programacin visual
Bajo control del procesador
Sensible disminucin tiempo desarrollo algoritmos
No necesario saber funcionamiento bloques

33

También podría gustarte