You are on page 1of 17

Herramientas de programacin con DSP

Ampliacin de Sistemas de Telecomunicacin I ETSI Telecomunicaciones Universidad de Valladolid Curso 2007-2008


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

ISA PCI USB Parall

Software debugging

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 DSP Emulador USB

Software debugging

PC

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


CODEC A/D, D/A BUS

DSP

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 Supply 6M SDRAM 1 128K FLASH Daughter Card I/F
(EMIF Connector)

Parallel Port I/F


TMS320C6711

C6711 DSP
(Periph Con.)

Power Jack Power LED

D. Card I/F

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
MVKL MVKH MVKL MVKH MVKL MVKH MVKL ZERO LDH LDH MPY ADD SUB [B0] B STH .S2 .S2 .S2 .S2 .S2 .S2 .S2 .L .D .D .M .L .S .S .D pt1, A5 pt1, A5 pt2, A6 pt2, A6 pt3, A7 pt3, A7 count, B0 A4 *A5++, A0 *A6++, A1 A0, A1, A3 A4, A3, A4 B0, 1, B0 loop A4, *A7

Y =

i = 1

ai * xi

loop

for(i=1;i<count;i++) for(i=1;i<count;i++) { sum+=m[i]*n[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
Produccin 30% sobre C Competencia mercado: mxima velocidad, mnimo coste C requiere mas memoria, luego mayor coste

Modelo tradicional
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
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 eleccin (C vs ASM)


Programacin
Fuente Efficiencia 80 - 100% Esfuerzo Bajo

C C ++ Linear ASM ASM

Optimizador Compilador

Optimizador Ensamblador

95 - 100%

Medio

Optimizador

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

You might also like