Code
Composer Studio.
Prueba
Archivos
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.
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.
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
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.
Project->New
Escribe tu cdigo C:
File->New->Source File
3.-
File->Save
4.
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.
Escanea todas las dependencias de archivos, para mandar a traer todos los archivos de cabeceras e incluirlos en el proyecto:
Project->Scan
11.
Corre el programa:
12.
Debug->Halt shift+F5
3.
4.
Corre el programa:
5.
6.
Debug->Halt shift+F5
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); } }
un contador binario utilizando los LED y DIP switch. Hacer uso del las funciones BSL(Board Support Library) y generar tu propio cdigo.
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.
Project->New
Escribe tu cdigo C:
File->New->Source File
3.-
File->Save
4.
[DSK board support library functions useful for interfacing to the codec, DIP switches, and LEDs]
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
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.
Escanea todas las dependencias de archivos, para mandar a traer todos los archivos de cabeceras e incluirlos en el proyecto:
Project->Scan
10.-
Construye el proyecto:
Project->Build
12.
Corre el programa:
13.
Debug->Halt shift+F5