Académique Documents
Professionnel Documents
Culture Documents
Características principales
Advanced RISC Machines Ltd.
Compañía inglesa Dedicada al desarrollo de procesadores RISC, software y
tecnologías relacionadas, fundada en 1990 por AppleComputer, Acorn Computer
Group y VLSI Technology.
Cubre aprox. el 75 % del mercado mundial en microcontroladores RISC
En la actualidad, ARM Ltd no hace procesadores, solo los diseña y licencia sus
diseños a fabricantes (P. ej: Analog Devices, Atmel, Cirrus Logic, Hyundai, Intel,
Oki, Plilips, Samsung, Sharp, Lucent, 3Comp, HP, IBM, Sony, etc.)
Se basa en Arquitectura RISC.
37 registros de 32 bits (16 disponibles)
6 modos de operación: usr y sys, fiq, irq, svc, abt, sys, und.
Todas las familias de procesadores ARM comparten el mismo conjunto de
instrucciones
Casi todas las instrucciones se ejecutan en un ciclo de reloj.
Tendencia a tener un gran número de registros
En los procesadores ARM (Figura Der.), podemos observar la presencia de un puente (Bridge) en los buses de datos
y direcciones. Esto se hace por que los microcontroladores ARM procesan instrucciones a una gran velocidad y los
periféricos necesitan de una velocidad más baja para funcionar. Así podemos notar que la memoria de programa y
la memoria RAM están conectador directamente al procesador y los periféricos a través del puente.
En los microcontroladores de 8 bits, es normal encontrar memorias de programa del tamaño de 1K, 2K, 4K, 8K,
16K y 32 KBytes. En los microcontroladores de 32 bits es normal encontrar tamaños de memoria de programa de
128K, 256K y 512 Kbytes.
En los microcontroladores de 8 bits, es normal encontrar memorias de datos (RAM), del tamaño de 64, 128, 256
Bytes. En los microcontroladores de 32 bits es normal encontrar tamaños de memoria de datos de 8K, 16K 32K y
64 Kbytes.
Los datos comunes son en hexadecimal para microcontroladores de 8 bits y 32 bits. En microcontroladores de 8
bits, es común que estos datos oscilen entre 0x00 y 0XFF o entre 0x0000 y 0xFFFF. En microcontroladores de 32
bits, es común que estos datos oscilen entre 0x00000000 y 0XFFFFFFFF. Es una cuestión de magnitudes y de
adaptarse al formato hexadecimal de 32 bits que consta de 4 bytes (0x FF FF FF FF).
En microcontroladores de 8 bits, es común que estos datos oscilen entre 0 y 255 o 0 y 65.535. En microcontroladores
de 32 bits, es común que estos datos oscilen entre 0 y 4.294.967.295. Aquí también es una cuestión de magnitudes
y de adaptarse al formato decimal de 32 bits que consta de 4 bytes.En microcontroladores de 8 bits estos registros
son de 8 bits, mientras que, en los microcontroladores de 32 bits, son de 32 bits. Aquí también es una cuestión de
adaptarse a visualizar y leer los registros de 32 bits, en otras palabras, practicar.
La CPU
la CPU para microcontroladores de 8 bits, donde es común tener un acumulador, uno o varios registros auxiliares,
un registro de indexación que normalmente se usa para direccionar datos en forma indirecta, un registro que apunte
a la pila (Stack Pointer), usado principalmente para almacenar las direcciones de retorno cuando se llaman a
subrutinas, un registro contador de programa (PC) y un registro de Estado.
La CPU para microcontroladores de 32 bits, normalmente formada por 16 registros de 32 bits, nombrados de r0
hasta r15 y registros para el estado del programa en ejecución. Los registros r0 hasta r13 son usados para propósito
general, pudiendo ser acumuladores, registro para indexación o direccionamiento indirecto, datos. El r13 es usado
para apuntar a la pila (Stack Pointer). El registro r14 (Link Register) es usado para almacenar la dirección de retorno
cuando se llaman a subrutinas. El registro r15 (Counter Program) es usado como contador de programa. También
posee registro de estado.
MEMORIA
En microcontroladores de 8 bits, las memorias son más
fáciles de manejar por causa de su magnitud pequeña. En
microcontroladores de 32 bits la memoria esta mapeada en
un espacio de 32 bits, es decir de 0x00000000 hasta
0XFFFFFFFF. La memoria de 32 bits está dividida en 8
regiones de 0.5 GBytes (512 MBytes). Los
Microntroladores ARM usan esta división para ubicar las
diferentes memorias y periféricos del microcontrolador.
Así, queda fácil ubicar las regiones donde están ubicadas
las memorias. En la figura de alado podemos observar un
mapa de memoria para un microcontrolador de 32 bits
ARM Cortex-M3, donde la parte más baja del mapa de
memoria es usado para el código (Code), le sigue la memoria RAM interna, los periféricos, la memoria RAM
externa, dispositivos externos, buses de periféricos y un área para uso del fabricante. Aquí también se trata de
práctica para visualizar y entender el mapa de memoria de los microcontroladores de 32 bits.
ARQUITECTURA
La Figura de la Izq. muestra el diagrama en bloque de una
configuración básica de un microcontrolador de 8 bits. En el
diagrama podemos notar, la CPU, la memoria de programa, la
memoria RAM o de datos, los periféricos o entradas y salidas. Los
periféricos más comunes en un microcontrolador de 8 bits son: las
GPIO (General Proposite Input Output) o entradas/salidas de
propósito general, las interrupciones, los timer, el watchdog, ADC
o conversores analógicos para digital.
Flash Memory Controller (FMC) BITS DE CONFIGURACION DE PROTECCION BCP, OPTION BYTE,
OPTION REGISTER, FUSES