Sunteți pe pagina 1din 47

Procesador digital de seales

Aplicaciones con el C6713 DSK

Unidad 1.- Desarrollo del sistema DSP.


Introduccin. Herramientas

de soporte del DSK.

Tarjeta DSK. Procesador digital de seal TMS320C6713.

Code

Composer Studio.

CCS instalacin y soporte. Archivos de inters.

Prueba

rpida del DSK.

Archivos

de soporte. Programando ejemplos para probar las herramientas del DSK.

El capitulo 1 introduce varias herramientas disponibles para el procesamiento digital de seales (DSP). Estas herramientas incluyen al popular Code Composer Studio (CCS), el cual provee un ambiente de desarrollo integrado (IDE) y el DSP starter kit (DSK) con el procesador de punto flotante TMS320C6713 y un soporte completo para entradas y salidas.

Introduccin
El procesador digital de seales TMS320C6x (C6x) es una familia de procesadores rpidos para propsitos especiales, con un adecuado tipo de arquitectura y un conjunto apropiado de instrucciones para procesar seales. La notacin C6x es usada para designarlo un miembro de la familia de procesadores digitales de seal (TI) TMS320C6000 de Texas Instruments.

La arquitectura del procesador digital de seales C6x es utilizada para el clculo intensivo numrico. Basado en una arquitectura Very-long-instruction-word (VLIW), El C6x es considerado el procesador ms poderoso de TI. El procesador digital de seales es usado en un amplio rango de aplicaciones, desde comunicaciones y control de voz, hasta procesamiento de imgenes.

El propsito general del procesador digital de seales est dominado por aplicaciones en comunicaciones (celular). Las aplicaciones de procesadores embebidos son dominadas por productos de consumo, y los podemos encontrar en telfonos celulares, fax/modems, televisin de alta definicin, cmaras digitales, etc. Pueden manejar diferentes tareas, ya que pueden ser reprogramados rpidamente para una aplicacin diferente.

Los procesadores DSP estn relacionados principalmente con el procesamiento de seales en tiempo real. El procesamiento en tiempo real requiere mantener un ritmo con algn evento externo, mientras que el procesado no en tiempo real, no tiene esa restriccin. El evento externo es usualmente la entrada analgica. Los procesadores DSP son fciles de usar, flexibles y econmicos.

Las aplicaciones comunes usando este procesador han sido para frecuencias que se encuentran en el rango de 0 a 96kHz. El habla puede ser muestreada a 8kHz (la velocidad a la que las muestras son adquiridas), lo cual implica que cada valor muestreado es adquirido a una velocidad de 1/(8kHz) o 0.125ms. Una frecuencia de muestreo de uso comn en un disco compacto es 44.1kHz.

El sistema bsico del convertidor analgico a digital (ADC) consiste en capturar una seal de entrada; y el resultado de la representacin digital de la seal capturada es procesada por un procesador digital de seal tal como el C6x y as entonces la salida ser a travs del convertidor digital a analgico (DAC).

La estructura general que describe a un sistema para procesamiento digital de seales responde al diagrama de bloques que se muestra en la figura.

La seal analgica se obtiene a travs de un sensor que transforma una magnitud fsica en una seal elctrica. Un convertidor analgico-digital convierte la seal analgica en una secuencia numrica. Estas muestras llegan a un elemento procesador en el que se ejecuta un algoritmo de procesamiento digital. La salida de este procesador se introduce a un convertidor D/A para nuevamente obtener una seal analgica, la que a su vez se puede transformar en una magnitud fsica por medio de un actuador.

Herramientas de soporte del DSK


Para desarrollar las practicas, las siguientes herramientas son necesarias: 1. El kit de iniciacin DSP de TI. Donde el paquete incluye:
a)

Code Composer Studio (CCS), el cual provee las herramientas de software. CCS proporciona un ambiente de desarrollo integrado (IDE), que rene el compilador de C, ensamblador, enlazador, depurador, etc.

a)

b) c)

Una tarjeta, mostrada en la figura 1.1 que contiene el procesador digital de seales de punto flotante TMS320C6713 (C6713), as como tambin un Codec stereo de 32 bits para entradas y salidas. Un cable (USB) que conecta la tarjeta DSK a la PC. Una fuente de poder de 5V para la tarjeta.

Un osciloscopio, generador de seales y un speaker.

Tarjeta DSK
El paquete DSK es poderoso y relativamente barato, con las herramientas necesarias de software y hardware para el procesado de seales en tiempo real. Es un sistema completo de DSP. La tarjeta DSK mide aproximadamente 5 x 8 pulgadas, e incluye un procesador digital de seal de punto flotante C6713 y un codificador estreo de 32 bits TLV320AIC23 (AIC23) para entradas y salidas.

