Sei sulla pagina 1di 7

Introducción al DSK ‘C6711

Esta tarjeta está basada en el procesador digital de señales (PDS) de punto flotante
(fabricado por la Texas Instruments) TMS320C6711, el cual ejecuta 900 millones
de operaciones de punto flotante por segundo (MFLOPS). DSK es un acrónimo de
Digital signal processor Starter’s Kit, en español: Kit de inicio al procesador digital
de señales. Este DSK es una plataforma de bajo costo con una interfaz con la
computadora por el puerto paralelo que permite desarrollar y probar aplicaciones
para el ‘C6711. Existe una versión anterior del mismo fabricante basada en el
procesador digital de señales (PDS) de punto fijo TMS320C6211, el cual ejecuta
1200 millones de instrucciones por segundo (MIPS). Ambas tarjetas son similares,
solo cambia el procesador y además posee menos memoria RAM externa. Entre las
principales similitudes esta la programación, la cual es igual en ambos
procesadores. En lo sucesivo, al emplear el término ‘C6x11 se refiere a algo que es
aplicable a ambos procesadores.
C.2 Características principales del DSK TMS320C6711
El procesador digital de señales opera a una frecuencia de reloj de 150 MHz y es
capaz de ejecutar 900 millones de operaciones de punto flotante por segundo
(MFLOPS). Posee un soporte de reloj dual, 150 MHz para el procesador y 100 MHz
para la interfaz de memoria externa (EMIF). Algunas otras características del DSK
son:
• Interfaz para la conexión a la computadora (procesador Anfitrión) por el puerto
paralelo (en modo EPP o SPP bidireccional).

• 16 MBytes de memoria RAM dinámica síncrona (SDRAM) que opera a 100MHz.

• 128K Bytes de memoria ROM flash programable y borrable.

• Puerto de entrada-salida de 8 bits mapeado en memoria.

• Interfaz de puerto anfitrión (HPI) que permite el acceso a toda la memoria del
procesador a través del puerto paralelo.

• Convertidor analógico-digital y digital-analógico (CODEC) de 16 bits con tasa de


muestreo de 8 KHz

• Seis LEDs indicadores (3 de usuario y 3 de propósito específico).

• Utilización externa con fuente de poder y el cable paralelo.

• Conector JTAG y conectores para expansión.


C.3 Diagrama a bloques del DSK TMS320C6X11.
El DSK ‘C6X11 tiene un procesador digital de señales TMS320C6X11 que permite
una verificación inmediata de código con el Code Composer Studio (CCS, ver
lapéndice D).

En la figura C.1 se muestra el diagrama a bloques del DSK TMS320C6X11.


Interfazpor puertoparaleloAnfitrión aDestinoReloj25 MHzRelojx 6Relojx
4MuxConectorJTAG externoEmuladorJTAG TBCDesplazadorde
nivelHPIJTAGPAL deTBC, PPCy modo decontrol dearranqueCLKINECLKINJack
deentrada +5VRegulador1.8 VRegulador3.3
VCVDDDVDDMcBSP0McBSP1/TIMERSCODECInterfaz deperifericos
deexpansiónReloj5.6 MHzJack entradaanalógicaJack salidaanalógicaSupervisorde
voltajeBotón deresetPAL decontrol dereset, depuertos deE/S y bufferInterfaz de
memoriade expansiónDRVRSXCVRSPuertosde E/SMem. FLASH128K x 8Mem.
SDRAMInterruptoresde usuarioLEDs deusuarioEMIFPDSTMS320C6X11Mapa
dememoriaA otros dispositivos de 3.3 V y 5 VCE0CE1CE1CE2CE3ED
[31,...,0]EA[21,...,2]DB_D[31,...,0]DV_A[21,...,2]
Fig. C.1 Diagrama a bloques del DSK TMS320C6x11
De acuerdo a la Fig. Anterior, se divide al DSK en las siguientes partes: el
procesador, los relojes, los puertos de entrada y salida, la interfaz de puerto
anfitrión, la interfaz analógica, la memoria externa, la SDRAM y la memoria
FLASH. En las siguientes secciones se describe brevemente cada una de las partes
mencionadas anteriormente.

