1.
Organización
de la memoria
El espacio total de memoria que es capaz de direccionar la familia TMS320C3x de Texas Instruments, es de 16M (unos 16 millones) de palabras de 32 bits. Dentro de este espacio total que es capaz de direccionar el DSP se incluyen las zonas de memoria internas de las que dispone el sistema (memoria RAM interna, ROM interna y registros de configuración de periféricos internos). En la figura 2.15, se muestran los buses y la estructura de acceso a memoria del sistema.
Figura 2.1. Acceso a memoria: Buses del sistema.
El sistema
dispone de dos conjuntos de líneas para acceso al exterior, el denominado bus principal (formado por un bus de
datos de 32 bits, un bus de direcciones de 24 bits y un bus de control de 5
bits) y el bus de expansión (formado
por un bus de datos de 32 bits, un bus de direcciones de 13 bits y un bus de
control de 4 bits). En la figura 2.16 se muestran los mapas de memoria del
TMS320C30 y del TMS320C31. Se observa que cada DSP tiene dos posibles mapas de
memoria. La diferencia estriba en la posibilidad de acceso o no a la ROM
interna del sistema. La forma de seleccionar uno u otro mapa de memoria es
imponiendo un nivel alto o bajo en el pin de entrada a DSP (si
, el sistema funciona en modo microprocesador arrancando
desde memoria externa mientras que si
, el sistema funcionaría en modo microcomputador arrancando
desde la memoria interna de tipo ROM-OTP).
Obsérvese que el TMS320C31 no dispone de bus de expansión, en el mapa de memoria no hay zonas asignadas al bus de expansión, y que la ROM interna de tipo OTP, ya viene programada de fábrica conteniendo un programa denominado Boot-Loader que describiremos más adelante.
Figura 2.2.
Mapas de Memoria de la familia TMS320C3x. Obsérvese que la única diferencia
entre modo microcomputador y microprocesador es la habilitación o
inhabilitación, en la zona baja del mapa de memoria, del periférico interno de
memoria no volátil (ROM).
Como conclusión, destacar que el DSP posee dos modos de operación:
1.
Microprocesador: El sistema arranca
autovectorizando desde la posición 000000H, que debe coincidir en este caso con
dispositivos externos de memoria dispuestos (rutados y colocados en el mapa de
memoria del sistema microprocesador) y programados por el usuario.
2.
Microcomputador: El sistema arranca
autovectorizando desde la posición 000000H que en este caso coincide con la ROM
interna del sistema. Obsérvese que para que el sistema TMS320C30 funcione, será
preciso que el fabricante, Texas Instruments, programe en la fábrica, antes de
entregar el DSP al usuario, la ROM interna de tipo OTP (One Time Programmable). Este proceso requiere que el fabricante
genere máscaras especiales para programar la ROM interna con el programa
suministrado por un usuario particular. Esto supone el encarecimiento del coste
de fabricación del DSP, de forma que sólo será factible para usuarios que
requieran un volumen muy elevado de DSPs, nunca para un usuario que sólo desee
un DSP programado de fábrica. Para el TMS320C31 el caso es diferente, la ROM
interna ya está programada de fábrica (incorpora un programa denominado Boot-Loader) y no es posible contactar
con el fabricante para su reprogramación (ROM de tipo OTP). Posteriormente
analizaremos el programa Boot-Loader.
En la figura 2.17 se detalla la zona del mapa de
memoria en la que se ubican los distintos periféricos internos que tienen los
diferentes miembros de la familia TMS320C3x.
Figura 2.3.
Mapa de memoria de los registros de control de los periféricos internos de los
DSPs de la familia TMS320C3x.