La tarjeta DSK incluye una memoria dinmica de acceso aleatorio sncrona (SDRAM) de 16MB (megabytes) y una memoria flash de 256kB (kilobytes). 4 conectores que proveen entradas y salidas: MIC IN para la entrada del micrfono, LINE IN para la lnea de entrada, LINE OUT para la lnea de salida y HEADPHONE para audfonos de salida. El estado de 4 Dip switches pueden ser ledos por un programa y proveer una retroalimentacin.

Practica 1

Est mi tarjeta funcionado?

Creando y configurando un proyecto. Practica 2:


En el programa CCS seleccione el men de tems Project_New (ver Fig. 2). En Project Name escribir un nombre al proyecto (por ejemplo saludo), en Location seleccionar la carpeta de trabajo recin creada, en Project Type seleccionar que la salida ser un ejecutable (.out), en Target seleccionar la familia de DSP que se va a utilizar (en este caso, TMS320C67XX) y presionar finalizar. Notar que CCS cre un archivo de proyecto .pjt donde se guardan la configuracin y referencias de los archivos usados en el proyecto.

Figura 2.0

Ahora se comenzara a agregar archivos al proyecto, para esto, desde el men de tems seleccionar Project- Add Files to Project. Los programas necesarios para cada proyecto son: Archivo.c: Contiene el cdigo C para las actividades iniciales de cada laboratorio junto con las funciones de inicializacin de registros para el DSP. Este archivo ser utilizado para cada sesin de laboratorio y deber ser modificado para realizar las actividades requeridas.

archivo.cmd : Indica al compilador la configuracin de la memoria del DSP, es decir, cantidad de memoria interna y externa, para programa y datos, adems de definir en qu secciones se almacenarn ciertos tipos de variables, y vincula libreras externas al proyecto.

Creando un nuevo proyecto


1.

crear un nuevo proyecto

Project->New

Creando un nuevo proyecto


2.

Escribe tu cdigo C:

File->New->Source File

3.-

Gurdalo en el directorio de proyectos(asegrate de que tenga la extensin .c)

File->Save

4.

Agrega tu archivo C al proyecto:

Project->Add Files to Project

Creando un nuevo proyecto


5.

Agrega archivos de soporte al proyecto


examples\dsk6713\rtdx\shared\c6713dsk.c md c6000\cgtools\lib\rts6700.lib

Project->Add Files to Project


a) b)

6.- Agrega archivos opcionales

Para esta practica no ser necesario

Creando un nuevo proyecto

7.- Fija las opciones de (build options) para el C6713 Project->Build Options
a)

b)

Asegurate que la version de la tarjeta sea C671x Y tambin asegrate de que la opcion Opt Level est en none esto ayuda con el depurado.

Creando un nuevo proyecto


8.-

Escanea todas las dependencias de archivos, para mandar a traer todos los archivos de cabeceras e incluirlos en el proyecto:
Project->Scan

all file dependencies

9.- Construye el proyecto: Project->Build

Creando un nuevo proyecto


10.

Si tuviste xito, carga el archivo .out al DSK:


File-> Load Program
Selecciona

la carpeta Debug, y selecciona el archivo .out

11.

Corre el programa:

Debug->Run F5 el botn de correr

12.

Para detener el programa:

Debug->Halt shift+F5

Practica 3. Ejemplo del LED


El proyecto LED es un simple ejemplo que demuestra el uso mas bsico del (board support library) BSL. Al correr el programa debers observar: El parpadeo continuo del LED #0, alrededor de 2.5 veces por segundo. La lectura continua del valor del DIP#3 y desplegarlo en el LED#3.

Para correr el programa sigue los siguientes pasos:


1.

Abre el proyecto de Code Composer led.pjt.


Project->Open
Selecciona

led.pjt en la direccion examples\dsk6713\bsl\led.

2.- Construye el proyecto:


Project->Build

3.

Carga el archivo led.out al DSK:


la carpeta Debug, y selecciona el archivo led.out

File-> Load Program


Selecciona

4.

Corre el programa:

Debug->Run, F5 el botn de correr. observaras al LED#0 parpadear lentamente

5.

Mueve el DIP Switch#3

hacia arriba y abajo y observa al LED#3 cambiar de estado.

6.

Para detener el programa:

Debug->Halt shift+F5

Examina el cdigo del programa


1.-Expande el rbol de proyecto:


2.- Doble click para ver su contenido.


sobre led.c

Se encuentra ubicado en la parte izq. del espacio de trabajo.

3.- El programa empieza en main(). Primero manda a llamar al DSK6713_init() el cual inicializa el Board Support Library (BSL). El BSL es una librera diseada para hacer ms fcil el uso del los componentes del DSK Board. DSK6713_init() debe ser llamada antes que cualquier otra funcion BSL. Tu vas a reconocer fcilmente una funcin BSL, porque todas ellas empiezan con el prefijo: DSK6713.