C.3.1.1 El procesador
El corazón de esta tarjeta es el procesador digital de señales de punto fijo
TMS320C6x11, el cual pertenece a la familia ‘C62xx. Este procesador esta basado
en la arquitectura VelociTI de la Texas Instruments (TI), la cual es una versión
mejorada de la arquitectura
VLIW (Very Long Instruction Word, en español palabra de instrucción muy
grande) y además permite obtener un código ejecutable pequeño. Su conjunto de
instrucciones es pequeño, similar al RISC. Cuenta con un compilador C, un
optimizador del ensamblador que simplifica la programación y un depurador para
Windows, el Code Composer Studio que permite visualizar la ejecución del código.
En el apéndice D se explica la herramienta de programación de este dispositivo.
El procesador tiene 6 unidades aritmético-lógicas de 32-40 bits y dos
multiplicadores de 16 bits (resultados de 32 bits); cuenta además con 32 registros
de 32 bits de propósito general. El ciclo máquina de este procesador es de 6.7 ns y
es capaz de ejecutar 8 instrucciones en un solo ciclo. El direccionamiento es en
base a bytes (datos de 8, 16 y 32 bits) y su rango de direccionamiento es de 32 bits.
En la figura C.2 se muestra el diagrama a bloques del procesador digital.
La unidad de procesamiento central (CPU) tiene dos grupos de unidades
funcionales, cada una de las cuales contiene cuatro unidades y un archivo de
registros. El primer grupo contiene las unidades funcionales: .L1, .S1, .M1 y . D1; el
segundo grupo contiene las unidades: .D2, .M2, .S2 y .L2. Cada uno de los archivos
de registros contiene 16 registros de 32 bits, para tener un total de 32 registros de
propósito general de 32 bits. Estos dos grupos de unidades funcionales junto con
los archivos de registro forman las partes “A” y “B” del CPU, ver la figura C.2. Las
cuatro unidades funcionales de cada lado del CPU comparten libremente los 16
registros que corresponden a ese lado. Además, cada lado tiene un bus de datos
conectado a todos los registros del otro lado por el cual ambos grupos de unidades
funcionales acceden a los datos presentes en el archivo de registros contrario.

Fig. C.2 Diagrama a bloques del PDS TMS320C6211.


El CPU esta basado en una arquitectura tipo cargar/guardar (load/store), en la cual
todas las instrucciones operan en los registros (lo opuesto a los datos en la
memoria). Las unidades de direccionamiento de datos (.D1 y .D2) son las
encargadas de todas las transferencias de datos entre los archivos de registros y la
memoria. Las direcciones de los datos manejadas por las unidades .D permiten que
las direcciones generadas en un archivo de registros sean usadas para cargar o
guardar datos a o desde el otro registro de archivos. El CPU permite una gran
variedad de modos de direccionamiento utilizando ya sea modo de
direccionamiento lineal o circular con desplazamiento de 5 0 15 bits. Las
unidades .M están dedicadas a realizar multiplicaciones y las unidades .S y .L se
encargan de las funciones aritméticas, lógicas y de salto con resultados obtenidos
en un ciclo de reloj.

C.3.1.2 Memoria interna


