|
Complementos de sistemas electrónicos digitales |
TEMA
2
|
2.
Descripción
general del sistema
En la figura 2.2 se muestra un diagrama de bloques de la estructura interna de la familia TMS320C3x.
Incorpora una arquitectura microprocesadora interna clásica de tipo Harvard (internamente ofrece buses de datos y direcciones independientes que permiten indistintamente el acceso a memoria de programa y dato). La estructura interna de la CPU de este DSP, le permite, en principio, realizar, simultáneamente y en un único ciclo máquina[1], operaciones de multiplicación y suma, así como operaciones con enteros o flotantes de coma variable. Los accesos al exterior se realizan, sin embargo, utilizando una arquitectura microprocesadora de tipo Von-Neuman (selección y acceso a los datos e instrucciones por los mismos buses de dirección y datos).
Figura 2.1. Diagrama de bloques de la estructura interna del DSP TMS320C3x
La CPU dispone de una serie de registros internos, R0-R7, registros que hacen las veces de registros acumuladores de propósito general. Su función es la de ser el operando de las diferentes operaciones aritméticas que puede realizar la CPU. Juntos con estos registros aparecen otros en la CPU, los denominados ARi, que se emplean como operandos de unas unidades aritméticas auxiliares.
El bus de datos de este sistema microprocesador es de 32 bits, siendo el bus de direcciones de 24 bits, lo que permite una capacidad de direccionamiento total del dispositivo de 16 Mwords (obsérvese que la word para este sistema es de 32 bits).
Texas Instruments ofrece (como ocurre la mayoría de las veces con cualquier microprocesador, microcontrolador o DSP de cualquier fabricante) DSPs de esta familia que incorporan modos de funcionamiento con ahorro energético: los modos IDLE2 y LOPOWER. En modo IDLE2, se congela el reloj hasta que aparezca una de las cuatro interrupciones externas que lo reactivan. En modo LOPOWER, la CPU y la DMA continúan ejecutando instrucciones y transfiriendo datos a memoria, pero a una frecuencia de reloj mucho más baja (se divide por 16 la entrada de pulsos proveniente del oscilador).
Se observa, además, que esta familia de DSPs dispone de una serie de periféricos internos:
· Memoria interna: Memoria RAM (dos bloques de 1Kw cada uno) y ROM (4Kw de tipo OTP-programable una única vez por el fabricante). El tiempo de acceso a estos periféricos es de un ciclo máquina.
· Periférico de memoria caché de programa. El tiempo de acceso a estos periféricos es de un ciclo máquina. El usuario lo emplea por ejemplo, para disminuir los accesos a instrucciones ubicadas en memoria externa, con tiempos de acceso más elevados que los que tienen las instrucciones que se ubican en memoria interna (de tipo RAM o ROM).
· Periférico DMA interno.
· Puertos serie con protocolo síncrono. Dos puertos serie disponibles en el TMS320C30, únicamente uno en el TMS320C31 y TMS320C32.
· Dos periféricos temporizadores programables de 32 bits (Timers).
· Periférico de control y gestión de interrupciones que hace este proceso transparente a la CPU.
· Periféricos de control de acceso a memoria. Estos periféricos se encargan de gestionar los accesos a posiciones de memoria ubicadas en el interior o exterior del integrado. El acceso al exterior se realiza mediante dos buses independientes entre sí (para el caso del TMS320C30), el bus principal y el de expansión, cada uno formado por un bus de datos, otro de direcciones y, finalmente, un bus de control. Podemos, por tanto, controlar el acceso al exterior del dispositivo por dos canales, independientes entre sí, cada uno con su protocolo, sus tiempos característicos, etc. Las versiones TMS320C31 y TMS320C32 únicamente disponen del bus principal para gestionar los accesos al exterior.
El DSP, mediante una unidad multiacumuladora (MAC), puede ir preparando la próxima instrucción a ejecutar mientras procesa (opera con) dos o más datos, en el mismo ciclo de reloj (estructura interna de tipo Harvard).
Los cuatro componentes básicos de esta familia son:
ü TMS320C30 con versiones que funcionan a diferentes frecuencias máximas de reloj externo (oscilador o cristal de cuarzo): 40 y 50 MHz. Por ejemplo, el de 40 MHz de frecuencia máxima tendría, funcionando con un cristal de cuarzo de dicha frecuencia conectado al DSP, 50ns de tiempo de ejecución de una instrucción (el doble del periodo del oscilador) y la posibilidad de realizar hasta 40 MFLOPS (millones de operaciones de coma flotante por segundo) y ejecutar 20 MIPS (millones de instrucciones en un segundo). Nótese que estos dos últimos valores, obtenidos del catálogo del fabricante, se refieren al caso hipotético en que el sistema ejecute múltiples instrucciones, cada una con una duración de un ciclo máquina, e implementando, cada una de esas instrucciones, dos operaciones en coma flotante.
ü TMS320C31 con versiones a 40, 50, 60 y 80 MHz. Básicamente es una versión económica del TMS320C30. Dispone de un programa denominado autocarga o boot-loader en la ROM interna (ROM de 4Kw que no se encuentra disponible, en este caso, para que el usuario le encargue al fabricante su reprogramación), de un puerto serie y no dispone de acceso al exterior mediante el bus de expansión.
ü TMS320C32 con versiones a 40, 50 y 60 MHz. Como característica fundamental destaca la posibilidad de configurar el ancho del bus de datos para que funcione, de forma transparente al usuario, a 16 ó 32 bits en el acceso a instrucciones externas (memoria de programa) y a 8, 16 ó 32 bits en el acceso a datos externos (memoria de datos), manteniendo la estructura interna de 32 bits. Esto le permite al usuario disminuir los costes de desarrollo (menor número de dispositivos de memoria externos necesarios para que el sistema digital funcione) inicialmente asociados al diseño de sistemas basados en este DSP. Dispone de ROM interna ya programada (boot-loader), de dos dispositivos de RAM interna de 256x32bits, un puerto serie, dos periféricos timers y otros dos periféricos DMA. Las interrupciones externas pueden generarse por nivel o flanco. Finalmente, dispone, al contrario que los otros DSPs de la familia, de la posibilidad de reubicar la tabla de 256 vectores de interrupción de tipo TRAP. Los periféricos puerto serie y temporizador, de este DSP, tienen una estructura y comportamiento idénticos a los de los otros DSPs de la familia. Los periféricos DMA son equivalentes pero añaden la posibilidad de configurar (si aparece un conflicto por acceso a las mismas zonas de memoria) la prioridad en los accesos gestionados desde la CPU y la DMA.
ü TMS320C33 con versiones de 120 y 150 MHz, último DSP desarrollado por Texas Instruments de la gama TMS320C3x (año 1998). Este DSP se basa en el TMS320C31. Las diferencias son que dispone de un único temporizador, de más RAM interna (hasta 34Kw) y aparece en versiones de bajo consumo (se alimenta a tensiones de menos de 5VDC lo que empieza a ser común en muchos dispositivos electrónicos digitales). El coste de este DSP es superior al del TMS320C32 e inferior al del TMS320C31.
En adelante, analizaremos con detenimiento las características del
TMS320C30, el padre de la familia (por llamarlo de alguna forma) y comentaremos
algunas de las peculiaridades de los otros dos elementos de la misma. En la
figura 2.3 se muestra, en detalle, la estructura interna de la familia de DSPs
de Texas Instruments TMS320C3x.
Figura 2.2. Estructura Interna de los DSPs de la familia TMS320C3x del fabricante Texas Instruments.
Las características generales de este tipo de DSPs, se pueden enumerar y resumir como sigue:
1. Características de memoria interna.
· 4Kx32bits de ROM interna con un solo ciclo máquina de acceso. En el caso del TMS320C30 disponible para que el fabricante se la programe al usuario, mientras que, en los casos del TMS320C31 y TMS320C32 ya está programada de fábrica.
· Dos dispositivos de 1Kx32 bits de RAM interna, con un único ciclo máquina de acceso. En el caso del TMS320C32, dos dispositivos de 256x32bits.
· 64 registros de 32 bits de memoria cache.
· 28 registros internos a la CPU. 8 registros acumuladores de precisión extendida, R0-R7, de 40 bits en lugar de los 32 bits habituales.
2. Operadores aritméticos.
· Multiplicador interno en punto flotante (operandos en 32 bits y resultado en 40 bits) o entero (operandos en 24 bits y resultado en 32 bits).
· Unidad aritmética y lógica (ALU). Realiza operaciones lógicas y de desplazamiento con realimentación de 32 bits y operaciones aritméticas con datos enteros (de 32 bits) o flotantes (de 40 bits).
· Operaciones de multiplicación y de la ALU en paralelo en un sólo ciclo.
3. Periféricos internos.
· Controladores de eventos DMA internos.
· Dos puertos digitales de entrada/salida de propósito general: XF0, XF1.
· Temporizadores de 32 bits.
· Puertos serie síncronos.
· Dos periféricos independientes (bus principal y bus de expansión) que controlan los accesos al exterior. Cada periférico gestiona un bus de datos de 32 bits, un buses de direcciones (de 24 y 13 líneas respectivamente) y un bus de control (de 5 y 4 líneas respectivamente).
4. Otras características.
· Instrucciones:
· Posibilidad de utilizar dos y más operandos.
· Existencia de instrucciones de repetición de un bloque de códigos.
· Posibilidad de ejecutar saltos en un solo ciclo máquina.
· Existencia de instrucciones CALL y RET condicionales.
· Existencia de instrucciones con interbloqueo para multiproceso (varios DSPs conectados en paralelo controlando un único proceso)
· Instrucciones complejas que ejecutan dos operaciones simples en paralelo.
· Interrupciones externas.
· Posibilidad de operar en modos de bajo consumo energético (IDLE2 ó LOPOWER).
En definitiva, las características de paralelismo en operaciones, la gran cantidad de memoria interna, la unidad de punto flotante, el controlador DMA interno y los periféricos temporizadores, permite su empleo en sistemas capaces de implementar sofisticados algoritmos matemáticos en tiempo real.
Los
principales encapsulados (forma y características del ASIC) que tienen estos
microprocesadores se muestran en la figura 2.4 (se muestra el micro en
encapsulado PGA de 181 pines, existe también en encapsulado PQFP de 208 pines),
para el TMS320C30, figura 2.5 (encapsulado PQFP de 132 pines), para el
TMS320C31 y figura 2.6 para el TMS320C32 (encapsulado CPGA de 144 pines).
Figura 2.3. Encapsulado de tipo PGA con 181 pines, TMS320C30.
Figura 2.4. Encapsulado de tipo PQFP con 100 pines. El encapsulado típico del TMS320C31 es como el de la figura pero con 132 pines.
Figura 2.5. Encapsulado de tipo CPGA con 144 pines, TMS320C32. El encapsulado del TMS320LC33 es parecido (PQFP de 144 pines).
[1] El ciclo
máquina hace referencia al tiempo efectivo de ejecución de una instrucción.
A partir del oscilador, cristal de cuarzo, del sistema digital se obtiene el
reloj del sistema, cuya frecuencia es la mitad de la del oscilador,. El ciclo máquina de este DSP coincide con el periodo de la
señal de reloj,
.