main() - Main code routine, initializes BSL and runs LED application * EXTRA: Pressing DIP switch #3 changes LED #3 from off to on. void main() { /* Initialize the board support library, must be first BSL call */ DSK6713_init(); /* Initialize the LED and DIP switch modules of the BSL */ DSK6713_LED_init(); DSK6713_DIP_init(); while(1) { /* Toggle LED #0 */ DSK6713_LED_toggle(0); /* Check DIP switch #3 and light LED #3 accordingly, 0 = switch pressed */ if (DSK6713_DIP_get(3) == 0) /* Switch pressed, turn LED #3 on */ DSK6713_LED_on(3); else /* Switch not pressed, turn LED #3 off */ DSK6713_LED_off(3); /* Spin in a software delay loop for about 200ms */ DSK6713_waitusec(200000); } }

Practica 4: Contador Binario


Realizar

un contador binario utilizando los LED y DIP switch. Hacer uso del las funciones BSL(Board Support Library) y generar tu propio cdigo.

Nota: Esta practica tiene firma.

Un numero de archivos incluidos en subfolders que vienen en la instalacin del CCS, son de gran ayuda.

1. myprojects: Es un folder dnde estarn tus proyectos. 2. bin: Contiene muchas utilidades. 3. docs: Contiene la documentacin y los manuales. 4. c6000\cgtools: Contiene las herramientas de generacin de cdigo. 5. c6000\RTDX: Contiene archivos de soporte para la transferencia de datos en tiempo real. 6. c6000\bios: Contiene archivos de soporte para el DSP/BIOS. 7. examples: Contiene los ejemplos incluidos es CCS. 8. tutorial: Contiene ejemplos adicionales propocinados por CCS.

Archivos de soporte
Los siguientes archivos de soporte que se encuentran localizados en el folder support (excepto las libreras) son usados para la mayora de los ejemplos y proyectos de este curso.

1. c6713dskinit.c: contienen funciones para inicializar el DSK, el codec, el puerto serial y para las I/O. 2. C6713dskinit.h: archivo de cabecera con funciones prototipo. Caracteriza aquellas funciones usadas para seleccionar el micrfono en lugar de la lnea de entrada (por default), ganancia de entrada, etc.

3. C6713dsk.cmd: Indica al compilador la configuracin de la memoria del DSP, es decir, cantidad de memoria interna y externa, para programa y datos, adems de definir en qu secciones se almacenarn ciertos tipos de variables, y vincula libreras externas al proyecto. 4. Vectors_intr.asm: Se encarga del manejo de interrupciones. 5. rts6700.lib, dsk6713bsl.lib,csl6713.lib: runtime, board support library y chip support library, respectivamente. Estos archivos se encuentran localizados en: C6000\cgtools\lib, C6000\dsk6713\lib, y c6000\csl\lib, respectivamente.

Practica 5: Genera el proyecto LED


Realiza

la practica anterior configurando tu proyecto.

Creando un nuevo proyecto


1.

crear un nuevo proyecto

Project->New

Creando un nuevo proyecto


2.

Escribe tu cdigo C:

File->New->Source File

3.-

Gurdalo en el directorio de proyectos(asegrate de que tenga la extensin .c)

File->Save

4.

Agrega tu archivo C al proyecto:

Project->Add Files to Project

Creando un nuevo proyecto

5.- Agrega archivos de soporte al proyecto

Project->Add Files to Project a) support\6713dsk.cmd b) c6000\cgtools\lib\rts6700.lib

6.- Agrega archivos opcionales

Project->Add Files to Project a) c6000\dsk6713\lib\dsk6713bsl.lib

[DSK board support library functions useful for interfacing to the codec, DIP switches, and LEDs]

Creando un nuevo proyecto

7.- Copia los archivos de cabecera .h a la carpeta de tu proyecto: a) ledcfg.h

examples\dsk6713\bsl\ledcfg.h

b)

dsk6713.h

tambin en:

c6000\dsk6713\include\dsk6713.h support\dsk6713.h

a)

dsk6713_led.h

c6000\dsk6713\include\dsk6713_led.h

b)

dsk6713_dip.h

c6000\dsk6713\include\dsk6713_dip.h

Creando un nuevo proyecto

8.- Fija las opciones de (build options) para el C6713 Project->Build Options
a)

b)

Asegurate que la version de la tarjeta sea C671x Y tambin asegrate de que la opcion Opt Level est en none esto ayuda con el depurado.

Creando un nuevo proyecto


9.-

Escanea todas las dependencias de archivos, para mandar a traer todos los archivos de cabeceras e incluirlos en el proyecto:
Project->Scan

all file dependencies

10.-

Construye el proyecto:

Project->Build

Creando un nuevo proyecto


11.

Si tuviste xito, carga el archivo .out al DSK:


File-> Load Program
Selecciona

la carpeta Debug, y selecciona el archivo .out

12.

Corre el programa:

Debug->Run F5 el botn de correr

13.

Para detener el programa:

Debug->Halt shift+F5