La memoria interna esta organizada de la siguiente manera: hay 72 Kbytes de
memoria interna, de los cuales 8 Kbytes se utilizan como memoria caché de nivel 1
(L1) a la cual el CPU tiene acceso directo. La memoria caché L1 Esta dividido en 4
Kbytes de memoria de programa (L1P) y 4 Kbytes de memoria de datos (L1D). Los
64 Kbytes de memoria interna restantes es un espacio unificado de memoria de
datos y de programa. Puede utilizarse como memoria caché de nivel 2 (L2), puede
mapearse directamente como memoria interna o funcionar como una combinación
de ambas.
L1P está mapeada directamente, por lo cual cada byte de cada instrucción ocupa
una localidad específica en el caché. También tiene una amplia ruta de acceso a los
datos presentes en el CPU de tal forma que el CPU busca 8 instrucciones (un
paquete de búsqueda) por cada ciclo de reloj.
L1D es bidireccional asociativa, con lo cual puede manejar dos grupos de
información con diferente rango de dirección. La memoria caché L1D es una
memoria de doble puerto que permite el acceso de ambos puertos del CPU de
manera simultánea, de tal forma que el CPU puede cargar o guardar dos valores de
32 bits en un solo ciclo de datos de L1D.
La memoria L2 esta dividida en cuatro bancos de 16 Kbytes, cada uno de los cuales
puede programarse como memoria caché o memoria RAM. Cada banco
seleccionado como caché agrega una dirección de asociatividad, permitiendo que la
memoria caché sea asociativa en 1, 2, 3 o 4 direcciones. La L2 seleccionada como
caché no se muestra en el mapa de memoria del ‘C6211. El hecho de mapear
bloques de L2 como localidades direccionables permite que el código y los datos
críticos queden en memoria interna.

C.3.1.3 McBSP
El puerto serie multicanal con buffer, McBSP (Multichannel Buffered Serial Port)
consiste en una ruta de datos y de control para conectarse con otros dispositivos
externos. La comunicación de datos a estos dispositivos externos se realiza a través
de pines separados de transmisión y recepción. Las señales de control (reloj y
sincronización de cuadros) se envían a través de otros cuatro pines. Los demás
dispositivos se comunican con McBSP a través de un registro de control de 32 bits
accesible a través del bus periférico interno.
C.3.1.4 Registros de control del PDS
En la tabla C.1 se muestran los registros de control del PDS.
Tabla C.1 Registros de control del PDS
Abreviación Nombre del registro Función
AMR Registro de modo de Especifica donde usar
direccionamiento direccionamiento lineal
o circular para cada uno
de los 8 registros;
además contiene el
tamaño para
direccionamiento
circular
CSR Registro de control de Contiene el bit de
estado habilitación interrupción
global, los bits de control
del caché y otros bits de
control y de estado
IFR Registro de banderas de Despliega el estado de
interrupción las interrupciones
ISR Registro de Permite fijar
configuración de manualmente las
interrupciones interrupciones
pendientes
ICR Registro de limpiado de Permite limpiar
interrupciones manualmente las
interrupciones
pendientes
IER Registro de habilitación Permite
de interrupciones habilitar/deshabilitar
interrupciones
individualmente
ISTP Apuntador de la tabla de Apunta al inicio de una
servicio de tabla de servicio de
interrupciones interrupciones
IRP Apuntador de retorno de Contiene la dirección
interrupciones utilizada para regresar
de una interrupción
enmascarable
NRP Apuntador de retorno de Contiene la dirección
interrupciones no utilizada para regresar
enmascarables de una interrupción no
enmascarable
PCE1 Contador de programa, Contiene la dirección de
fase E1 la búsqueda de paquetes
que se encuentra en la
segmentación encausada
de E1

C.3.2 Relojes
El DSK contiene dos relojes, lo cual permite que el CPU del procesador opere a una
frecuencia (150 MHz) y la memoria externa asíncrona a otra frecuencia (100 MHz).
Este DSK utiliza un oscilador y multiplicadores externos para la entrada de reloj del
CPU (CLKIN) y para el reloj del EMIF (ECLKIN).

C.3.3 Puertos de entrada y salida


El DSK contiene un puerto de entrada y salida de 8 bits, configurado como 8 bits de
entrada y 8 bits de salida. Este puerto de 8 bits está conectado al byte superior del
C6211 para minimizar el tiempo en que se carga el bus de datos. El puerto de
Entrada/Salida ocupa una dirección de un byte en la mitad superior del espacio de
memoria CE1. El reloj de la memoria externa es el que rige el puerto de
Entrada/Salida y un PAL que se encuentra en la tarjeta para generar las señales de
control. El registro de control EMIF CE1 debe de estar en modo asíncrono de 32
bits para poder acceder al puerto de entrada y salida.

C.3.4 Interfaz de puerto anfitrión


La interfaz de Puerto Anfitrión (Host Port Interface, HPI) es un puerto paralelo de
16 bits a través del cual el Procesador Anfitrión puede acceder directamente a la
memoria del CPU. El procesador Anfitrión funciona como procesador maestro en
la interfaz, lo cual mejora el acceso; es decir, a través de esta interfaz el procesador
Anfitrión puede acceder a datos ya sea que estén en memoria interna o memoria
externa. La conectividad a la memoria del CPU se logra a través del controlador de
acceso a memoria, DMA. Ciertas direcciones dedicadas y registros de datos que no
se puede acceder el CPU conectan el HPI a un canal auxiliar, el cual a su vez
conecta el HPI al espacio de memoria del CPU. Tanto el CPU como el Anfitrión
pueden acceder al registro de control del HPI (HPIC). Por otra parte, el Anfitrión
puede acceder al registro de dirección del HPI (HPIA), al registro de datos del HPI
(HPID) y al HPIC usando datos externos y señales de control.

C.3.5 Interfaz analógica


El DSK C6711 incluye un convertidor analógico/digital y digital/analógico de 16 bits
de dos canales (CODEC) para aplicaciones de voz. Opera en formato entero corto
de 16 bits, 15 de magnitud y uno de signo. Esta interfaz tiene una frecuencia de
muestreo fija de 8 KHz y cuenta con un conector jack estéreo para salida analógica
y un conector jack mono para la entrada analógica. En la figura C.3 se muestra el
diagrama a bloques del CODEC del DSK y se observa que el puerto serie del PDS
(McBSP0) se encuentra dedicado a la comunicación con el CODEC.
Filtro pasivo/Acoplamiento de ACFiltro pasivo/Acoplamiento de
ACEntradaanalógicaSalidaanalógicaTLC320AD535CODEC de dos
canalesAplicaciones de voz/datos(16 bits - fija a 8KHz )Reloj de6.448
MHzTraslación devoltajePDS`C6X11McBSP0McBSP0datos serie/relojes

Fig. C.3 Diagrama a bloques del CODEC

C.3.6 Memoria externa


El DSK tiene un banco de memoria de 4M para palabras de 32 bits con un tiempo
de acceso de 10 ns (100 MHz), una memoria flash ROM de 128K x 8 y un puerto de
E/S mapeado en memoria. Contiene además un conector de expansión para
habilitar bancos externos de memoria asíncrona y/o dispositivos mapeados en
memoria añadidos al DSK. La dirección de la EMIF y los buses de datos para
preservar la integridad de las señales, evitar el efecto de carga en las salidas, etc.

C.3.6.1 SDRAM
El DSK contiene una SDRAM de 4M x 32 bits palabras. Esta a su vez está
compuesta por dos bancos de dispositivos de 512k x 16 bits. La SDRAM debe ser
refrescada periódicamente para que pueda mantener sus datos.

C3.6.2 Memoria FLASH


El DSK contiene 128k de memoria flash y memoria programable ROM. Los 8 bits
del bus de datos del dispositivo están conectados al byte inferior del bus de datos
del C6211. Este dispositivo permite que el DSK haga reset a una aplicación externa
cuando se encienda la tarjeta o en un reset. El registro de control EMIF CE1 debe
estar en el modo de 8 bits asíncronos para poder accesar la memoria ROM.

Potrebbero piacerti anche