Vous êtes sur la page 1sur 134

UNIVERSIDAD TECNOLOGICA NACIONAL

FACULTAD REGIONAL HAEDO


Departamento de Electrnica

Tcnicas Digitales II Ao 2013

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cuestiones Administrativas

Ctedra: Tcnicas Digitales II


Prof: Fidel SANTOS
JTP: Pablo RIDOLFI
Inscripcin en Campus Virtual http://frh.cvg.utn.edu.ar/ Contrasea: Cortex M3 2013

Aprobacin de la materia cursada.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cuestiones Administrativas

Evaluaciones tradicionales: 2 (dos). Las evaluaciones son


escritas prctico - tericas en las por medio de ejercicios
integradores en los que el alumno debe poner en juego el grado
de aprehensin de conocimientos para resolver un conjunto de
ejercicios de moderada complejidad. El alumno puede consultar
manuales y hojas de datos y debe desarrollar programas y
circuitos sin errores groseros. Los alumnos tendrn dos
posibilidades de recuperar los parciales en el turno diciembre y
dos en el turno febrero.
Evaluacin prctica: 1 (una). Consiste en un diseo, armado,
puesta en funcionamiento, depuracin y documentacin
completa de un proyecto seleccionado durante el primer
cuatrimestre de comn acuerdo entre alumnos y la ctedra
empleando microcontroladores. El proyecto debe estar
funcionando en la ltima fecha de final del turno diciembre de
ao de cursada la materia. La aprobacin de este trabajo
prctico es obligatorio para aprobar la materia. Esta evaluacin
NO se puede recuperar.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Objetivos de la materia:
Los alumnos sern capaces de disear circuitos con
microprocesadores y microcontroladores y sus interfaces con el
mundo real.
Los alumnos aprendern a interpretar los requerimientos de un diseo
con microprocesadores y/o microcontroladores, aprendern a elegir
los componentes circuitales apropiados, especificarlos para su
compra, aprendern a realizar cronogramas de desarrollo, armado y
prueba.
Asimismo debern saber elegir las herramientas (de hardware y
software) apropiadas para encarar el desarrollo, depuracin y la
puesta a punto. Tambin debern realizar un manual completo del
proyecto que incluya: objetivo, teora de operacin, circuitos,
programas y tcnicas de reparacin (troubleshooting).
Las actividades (tanto de problemas como de laboratorio o de
proyecto) se realizan en forma grupal, lo que involucra la discusin
conjunta de las actividades a realizar (defensa de criterios y crtica a
los que corresponda) y la distribucin de tareas a cada integrante y la
armonizacin y sincronizacin de los resultados y actividades
individuales.
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Desarrollo del Proyecto Final


Condiciones Generales:
Se deber presentar como condicin obligatoria para la firma de los Trabajos Prcticos de
la Asignatura un prototipo funcionando de un proyecto cuyo eje temtico est relacionado
con cualquiera de los temas que integran el programa de estudios del Diseo curricular.
El proyecto, en principio, puede surgir de la libre eleccin de los alumnos integrantes del
equipo de trabajo, en cuyo caso debe contar con la fundamentacin de las razones de la
eleccin a partir de un anlisis previo de viabilidad, y as como el mismo grado de
complejidad que los propuestos. ser tomado de un conjunto de opciones establecidas
por los docentes del curso.
Para tal fin se trabajar en grupos de no ms de cuatro estudiantes. Si durante el
transcurso del ciclo lectivo algn integrante del equipo dejase por cualquier motivo de
cursar la Asignatura, los restantes miembros del grupo debern absorber sus
responsabilidades.
La complejidad del proyecto a elegir, depender del grado de experiencia previa con que
cuenten todos los integrantes de cada equipo. Esto significa que si bien no se aceptarn
proyectos triviales, tampoco es recomendable optar por un proyecto que,
independientemente de lo interesante y enriquecedor que resultase su desarrollo, sea de
una complejidad tal que impida llevarlo a cabo en los plazos lmite establecidos para la
entrega del mismo. No obstante, si los alumnos integrantes del equipo luego de una
evaluacin realista de su experiencia previa en temas relacionados con esta especialidad,
y de los medios con que cuentan para llevar a cabo un proyecto de tales caractersticas,
concluyen en que pueden implementarlo en los plazos previstos, nada impide que lo
lleven adelante, pero obviamente esta decisin implicar un riesgo, ya que una vez
asumido el compromiso con los docentes, debern responsabilizarse de finalizarlo. Por lo
tanto, se recomienda realizar una evaluacin sumamente cuidadosa de tiempos, recursos
(fundamentalmente herramientas de desarrollo necesarias), y eventuales dificultades que
puedan aparecer durante el desarrollo, para acotar el proyecto seleccionado.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Desarrollo del Proyecto Final


Se requerir una entrega del pre-proyecto, de acuerdo con la gua que se entrega,
para el anlisis en conjunto con el plantel docente.
Durante el calendario Acadmico se realizarn entregas parciales del proyecto a fin
de establecer los puntos de control adecuados por parte de los docentes, de modo
de permitir a los alumnos anticipar ajustes y correcciones, adems de ser sta la
forma de trabajo con que se encontrarn en su vida profesional. Este cronograma
debe ser establecido por el grupo, de acuerdo con la complejidad del proyecto.
Cada grupo deber elaborar una carpeta del proyecto a la que ir incorporando la
documentacin correspondiente a cada entrega. Se pretende que cada carpeta se
vaya nutriendo con los diferentes entregables que se enumerarn a continuacin, a
medida que se avance en el ciclo de vida del proyecto. Esta documentacin deber
estar ntegramente elaborada en PC, con herramientas de software a eleccin del
equipo. Es decir, los documentos elaborados en un procesador de texto, los circuitos
en ORCAD o cualquier utilitario de caractersticas similares, el layout de las placas
en ORCAD PCB, u otros, etc. Dicha carpeta deber contener:
Una cartula con el Nombre del proyecto, grupo, integrantes (apellido, nombre y nmero de
legajo), ms cualquier otro dato que los alumnos consideren oportuno.
Una seccin por cada entrega relacionada con cada etapa del proyecto, de modo que al final
de ste, la carpeta contenga el ciclo completo de desarrollo, permitiendo la comparacin de
lo conceptualizado originalmente con lo obtenido en la prctica.
Una seccin Apndice que contenga las fotocopias de las hojas de datos de todos los
dispositivos utilizados en el proyecto, incluyendo chips de lgica menor (TTL), transistores,
reguladores de tensin, etc.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Desarrollo del Proyecto Final


Finalizado el proyecto se deber entregar al Profesor del curso, la carpeta completa
con toda la documentacin del proyecto y un medio magntico con los archivos
correspondientes. En dicha documentacin debern estar los programas fuente en
forma completa y el circuito completo del hardware con su listado de componentes.
En virtud de los objetivos del presente proyecto, y del hecho que, tanto el dictado
terico en clase, las prcticas de laboratorio y las consultas atendidas por los
docentes del curso, dan las bases de conocimiento a los alumnos para la ejecucin
del presente proyecto los derechos intelectuales del mismo quedarn en el
Departamento de Electrnica de la UTN.
El Departamento de Electrnica seleccionar a su criterio aquellos trabajos que
resulten de inters y efectuar de considerarlo adecuado la publicacin de los
mismos en su pgina de internet.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cronograma Tentativo
mayo junio julio agosto septiembre octubre noviembre diciembre
FASES ETAPAS HITOS SEMANA
Tareas
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

1. Descripcin de
I. Iniciacin
Necesidades 1
Formacin de los grupos XX
Definicin del alcance del
2 proyecto ZZ ZZ ZZ
Definicin de las distintas
3 tareas ZZ
HITO 0: Definicin de responsables de X
Aprobacin
4 cada tarea X
Anteproyecto Definicin de tiempos de
II. 2. Planificacin del 5 entrega ZZ
Planificacin proyecto
Anlisis de los posibles desvios
6 que pueden introducirse en el
proyecto ZZ
Tareas realizadas para evitar
7 los desvios introducidos en el
proyecto X X X X X X X X X X X X X X X X X X X X X X X X X X X X
Establecimiento de protocolos
8 (comunicaciones, etc) X X
Definicin del prototipo a
9 construir y planificacion ZZ

10 Diseo de HW XX XX XX XX XX XX XX XX

11 Diseo del SW XX XX XX XX XX XX XX XX XX XX XX XX XX
3. Ejecucin
12 Armado XX XX XX XX XX XX XX XX XX XX XX

III. Ejecucin HITO 2: 13 Prueba y Debugging XX XX XX XX XX XX XX XX XX XX XX


y Control Aceptacin Confeccin de manuales: de
14 fabricacin, de puesta en
marcha, de usuario X XX X X
Elaboracion de los protocolos
de verificacion de
15 funcionamiento y cumplimiento
de normas ZZ XX XX
4. Control
Procedimientos de verificacin
de funcionamiento y de
16 cumplimiento de normas y
especificaciones. ZZ ZZ
Presentacin de Informes: de
IV. Cierre 5. Balance y Cierre HITO 3. Cierre
17 necesidades, de especificacin,
de alcance, memoria de diseo ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ
18 Cierre del proyecto ZZ

Nota1 : X significa Trabajo unicamente del Grupo


Nota2 : Z significa Trabajo en conjunto con el Ayudante

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitectura general del microprocesador.


Historia y proyeccin.
UNIDAD I INTRODUCCIN

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitectura general del microprocesador

Memoria Computadora

Programa

Interfaz de Entrada y Salida


Datos

2 Mundo
Exterior
Perifricos
CPU
Unidad
Aritmtica
y Lgica

Unidad
n
de Control

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitectura general del microprocesador

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Procesadores

Procesadores de 8 bits de datos y 16 bits de direccin


Intel 8080.
Intel 8085.
Motorola 6800.
Motorola 6802.
Motorola 6803.
Motorola 6809.
Zilog Z-80.
Rockwell 6502

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Procesadores

Procesadores de 16 bits de datos


Intel 8086/8088 [1]
Intel 80188/80186.
Intel 80286.
Intel 80386 SX [2]
Motorola 68000.
Motorola 68008.
National 16032.
Zilog Z8000.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Procesadores

Procesadores de 32 bits de datos


iAPX 432 (que en 3 circuitos integrados provea el ncleo del sistema operativo de
una computadora IBM 370, actualmente fuera de produccin).
Intel 80386 (DX y SL)
Intel 80486 (DX, DX2, DX4 y SX).
Motorola 68020 y 68030.
National 32032.
Intel Pentium, Pentium PRO, Pentium MMX y Pentium II
Motorola Power PC

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Procesadores

La totalidad de los microprocesadores de 8 bits en su palabra de


instruccin, poseen 16 bits en la barra de direcciones, es decir que
pueden llegar a direccionar hasta 65536 (64 K) posiciones de
memoria.
Otros procesadores (8086, 8088) poseen 20 lneas de direcciones,
pudiendo de tal manera direccionar 1 Mega posiciones de memoria.
Los microprocesadores del tipo 80286 tienen 24 lneas de direcciones
pudiendo direccionar los 16 Megabytes.
Los microprocesadores de 32 bits de palabra de instruccin disponen
tambin 32 bits de direccionamiento, pudiendo manejar 4 Gigabytes
(232 ~ 4 1010 = 4.000 Megabytes).

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Procesadores

Microcomputadoras en un solo chip


Intel 8038
Intel 8048.
Intel 8051.
Motorola 6805.
Motorola H9 H11.
Chip PIC
Zilog Z8

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Algunos de los Primeros Micros

1970 1975 1980 1985


68020
32 bits PMOS | NMOS | HMOS | CMOS
80386
Motorola 68000

16 bits Intel 8086 80286

8088
GI PIC1640
MOS T. 6502
Zilog Z80
8 bits
8008 8080 Intel 8048 8051

Motorola 6800 6805 68HC11

4 bits Intel 4004


tiempo

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Evolucin del microprocesador

1971: Intel 4004. Fue el primer microprocesador comercial.


1972: Intel 8008
1974: Intel 8080, Intel 8085
1975: Signetics 2650, MOS 6502, Motorola 6800
1976: Zilog Z80
1978: Intel 8086, Motorola 68000
1979: Intel 8088
1982: Intel 80286, Motorola 68020
1985: Intel 80386, Motorola 68020, AMD Am386
1987: Motorola 68030
1989: Intel 80486, Motorola 68040, AMD Am486
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Evolucin del microprocesador

1993: Intel Pentium, Motorola 68060, AMD K5, MIPS R10000


1997: Intel Pentium II, AMD K6, PowerPC G3, MIPS R120007
1995: Intel Pentium Pro
1999: Intel Pentium III, AMD K6-2, PowerPC G4
2000: Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD Duron,
MIPS R14000
2003: PowerPC G5
2004: Intel Pentium M
2005: Intel Pentium D, Intel Extreme Edition con hyper threading, Intel
Core Duo, AMD Athlon 64, AMD Athlon 64 X2, AMD Sempron 128.
2006: Intel Core 2 Duo, Intel Core 2 Extreme, AMD Athlon FX
2007: Intel Core 2 Quad, AMD Quad Core, AMD Quad FX
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Evolucin de los microcontroladores


INTEL 8048,8051
Los microcontroladores 8051 modernos ofrecen muchas mejoras sobre el original.
Mejoras comunes incluyen watchdog timers (un temporizador programable que "resetea"
el microcontrolador si no se refresca en cierto tiempo), osciladores internos, memoria de
programa Flash ROM interna, cdigo de inicializacin en ROM, almacenamiento en
EEPROM interna, IC, SPI, USB, generadores PWM, conversores analgicos A/D y D/A,
relojes de tiempo real RTC, temporizadores y contadores extra, facilidades de depuracin
internas, ms fuentes de interrupcin, modos de bajo consumo, interfaz CAN, etc.
Existen varios compiladores de lenguaje C disponibles para el 8051, as como en lenguaje
ensamblador . La mayora aaden extensiones al lenguaje que permiten al programador
especificar por ejemplo el tipo de memoria donde se ubicar la variable, especificar
manejadores de interrupcin, especificar el banco de registros, acceder a instrucciones
especiales de manipulacin de bits...
El predecesor del 8051, el 8048, se us en el teclado del primer IBM PC, donde converta
pulsaciones de tecla en un stream serie que se enva a la unidad central del ordenador. El
8048 y sus derivados aun se usan actualmente en teclados bsicos.
El 8031 fue una versin reducida del Intel 8051 original que no contiene memoria interna.
El 8052 fue una versin mejorada del Intel 8051 original con:
256 bytes de RAM interna, en vez de 128 bytes
8 kB de ROM, en vez de 4 kB
un tercer temporizador de 16-bit
un segundo puerto serie.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Evolucin de los microcontroladores

MOTOROLA 6805,68HC11,68HC12
La familia Motorola 68HC11 (abreviado HC11 o 6811) es una familia de micro
controladores de Motorola, derivada del microprocesador Motorola 6800. Los
microcontroladores 68HC11 son ms potentes y costosos que los de la familia
68HC05 y se utilizan en mltiples sistemas embebidos.
Siguen la Arquitectura de von Neumann, en la que la memoria de programa, de
datos y de entrada/salida se direcciona en un nico mapa de memoria.
Internamente, el conjunto de instrucciones de la familia 68HC11 es compatible con
la del Motorola 6801 y el Motorola 6809, con el aadido de un registro. La familia
68HC11 emplea instrucciones de longitud variable y se considera que emplea una
arquitectura CISC. Tienen dos acumuladores de ocho bits (A y B), cuenta con un
acumulador virtual D, que no es ms que la unin de A y B (16 bits), dos registros
ndice de 16 bits (X e Y), un registro de banderas, un puntero de pila y un contador
de programa.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Evolucin de los microcontroladores

Familia PIC10F20x:
Encapsulados de 6 pines (SOT). Oscilador interno 4MHz
Memoria de programa de 12 bits y datos de 8 bits
Juego de 33 instrucciones

Familia PIC12CXXX/12FXXX:
Encapsulados de 8 pines (DIP SOIC)
Instrucciones de 12 14 bits en Memoria de Programa
Juego de 33 35 instrucciones
Modelos con mdulos de conversin A/D
Permiten alimentacin a baja tensin de hasta 2,5V

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Evolucin de los microcontroladores

Familia PIC16C5X:
Encapsulados de 14, 18, 20 y 28 pines
Instrucciones de 12 bits
Juego de 33 instrucciones

Familia PIC16CXXX/16FXXX + PIC 14000:


Encapsulados desde 18 hasta 68 pines (DIP, SSOP, PLCC, QFP)
Instrucciones de 14 bits en Memoria de Programa
Juego de 35 instrucciones
Gran variedad de mdulos integrados

Familia PIC18CXXX/18FXXX:
Encapsulados de 18 a 80 pines
Memoria de Programa de 16 bits
Juego de 77 instrucciones (multiplicacin)
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Funcionamiento
El microprocesador ejecuta instrucciones almacenadas como nmeros
binarios organizados secuencialmente en la memoria principal. La
ejecucin de las instrucciones se puede realizar en varias fases:
Preselecciona (PreFetch): pre-lectura de la instruccin desde la memoria principal.
Selecciona (Fetch): envo de la instruccin al decodificador.
Decodificacin (Decode) de la instruccin: determinar qu instruccin es y por tanto qu
se debe hacer.
Lectura de operandos (si los hay)
Ejecucin (Execute): lanzamiento de las mquinas de estado que llevan a cabo el
procesamiento.
Escritura (Store) de los resultados en la memoria principal o en los registros.

Cada una de estas fases se realiza en uno o varios ciclos de CPU,


dependiendo de la estructura del procesador, y concretamente de su
grado de segmentacin. La duracin de estos ciclos viene
determinada por la frecuencia de reloj, y nunca podr ser inferior al
tiempo requerido para realizar la tarea individual (realizada en un solo
ciclo) de mayor coste temporal. El microprocesador se conecta a un
oscilador, normalmente un cristal de cuarzo capaz de generar pulsos a
un ritmo constante, de modo que genera varios ciclos (o pulsos) en un
segundo.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Ciclo de instruccin

Bsqueda de Bsqueda de
Decodificacin
Instruccin Operandos

Almacenar el Ejecucin de la
resultado Instruccin

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Modelos de procesadores

Modelo de Von NEWMANN

Modelo de Harvard

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cantidad de direcciones en la palabra de instruccin

Palabra de 4 direcciones.
La palabra de instruccin genrica consta de cinco partes (o campos) a saber:
Cdigo de operacin, que indica que operacin se realizar (suma, resta, comparacin, etc).
Direccin donde se halla el primer operando.
Direccin donde se halla el segundo operando.
Direccin donde se almacenar el resultado de la operacin.
Direccin donde se deber ir a busca la prxima instruccin (cdigo de operacin).

DIRECCIN
CDIGO DE DIRECCIN 1 DIRECCIN 2 DIRECCIN
PRXIMA
OPERACIN OPERANDO OPERANDO RESULTADO
INSTRUCCIN

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cantidad de direcciones en la palabra de instruccin

Palabra de 3 direcciones. Registro Contador de Programa

CDIGO DE DIRECCIN 1 DIRECCIN 2 DIRECCIN


OPERACIN OPERANDO OPERANDO RESULTADO

IP PC

Palabra de 2 Direcciones.

DIRECCIN 1
CDIGO DE DIRECCIN 2
OPERANDO Y
OPERACIN OPERANDO
RESULTADO

IP PC

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cantidad de direcciones en la palabra de instruccin

Palabra de 1 Direccin

CDIGO DE DIRECCIN 2
OPERACIN OPERANDO

ACUMULADOR IP PC

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Ciclos de instruccin, mquina y reloj.

Ciclo de instruccin.
Llamaremos ciclo de instruccin al conjunto de eventos que deben realizarse para
ejecutar una instruccin. Desde el punto de vista de la ejecucin, la instruccin es la
menor unidad indivisible de un programa.. Esto quiere decir que no puede
interrumpirse una instruccin luego que comenz a ejecutarse. Se divide en dos
ciclos denominados ciclos de mquina y ciclos de reloj.

Ciclo de mquina.
Se define as a toda operacin perfectamente definible realizada por el
microprocesador. Por ejemplo, sern ciclos de mquina la bsqueda de cdigo de
operacin, la lectura de memoria o dispositivos de entrada, la escritura de memoria
o dispositivos de salida, etc.

Ciclo de reloj (o estado).


Las microcomputadoras, como todo sistema secuencial, se rige por un reloj (o clock)
obtenido a partir de un oscilador a cristal. Ese reloj maneja todas las transacciones
que realiza el microprocesador (y es el que fija los tiempos para activar los
multiplexores internos, habilitar buffers, la carga de los registros, etc). El perodo de
este reloj es la base de tiempo sobre la cual se medirn todas las operaciones del
microprocesador. Un ciclo de mquina durar por lo menos uno y en general varios
ciclos de reloj (depende del microprocesador).

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cronograma
En la figura se ve el diagrama temporal correspondiente a la escritura de una
posicin de memoria empleando direccionamiento directo. En el primer ciclo de
mquina se buscar el cdigo de operacin, luego en dos ciclos de mquina
consecutivos se leern los dos bytes correspondientes a la direccin. Finalmente en
el cuarto y ltimo ciclo de mquina se proceder a escribir la posicin de memoria.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

PERIFRICOS

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Perifricos

Cuando observamos la organizacin bsica de un


microcontrolador, sealamos que dentro de este se ubican un
conjunto de perifricos, cuyas salidas estn reflejadas en los
pines del microcontrolador. A continuacin describiremos
algunos de los perifricos que con mayor frecuencia
encontraremos en los microcontroladores.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Entradas y salidas de propsito general

Tambin conocidos como puertos de E/S, generalmente


agrupadas en puertos de 8 bits de longitud, permiten leer datos
del exterior o escribir en ellos desde el interior del
microcontrolador, el destino habitual es el trabajo con
dispositivos simples como rels, LED, o cualquier otra cosa que
se le ocurra al programador.
Algunos puertos de E/S tienen caractersticas especiales que le
permiten manejar salidas con determinados requerimientos de
corriente, o incorporan mecanismos especiales de interrupcin
para el procesador.
Tpicamente cualquier pin de E/S puede ser considerada E/S de
propsito general, pero como los microcontroladores no pueden
tener infinitos pines, ni siquiera todos los pines que queramos,
las E/S de propsito general comparten los pines con otros
perifricos. Para usar un pin con cualquiera de las
caractersticas a l asignadas debemos configurarlo mediante
los registros destinados a ellos.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Temporizadores y contadores

Son circuitos sincrnicos para el conteo de los pulsos que llegan a su


para poder conseguir la entrada de reloj. Si la fuente de un gran
conteo es el oscilador interno del microcontrolador es comn que no
tengan un pin asociado, y en este caso trabajan como temporizadores.
Por otra parte, cuando la fuente de conteo es externa, entonces tienen
asociado un pin configurado como entrada, este es el modo contador.
Los temporizadores son uno de los perifricos ms habituales en los
microcontroladores y se utilizan para muchas tareas, como por
ejemplo, la medicin de frecuencia, implementacin de relojes, para el
trabajo de conjunto con otros perifricos que requieren una base
estable de tiempo entre otras funcionalidades. Es frecuente que un
microcontrolador tpico incorpore ms de un temporizador/contador e
incluso algunos tienen arreglos de contadores. Como veremos ms
adelante este perifrico es un elemento casi imprescindible y es
habitual que tengan asociada alguna interrupcin. Los tamaos tpicos
de los registros de conteo son 8 y 16 bits, pudiendo encontrar
dispositivos que solo tienen temporizadores de un tamao o con ms
frecuencia con ambos tipos de registro de conteo.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Conversor analgico/digital

Como es muy frecuente el trabajo con seales analgicas,


stas deben ser convertidas a digital y por ello muchos
microcontroladores incorporan un conversor analgico-digital, el
cual se utiliza para tomar datos de varias entradas diferentes
que se seleccionan mediante un multiplexor.
Las resoluciones ms frecuentes son 8 y 10 bits, que son
suficientes para aplicaciones sencillas. Para aplicaciones en
control e instrumentacin estn disponibles resoluciones de
12bit, 16bit y 24bit6 . Tambin es posible conectar un
convertidor externo, en caso de necesidad.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

PUERTOS DE COMUNICACIN

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Puerto serie

Este perifrico est presente en casi cualquier


microcontrolador, normalmente en forma de UART (Universal
Asynchronous Receiver Transmitter) o USART (Universal
Synchronous Asynchronous Receiver Transmitter) dependiendo
de si permiten o no el modo sincrnico de comunicacin.
El destino comn de este perifrico es la comunicacin con otro
microcontrolador o con una PC y en la mayora de los casos
hay que agregar circuitos externos para completar la interfaz de
comunicacin. La forma ms comn de completar el puerto
serie es para comunicarlo con una PC mediante la interfaz EIA-
232 (ms conocida como RS-232), es por ello que muchas
personas se refieren a la UART o USART como puerto serie
RS-232, pero esto constituye un error, puesto que este
perifrico se puede utilizar para interconectar dispositivos
mediante otros estndares de comunicacin. En aplicaciones
industriales se utiliza preferiblemente RS-485 por su superior
alcance en distancia, velocidad y resistencia al ruido.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

SPI

Este tipo de perifrico se utiliza para comunicar al


microcontrolador con otros microcontroladores o con perifricos
externos conectados a l, por medio de una interfaz muy
sencilla. Hay solo un nodo controlador que permite iniciar
cualquier transaccin, lo cual es una desventaja en sistemas
complejos, pero su sencillez permite el aislamiento galvnico de
forma directa por medio de optoacopladores.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

I2C

Cumple las mismas funciones que el SPI, pero requiere menos


seales de comunicacin y cualquier nodo puede iniciar una
transaccin. Es muy utilizado para conectar las tarjetas grficas
de las computadores personales con los monitores, para que
estos ltimos informen de sus prestaciones y permitir la
autoconfiguracin del sistema de vdeo.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

USB

Los microcontroladores son los que han permitido la existencia


de este sistema de comunicacin. Es un sistema que trabaja
por polling (monitorizacin) de un conjunto de perifricos
inteligentes por parte de un maestro que, puede ser
normalmente un computador personal. Cada nodo inteligente
est gobernado inevitablemente por un microcontrolador.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Ethernet

Es el sistema ms extendido en el mundo para redes de rea


local cableadas. Los microcontroladores ms poderosos de 32
bits se usan para implementar perifricos lo suficientemente
poderosos como para que puedan ser accedidos directamente
por la red. Muchos de los enrutadores caseros de pequeas
empresas estn construidos en base a un microcontrolador que
hace del cerebro del sistema.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Can

Este protocolo es del tipo CSMA/CD con tolerancia a elevados


voltajes de modo comn y orientado al tiempo real. Este
protocolo es el estndar mas importante en la industria
automotriz (OBD). Tambin se usa como capa fsica del "field
bus" para el control industrial.
Otros puertos de comunicacin
Hay una enorme cantidad de otros buses disponibles para la
industria automotriz (linbus) o de medios audiovisuales como el
i2s, IEEE 1394.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Conversores AD y DA. Comparadores

Comparadores:
Son circuitos analgicos basados en amplificadores operacionales que tienen la
caracterstica de comparar dos seales analgicas y dar como salida los niveles
lgicos 0 o 1 en dependencia del resultado de la comparacin.

Conversores AD
Convierte una seal analgica a digital

Conversores CA
Convierte una seal digital a analgica

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Modulador de ancho de pulsos

Los PWM (Pulse Width Modulator) son perifricos muy tiles


sobre todo para el control de motores, sin embargo hay un
grupo de aplicaciones que pueden realizarse con este
perifrico, dentro de las cuales podemos citar: inversin DC/AC
para UPS, conversin digital analgica D/A, control regulado de
luz (dimming) entre otras.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Memoria de datos no voltil

Muchos microcontroladores han incorporado este tipo de


memoria como un perifrico ms, para el almacenamiento de
datos de configuracin o de los procesos que se controlan. Esta
memoria es independiente de la memoria de datos tipo RAM o
la memoria de programas, en la que se almacena el cdigo del
programa a ejecutar por el procesador del microcontrolador.
Muchos de los microcontroladores PIC, incluyen este tipo de
memoria, tpicamente en forma de memoria EEPROM, incluso
algunos de ellos permiten utilizar parte de la memoria de
programas como memoria de datos no voltil, por lo que el
procesador tiene la capacidad de escribir en la memoria de
programas como si sta fuese un perifrico ms.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitecturas de Microprocesadores

El ncleo (kernel) es la parte fundamental de un sistema


operativo. Es el software responsable de facilitar a los
distintos programas acceso seguro al hardware de la
computadora. Como hay muchos programas y el acceso
al hardware es limitado, el ncleo tambin se encarga de
decidir qu programa podr hacer uso de un dispositivo
de hardware y durante cunto tiempo. Acceder al
hardware directamente puede ser realmente complejo,
por lo que los ncleos suelen implementar una serie de
abstracciones del hardware. Esto permite esconder la
complejidad, y proporciona una interfaz limpia y uniforme
al hardware subyacente, lo que facilita su uso para el
programador.
Se asegura de:
La comunicacin entre los programas informticos y el
hardware.
Gestin de los distintos programas informticos (tareas) de una
mquina.
Gestin del hardware (memoria, procesador, perifrico, forma de
almacenamiento, etc.)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitecturas de Microprocesadores
Firmware o Programacin en Firme, es un bloque de instrucciones
de programa para propsitos especficos, grabado en una memoria
tipo ROM, que establece la lgica de ms bajo nivel que controla los
circuitos electrnicos de un dispositivo de cualquier tipo. Al estar
integrado en la electrnica del dispositivo es en parte hardware,
pero tambin es software, ya que proporciona lgica y se dispone
en algn tipo de lenguaje de programacin. Funcionalmente, el
firmware es el intermediario (interfaz) entre las rdenes externas
que recibe el dispositivo y su electrnica, ya que es el encargado de
controlar a sta ltima para ejecutar correctamente dichas rdenes
externas.
Encontramos Firmware en memorias ROM de los sistemas de
diversos dispositivos perifricos, como en monitores de video,
unidades de disco, impresoras, etc., pero tambin en los propios
microprocesadores, chips de memoria principal y en general en
cualquier circuito integrado.
El programa BIOS de una computadora es un firmware cuyo
propsito es activar una mquina desde su encendido y preparar el
entorno para la instalacin de un Sistema Operativo complejo, as
como responder a otros eventos externos (botones de pulsacin
humana) y al intercambio de rdenes entre distintos componentes
de la computadora.
En un microprocesador el firmware es el que recibe las
instrucciones de los programas y las ejecuta en la compleja
circuitera del mismo, emitiendo rdenes a otros dispositivos del
sistema.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitecturas de Microprocesadores
CISC es un modelo de arquitectura de computadores (Complex
Instruction Set Computer). Los microprocesadores CISC tienen un
conjunto de instrucciones que se caracteriza por ser muy amplio y
permitir operaciones complejas entre operandos situados en la
memoria o en los registros internos, en contraposicin a la
arquitectura RISC.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones,
por lo que, en la actualidad, la mayora de los sistemas CISC de alto
rendimiento implementan un sistema que convierte dichas
instrucciones complejas en varias instrucciones simples del tipo RISC,
llamadas generalmente microinstrucciones.
Los CISC pertenecen a la primera corriente de construccin de
procesadores, antes del desarrollo de los RISC. Ejemplos de ellos
son: Motorola 68000, Zilog Z80 y toda la familia Intel x86 usada en la
mayora de las computadoras personales del planeta.
Hay que hacer notar, sin embargo que la utilizacin del trmino CISC
comenz tras la aparicin de los procesadores RISC como
nomenclatura despectiva por parte de los defensores/creadores de
stos ltimos.
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitecturas de Microprocesadores

RISC (Reduced Instruction Set Computer), Computadora con


Conjunto de Instrucciones Reducido. Es un tipo de
microprocesador con las siguientes caractersticas
fundamentales:
Instrucciones de tamao fijo y presentadas en un reducido nmero de formatos.
Slo las instrucciones de carga y almacenamiento acceden a la memoria por datos.

Adems estos procesadores suelen disponer de muchos


registros de propsito general.
El objetivo de disear mquinas con esta arquitectura es
posibilitar la segmentacin y el paralelismo en la ejecucin de
instrucciones y reducir los accesos a memoria. Las mquinas
RISC protagonizan la tendencia actual de construccin de
microprocesadores. PowerPC, DEC Alpha, MIPS, ARM... son
ejemplos de algunos de ellos.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Arquitecturas de Microprocesadores

RISC es un tipo de diseo de CPU para computadoras que est a


favor de conjuntos de instrucciones pequeos y simples que toman
menor tiempo para ejecutarse. El tipo de procesador ms
comnmente utilizado en equipos de escritorio, el x86, est basado en
CISC en lugar de RISC, aunque las versiones ms nuevas traducen
instrucciones basadas en CISC x86 a instrucciones ms simples
basadas en RISC para uso interno antes de su ejecucin.
La idea fue inspirada por el hecho de que muchas de las
caractersticas que eran incluidas en los diseos tradicionales de CPU
para aumentar la velocidad estaban siendo ignoradas por los
programas que eran ejecutados en ellas. Adems, la velocidad del
procesador en relacin con la memoria de la computadora que
acceda era cada vez ms alta. Esto conllev la aparicin de
numerosas tcnicas para reducir el procesamiento dentro del CPU, as
como de reducir el nmero total de accesos a memoria.
La terminologa ms moderna se refiere a esos diseos como
arquitecturas de carga-almacenamiento.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Migracin de 8 a 32 bits.
Caractersticas de cada familia.
UNIDAD II FAMILIAS DE
MICROCONTROLADORES

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Microcontroladores de 32 Bits

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Agenda

Porqu 32 bits?
Microcontrolador vs Microprocesador.
Distintos Core en el mercado.
Aplicaciones.
Freescale
RTOSs

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Familias de Microcontroladores actuales


Empresa 8 bits 16 bits 32 bits
AVR (mega y tiny), 89Sxxxx familia SAM7 (ARM7TDMI), SAM3 (ARM Cortex-
Atmel
similar 8051 M3), SAM9 (ARM926)
Freescale 68HC12, 68HCS12, 68HC
68HC05, 68HC08,68HC11, HCS08 683xx, PowerPC, ColdFire
(antes Motorola) SX12, 68HC16
Holtek HT8
MCS-48 (familia 8048)
Intel MCS51 (familia 8051) MCS96, MXS296 X
8xC251
National
COP8 x X
Semiconductor
Familia 10f2xx Familia 12Cxx Familia PIC24F, PIC24H y
Microchip 12Fxx, 16Cxx y 16Fxx 18Cxx y dsPIC30FXX,dsPIC33F PIC32
18Fxx con motor dsp integrado
NXP
Semiconductors 80C51 XA Cortex-M3, Cortex-M0, ARM7, ARM9
(antes Philips)
Renesas
H8S,78K0R,R8C,R32C/M
(antes Hitachi, 78K,H8 RX,V850,SuperH,SH-Mobile,H8SX
32C/M16C
Mitsubishi y NEC)
STMicroelectronics ST 62,ST 7

Texas Instruments TMS370, MSP430 C2000, Cortex-M3 (ARM) , TMS570 (ARM)

Zilog Z8, Z86E02


Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Porqu 32 bits?

Aumento de las prestaciones.


Permite realizar tareas mas rpido y mejor.

Aumento de la complejidad de las aplicaciones.


Interfaces grficas.
Interfaces inalambricas.
Distintos tipos de conectividad.

Reduccin de los costos.


El uso masivo de este tipo de soluciones a llevado a que los costos estn cada da
mas competitivos.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Microcontrolador vs Microprocesador

El microprocesador es un circuito integrado digital que puede


programarse con una serie de instrucciones, para realizar
funciones especficas con los datos.
Cuando un microprocesador se conecta a un dispositivo de
memoria y se provee de dispositivos de entrada salida, pasa a
ser un sistema microprocesador.
Un Microcontrolador esta formado por un Microprocesador y el
conjunto de dispositivos que normalmente requiere un
microprocesador: memoria voltil (calculo temporal), memoria
no voltil (donde almacena el programa), entrada y salida.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Bonus

Un procesador digital de seales o DSP (sigla en ingls de


digital signal processor) es un sistema basado en un
microprocesador que posee un juego de instrucciones, un
hardware (MAC)y un software optimizados para aplicaciones
que requieran operaciones numricas a muy alta velocidad.
Debido a esto es especialmente til para el procesado y
representacin de seales analgicas en tiempo real.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Distintos CORE

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Aplicaciones

Aplicaciones de Automotriz
consumo

Audio
Conectividad y telematica

portatiles Video y navegacin.

Smartbook
E-book
Smartphone
Reproductores portatiles
Navegadores

32 Bits
Home Consumer


Telefonos y terminales multimedia.
Accesorios para iPod. Industrial
Portaretratos digitales. POS/Scanners
Electrodomesticos. Seguridad y vigilancia.
Interfaces HMI industriales.
Healthcare (Electromedicina)
Metering (Medidores)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Herramientas - Software

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

RTOS

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Un poco de teora

Arquitectura tipo RISC


Arquitectura Load and Store
Mquina de 3 direcciones
Ejecucin Condicional
Barrel Shifter
Conjunto de instrucciones Thumb

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Un poco de teora, Pipeline

En la arquitectura ARM7 el pipeline es de tres etapas.


El pipeline se vaca con instrucciones de salto.
Para que una instruccin se ejecute debe pasar por todo el
pipeline.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Un poco de teora, Registros

R0 a R13 ortogonales
R15 Program Counter
R14 Link Register
Slo dos instrucciones operan con la memoria LDM y STR.
LDR r0,[r1,r2]
STR r0,[r1,#0x4]

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Un poco de teora, Excepciones

Reset
Undefined Instruction
Software Interrupt
Prefetch Abort
Data Abort.
Interrupt Request
Fast Interrupt Request

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Un poco de teora, Excepciones

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Un poco de teora, Familias

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cores ARM

Core Arquitectura Caractersticas Cache MIPS @ MHz


(I/D)/MMU

ARM7TDMI ARMv4T 3-stage pipeline, Thumb none 0.94 (ARM) / 0.74


(Thumb)
(Von Neumann)
ARM926EJ- ARMv5TEJ 5-stage pipeline variable, 1.1 DMIPS / MHz
S TCMs,
Thumb, Jazelle DBX, Enhanced MMU
DSP instructions

ARM1136J ARMv6 8-stage pipeline, SIMD, Thumb, variable, 1.25 DMIPS/MHz


F-S Jazelle DBX, (VFP), Enhanced MMU
DSP instructions

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Cores ARM

Core Arquitectura Caractersticas Cache MIPS @ MHz


(I/D)/MMU

Cortex-M0 ARMv6-M 3-stage No cache. 0.9 DMIPS/MHz


(Von Neumann) Thumb, Thumb-2.
Cortex-M3 ARMv7-M 3-stage + branch speculation no cache, 1.25 DMIPS/MHz
MPU
(Harvard) Thumb, Thumb-2. optional.

Cortex-A8 ARMv7-A 13-stage superscalar pipeline, variable up to 2000 (2.0


ARM,VFP, NEON,Thumb, (L1+L2), DMIPS/MHz in
Thumb-2. MMU+Trust speed from 600
Zone MHz to greater than
1 GHz)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM Cortex-M0

El ncleo Cortex-M ms pequeo y eficiente energticamente,


es la alternativa ms reciente de bajo costo a los diseos de 8 y
16 bits.
La serie LPC1100L ofrece el mejor nivel de costos y consumo
de energa de la industria e incluye la serie LPC1102, el
microcontrolador ARM de 32 bits ms pequeo del mundo.
La serie LPC11C00 incluye el primer microcontrolador CAN y
transceptor con controladores CANopen; mientras que la serie
LPC11U00 ofrece un rendimiento de USB slido a bajo precio.
La serie LPC1200, la ltima generacin de Cortex-M0 de NXP,
proporciona un alto nivel de eficiencia energtica e incluye
caractersticas especiales para el control industrial.
Muchos de los dispositivos Cortex-M0 de NXP presentan
compatibilidad de pines con los dispositivos Cortex-M3
LPC1300

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El dispositivo ARM Cortex-M3 de NXP

El primero de los ncleos Cortex-M que ofrece un rendimiento


continuo y perfecto, se ha convertido rpidamente en la
eleccin principal para una amplia gama de aplicaciones.
El dispositivo LPC1300, una implementacin de bajo costo y
bajo consumo, cumple las funciones de un dispositivo USB.
El dispositivo LPC1700 incorpora perifricos avanzados, como
Ethernet, USB 2.0 y CAN 2.0B.
El dispositivo LPC1800, el ncleo Cortex-M3 de mayor
rendimiento en el mercado, funciona con hasta 150 MHz y
ofrece hasta 1 MB de memoria Flash y hasta 200 KB de
memoria SRAM.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Primeros DSC de doble ncleo en el mundo


La serie LPC4300, la primera familia de controladores de seal digital
de doble ncleo (DSC) asimtricos en el mundo, combina las
caractersticas de alto rendimiento y bajo consumo de los ncleos
ARM Cortex-M4 y ARM Cortex-M0 con un conjunto nico de
perifricos configurables.
Esta combinacin permite desarrollar rpidamente aplicaciones de
DSP y MCU sofisticadas mediante una sola arquitectura y un solo
entorno de desarrollo.
Si se busca mayor flexibilidad de diseo, la serie LPC4300 ofrece
compatibilidad de pines con la serie LPC1800 de Cortex-M3.
LPC1102, la primer serie alojada en paquetes Wafer Level Chip Scale
Packages (WL-CSP), ofrece una potencia de computacin sin
precedentes en una placa de circuito impreso (PCB) de apenas
5 mm2.
Esta serie fue diseada para aplicaciones que requieren un diseo de
placa ultraminiatura, por lo que ofrece un rendimiento de 32 bits reales
(50 MHz) y una configuracin de memoria mucho ms alta (memoria
Flash de 32 bits) que las soluciones tradicionales de 8 y 16 bits.
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Caractersticas
Ncleo ARM Cortex-M0 de 50 MHz
Memoria Flash de 32 KB
Memoria SRAM de 8 KB
Perifricos seriales: SPI, UART
ADC de 5 canales y 10 bits
Dos temporizadores de 32 bits, dos temporizadores de 16 bits,
temporizador Systick, WDT
Potencia dinmica ms baja, con consumo de energa general bajo
GPIO de alta velocidad
Paquete WL-CSP (2.17 x 2.32 mm, paso de 0.5 mm)
Densidad de cdigo superior frente a los microprocesadores de 8 y
16 bits tradicional
Compatibilidad con las herramientas LPCXpresso de bajo costo de
NXP

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

LPC1300

Esta serie de productos eficiente en trminos energticos


ahorra energa en una amplia gama de aplicaciones.
Para simplificar el diseo de los sistemas activados por USB, la
serie LPC1340 incluye controladores USB en chip para
almacenamiento masivo (DMA) y dispositivos de interfaz
humana.
Los controladores estn incorporados en la memoria ROM, por
lo que ahorran entre 5 y 6 KB de cdigo de usuario. Si se busca
mayor flexibilidad de diseo, los dispositivos LPC134x ofrecen
compatibilidad de pines con la serie LPC11U00 de Cortex-M0.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Ncleo ARM Cortex-M3 de hasta 72 MHz


Hasta 32 KB de memoria Flash
Hasta 8 KB de memoria SRAM
Perfiles de potencia en ROM (solo LPC13x)
Controlador de dispositivo USB 2.0 FS con PHY en chip
Controladores basados en ROM que ahorran hasta 6 KB de memoria Flash
Cdigo con certificacin USB probado y validado para reducir el riesgo en el desarrollo
Clases de dispositivo compatibles: almacenamiento masivo, dispositivo de interfaz humana
Gestor de arranque USB host sin controladores tambin en chip

Controlador ROM binario que evita posibles problemas de transferencia al distribuidor de la


herramienta
Perifricos seriales: I2C Fast-mode Plus, SSP/SPI, UART
ADC de 8 canales y 10 bits
Bajo consumo de energa: ~ 200 A/MHz
GPIO de hasta 42 pines
Programacin Flash
Compatibilidad con las herramientas LPCXpresso de bajo costo de NXP
Los dispositivos LPC134x ofrecen compatibilidad de pines con la serie LPC11U00 de Cortex-
M0.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

LPC1700: MCU completos con USB, Ethernet y LCD

La serie LPC1700 funciona a velocidades de hasta 120 MHz.


Cada dispositivo cuenta con 512 KB de memoria Flash, hasta
96 KB de memoria SRAM, hasta 4 KB de EEPROM,
conversores A/D de 12 bits y D/A de 10 bits y oscilador interno.
La serie tambin cuenta con perifricos avanzados como
Ethernet, dispositivo/OTG/host USB 2.0, controlador LCD y
CAN 2.0B.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Ncleo ARM Cortex-M3 de hasta 120 MHz


Hasta 512 KB de memoria Flash
Hasta 96 KB de memoria SRAM
Hasta 4 KB de memoria EEPROM
La incorporacin de un bus multicapas avanzado ofrece un nivel alto de
rendimiento sin obstculos.
Direccin MAC Ethernet 10/100T con interfaces MII y RMII
Controlador de dispositivo/OTG/host USB 2.0 FS
PWM de control de motor con interfaz para la codificacin de cuadratura
Dos controladores CAN 2.0B
Perifricos seriales: hasta tres I2C, hasta tres SSP/SPI, hasta cinco UART y I2S
Perifricos analgicos: ADC de 12 bits, DAC de 10 bits
Otros perifricos: RTC de bajo consumo, oscilador interno de RC preciso
GPIO de hasta 165 pines
Compatibilidad con las herramientas LPCXpresso de bajo costo de NXP

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

LPC1800: USB de alta velocidad y perifricos avanzados

La serie LPC1800, que funciona a velocidades de hasta


150 MHz, es el ncleo ARM Cortex-M3 ms rpido del
mercado.
Estos dispositivos de alto rendimiento presentan perifricos
avanzados como Ethernet, dispositivo/OTG/host USB 2.0 de
alta velocidad, controlador de LCD y CAN 2.0B, ms dos
perifricos nicos de NXP: un temporizador configurable segn
el estado para la generacin flexible de formas de onda y una
interfaz perifrica serial Flash cudruple (SPIFI) para Flash
serial con mapeado de memoria.
La arquitectura de la memoria Flash de 256 bits de ancho
reduce el consumo de energa al minimizar las bsquedas de
memoria y maximizar el rendimiento del procesador de ncleo.
La serie LPC1800 ofrece compatibilidad de pin a pin con la
serie LPC4300 de Cortex-M4.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Ncleo ARM Cortex-M3 de hasta 150 MHz


Hasta 1 MB de memoria Flash de banco dual
Hasta 200 KB de memoria SRAM
Hasta 4 KB de memoria EEPROM
Direccin MAC Ethernet 10/100T con interfaces MII y RMII
Dos interfaces HS USB 2.0 con HS PHY en chip
Dos controladores CAN 2.0B
Controlador de memoria externa
Interfaz perifrica serial Flash cudruple (SPIFI) innovadora
Subsistema de temporizador configurable segn estado (SCT)
Descifrado en AES con memorias OTP de seguridad de 128 bits para
almacenamiento de claves.
Cuatro modos de consumo reducido: reposo, reposo profundo, apagado y
apagado profundo
GPIO de hasta 164 pines
Proceso de fuga ultrabaja de 90 nm
Compatibilidad de pines con serie LPC4300 de Cortex-M4
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

LPC4300: primeros DSC de doble ncleo en el mundo


En la serie LPC4300, el procesador Cortex-M4 combina los beneficios que ofrece un microprocesador con
caractersticas de procesamiento de seal digital de alto rendimiento, como MAC de ciclo nico, tcnicas de Una
Instruccin y Mltiples Datos (SIMD), aritmtica de saturacin y una unidad de punto flotante. El coprocesador Cortex-
M0 se libera de gran parte del movimiento de datos y de las tareas de manipulacin de E/S que pueden reducir el
ancho de banda del ncleo Cortex-M4. La arquitectura de la memoria Flash de 256 bits de ancho reduce el consumo
de energa al minimizar las bsquedas y al maximizar el rendimiento del procesador de ncleo. La serie LPC4300
ofrece compatibilidad de pines por pines con la serie LPC1800 de Cortex-M3.
Arquitectura de ncleo doble de 180 MHz
Ncleo ARM Cortex-M4 con unidad de punto flotante para hardware
Coprocesador asimtrico ARM Cortex-M0

Hasta 1 MB de memoria Flash de doble banco, hasta 264 KB de memoria SRAM, hasta 4 KB de memoria EEPROM
Direccin MAC Ethernet 10/100T con interfaces MII y RMII
Dos interfaces HS USB 2.0 con HS PHY en chip
Controlador de memoria externa
Unidad de proteccin de memoria
Interfaz perifrica serial Flash cudruple (SPIFI) innovadora
Subsistema de temporizador configurable segn estado (SCT)
Descifrado en AES con memorias OTP de seguridad de 128 bits para almacenamiento de claves.
Cuatro modos de consumo reducido: reposo, reposo profundo, apagado y apagado profundo
GPIO de hasta 164 pines, con GPIO serial configurable (SGPIO)
Compatibilidad de pines con serie LPC1800 de Cortex-M3

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Unidad III El microprocesador Cortex-M3


Caractersticas y funcionalidades.
Fundamentos
Registros
Modos de operacin
Controlador de interrupciones vectorizadas anidadas
Mapa de memoria
Bus Interfaz
Unidad de proteccin de memoria
Conjunto de instrucciones
Interrupciones y excepciones
Soporte de depuracin
Resumen de caractersticas
Lenguaje Assembler.
El lenguaje C en los microcontroladores.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Fundamentos

Cortex M3 es un microprocesador de 32 bits


Posee una ruta de acceso de datos de 32 bits, un banco de
registros de 32 bits e interfaz de memoria de 32 bits
La arquitectura del procesador es Harvard, tiene buses
separados de instrucciones y de datos. Esto permite accesos
simultneos de instrucciones y datos; resultando en aumento
de rendimiento de procesador. Esta caracterstica se plasma en
varios buses interfaz, c/u optimizado para su uso y con
capacidad de ser usado simultneamente
Sin embargo, los buses de instrucciones y datos comparten el
mismo espacio de la memoria (sistema unificado de memoria).
En otras palabras, usted no podr tener 8 GB de espacio de
memoria slo porque tiene interfaces de bus separadas

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Fundamentos

Para aplicaciones complejas que requieren prestaciones


adicionales del sistema de memoria, Cortex-M3 tiene una MPU
opcional, y de ser necesario es posible utilizar memoria cach
externa
Soporta ambos sistemas de memoria (little-endian & big-
endian)
El procesador de Cortex-M3 incluye un nmero de
componentes de depuracin de internos fijos
Estos componentes proporcionan soporte a la operacin de
depuracin y caractersticas tales como breakpoints y
watchpoints
Componentes opcionales proporcionan caractersticas de
depuracin como instruction trace as como diversos tipos de
interfaces de depuracin
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

El mercado de los micros es inmenso, con una produccin


estimada de ms de 20.000 millones de unidades para 2010
Una basta matriz de proveedores, dispositivos y arquitecturas
hoy compiten en el mercado
El requerimiento de micros de mayor rendimiento ha sido
impulsado a nivel mundial por las necesidades cambiantes de
la industria (hoy se necesitan micros para manejar ms tareas
sin aumentar la frecuencia o el nivel de consumo de un
producto)
Adems, se incrementa la conectividad de los micros, ya sea
por Universal Serial Bus (USB), Ethernet, WiFi, etc. (se
incrementa el procesamiento necesario para soportar estos
canales de comunicacin y perifricos avanzados)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Del mismo modo, la complejidad de la aplicacin general va en


aumento, impulsado por ms sofisticadas interfaces de usuario,
requerimientos de multimedia, velocidad del sistema y
convergencia de funcionalidades
El procesador ARM Cortex-M3, el primero de la generacin de
procesadores Cortex lanzado por ARM en 2006, fue diseado
principalmente con destino al mercado de micros de 32 bits
El procesador ARM Cortex-M3 ofrece un rendimiento excelente
en cuanto al bajo nmero de compuertas e incorpora muchas
caractersticas nuevas anteriormente slo disponibles en
procesadores de gama alta

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Cortex M3 aborda los requisitos para el mercado de procesador


embebido de 32 bits de la siguiente manera:
Mayor eficiencia de rendimiento, permitiendo realizar ms tareas sin aumentar lo
requisitos de frecuencia o potencia en juego
Bajo consumo de energa, permitiendo mayor duracin de batera, especialmente
crtica en los productos porttiles, incluidas las aplicaciones de redes inalmbricas
Mejorado determinismo, garantizando que las tareas crticas y las interrupciones son
atendidas lo ms rpidamente posible (en un nmero conocido de ciclos)
Mejorada densidad de cdigo, garantizando que el cdigo se ajusta incluso a
pequeas porciones de memoria
Facilidad de uso, proporcionando ms fcil programacin y depuracin para el
creciente nmero de usuarios de 8 bits y 16 bits que intentan migrar a 32 bits

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Soluciones de menor costo, reduciendo los costos de los sistema


basado en 32 bits, muy cercano al de los dispositivos de 8 bits y 16
bits, compitiendo en la gama baja (micros de 32 bits a un precio menor
al US$1)
Gran variedad de herramientas de desarrollo, desde compiladores de
bajo costo, software libre, hasta paquetes de desarrollo con amplias
prestaciones de diversos proveedores de herramienta de desarrollo
Los diseadores buscan cada vez ms a reducir el costo del sistema,
a diferencia de los costos de los dispositivos tradicionales. En tal
sentido las organizaciones han implementando el agregado de
recursos a estos micros, para que un dispositivo nico y ms
poderoso pueda reemplazar a tres o cuatro dispositivos tradicionales
de 8 bits

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Ahorros de costos adicionales pueden lograrse mediante la


mejora de la cantidad de cdigo reutilizable en diversos
sistemas
Dado que los micros basados en el procesador ARM Cortex-M3
se pueden programar fcilmente usando lenguaje C y se basan
en una arquitectura adecuada, el cdigo de la aplicacin puede
ser portado y reutilizado fcilmente, reduciendo as tanto el
tiempo de desarrollo como el costo de las pruebas
Es de destacar que el procesador ARM Cortex-M3 no es el
primer procesador ARM utilizado para crear micros genricos
El procesador ARM7 ha sido muy exitoso en este mercado, con
socios como NXP (Philips), Texas Instruments, Atmel, OKI y
muchos otros proveedores de robustos micros de 32 bits (MCU)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Hasta ahora ARM7 es el ms ampliamente utilizado procesador


de 32 bits de la historia, con ms de 1.000 millones de
procesadores producidos por ao, aplicados en una gran
variedad de productos electrnicos, desde telfonos mviles
hasta automotrices
Cortex-M3 se basa en el xito del ARM7 como para ofrecer
dispositivos considerablemente ms fciles de programar,
depurar y adems con mayor capacidad de procesamiento
Cortex-M3 introduce adems algunas caractersticas y
tecnologas que cumplan los requisitos especficos de las
aplicaciones de micros, tales como interrupciones de no-
enmascarables para tareas crticas, vectores de interrupcin
anidados altamente determinista, manipulacin atmica de bits
y una unidad de proteccin de memoria (opcional)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Estos factores hacen al procesador Cortex M3 atractivo para


usuarios de procesadores ARM existentes, as como para
muchos nuevos usuarios que contemplan el uso de MCUs de
32 bits en sus productos
El procesador Cortex-M3 vs MCU basada en Cortex-M3
El procesador Cortex-M3 es la Unidad Central de Procesamiento (CPU) de un chip
microcontrolador. Se necesitan adems algunos otros componentes para completar
un microcontrolador basado en el procesador Cortex-M3
Luego de licenciar el procesador Cortex-M3 los fabricantes de chips pueden
disponer del procesador Cortex-M3 en sus diseos de silicio con el agregado de
memoria, perifricos, entrada/salida (I/O) y otras prestaciones
Chips basados en el procesador Cortex-M3 de diferentes fabricantes tendrn
caractersticas, perifricos, tipos y tamaos de memoria diferentes, nosotros nos
enfocaremos en la arquitectura del ncleo (core) del procesador
Para obtener ms detalles sobre chips especficos deben referirse a la
documentacin del fabricante del chip en particular

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

El procesador ARM Cortex-M3

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Una breve historia


Veamos un poco de historia ARM a fin de entender tanto las variantes de
procesadores ARM como las versiones de arquitectura
ARM se form en 1990 como Advanced RISC Machines Ltd., una emprendimiento
conjunto de Apple Computer, Acorn Computer Group y VLSI Technology. En 1991
ARM introdujo la familia de procesadores de ARM6 y VLSI se convirti en el
licenciatario inicial. Posteriormente, otras compaas, incluyendo Texas Instruments,
NEC, Sharp y ST Microelectronics licenciaron diseos de procesador ARM,
extendiendo las aplicaciones de procesadores ARM a telefona mvil, discos rgidos
de PCs, PDAs sistemas de entretenimiento hogareo y muchos otros productos de
consumo
Hoy partners de ARM despachan ms de 2.000 millones de procesadores ARM al
ao
A diferencia de muchas empresas de semiconductores ARM no fabrica
procesadores vende chips directamente. En cambio ARM licencia sus diseos de
procesadores para asociados de negocios, entre los cuales se incluyen a la mayora
de las compaas de semiconductores del mundo

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM


Basado en los diseos de procesador ARM de consumo eficiente y de bajo costo,
estos socios crean sus procesadores, microcontroladores y soluciones System-On-
Chip (SoC)
Este modelo de negocio es comnmente llamado concesin de licencias de
Propiedad Intelectual (IP)
Adems de diseos de procesador, ARM tambin licencia IPs a nivel de sistema y
diversas IPs de software
Para apoyar estos productos ARM ha desarrollado una fuerte base de herramientas
de desarrollo, hardware y productos de software que permite a sus socios de
negocios desarrollar sus propios productos

Versiones de la arquitectura
Durante aos ARM ha venido desarrollando nuevos procesadores y bloques de
sistema. Estos incluyen al popular procesador ARM7TDMI y ms recientemente
ARM1176TZ (F)-S que se usa en aplicaciones de altas prestaciones como telfonos
inteligentes

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

La evolucin de las caractersticas y mejoras a los


procesadores con el tiempo ha llevado a sucesivas versiones
de la arquitectura ARM. Tenga en cuenta que los nmeros de
versin de arquitectura son independientes de los nombres de
procesador. Por ejemplo, el procesador ARM7TDMI se basa en
la arquitectura de ARMv4T (la T es para soporte de instruccin
de modo Thumb)
La arquitectura de ARMv5E se introdujo con las familias de
procesadores de ARM9E, incluidos los procesadores
ARM926E-S y ARM946E-S. Esta arquitectura aadi
instrucciones para el procesamiento digital de seales
mejorado" (DSP) tiles en aplicaciones multimedia
Con la llegada de la familia de procesadores de ARM11, la
arquitectura se extendi a la ARMv6. Las nuevas
caractersticas de esta arquitectura incluyen prestaciones de
Single InstructionMultiple Data (SIMD). Procesadores basados
en la arquitectura de ARMv6 incluyen ARM1136J(F)-S,
ARM1156T2(F)-S y ARM1176JZ(F)-S
Fidel SANTOS TDII UTN FRH
UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Tras la introduccin de la familia ARM11, se decidi que


muchas de las nuevas tecnologas tales como el set de
instrucciones de Thumb-2 optimizado eran slo aplicables a los
mercados de micros de bajo costo y componentes de
automocin
Tambin se decidi que a pesar que la arquitectura necesaria
para ser coherente, desde la ms modesta MCU al procesador
para aplicaciones de ms alto rendimiento, era necesario
ofrecer un procesador cuya arquitectura se adaptase mejor a
las aplicaciones, permitiendo contar con procesadores muy
deterministas, de baja cantidad de compuertas para mercados
sensibles al costo, ricos en prestaciones y de alto rendimiento
para aplicaciones de alta gama

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

En los ltimos aos, ARM ampli su cartera de productos


diversificando el desarrollo de CPUs, lo que result en la
versin 7 de la arquitectura o ARMv7. En esta versin, el diseo
de la arquitectura se divide en tres perfiles:
Perfil A, diseado para plataformas de aplicacin abierta de alto rendimiento
Perfil R, diseado para sistemas embebidos de alta gama, en las que es necesario
el rendimiento en tiempo real
Perfil M, diseado para los sistemas tipo microcontrolador profundamente
embebidos

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Echemos un vistazo a estos perfiles con un poco ms de


detalle:
Perfil A (ARMv7-A): para ejecutar aplicaciones complejas tales como sistemas
operativos embebidos de alta gama (OSs), tales como Symbian, Linux y Windows
Embedded, que requieren mayor poder de procesamiento, soporte de sistema de
memoria virtual con unidades de administracin de memoria (MMUs) y
opcionalmente soporte Java mejorado y entorno de ejecucin de programa seguro.
Por ejemplo telfonos mviles de alta gama y monederos electrnicos
p/transacciones financieras
Perfil R (ARMv7-R): para procesamiento en tiempo real y de alto rendimiento,
dirigidos principalmente al extremo superior del mercado de tiempo real.
Aplicaciones, tales como breaking systems de alta gama y controladores de disco
rgido, en el que es esencial tanto el alto poder de procesamiento como la alta
confiabilidad y donde es muy importante la baja latencia
Perfil M (ARMv7-M): para aplicaciones de bajo costo, donde es importante la
eficiencia de procesamiento y facilidad de uso, interrupciones de baja latencia, en
los que consumo de energa y costo son crticos, as como aplicaciones de control
industrial, incluidos los sistemas de control en tiempo real

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Las familias de procesadores Cortex fueron los primeros


productos desarrollados en arquitectura v7. El procesador de
Cortex-M3 se basa en uno de los perfiles de la arquitectura v7
llamada ARMv7-M (especificacin de arquitectura para micros)
Esta presentacin se centra en el procesador Cortex-M3, que
es slo uno de la familia de productos Cortex que utilizan la
arquitectura ARMv7. Otros procesadores de la familia Cortex
incluyen Cortex-A8 (procesador de aplicacin) que se basa en
el perfil de ARMv7-A o Cortex-R4 (procesador en tiempo real)
basada en el perfil de ARMv7-R

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Se da un gran debate sobre si podemos tener un sistema de


"tiempo real" mediante procesadores de propsitos generales.
Por definicin, "tiempo real" significa que el sistema puede
producir una respuesta o reaccin en un plazo garantizado. En
un sistema basado en el procesador ARM, usted puede o no
ser capaz de obtener esta respuesta debido a la eleccin de
sistema operativo, la latencia de las interrupciones o el tiempo
de acceso de la memoria, tal como si la CPU ejecutase una
interrupcin de mayor prioridad

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Los detalles de la arquitectura ARMv7-M se documentan en el


ARMv7-M Architecture Application Level Reference Manual
(REF 2). Este documento puede accederse en el sitio web de
ARM mediante un simple proceso de registro
La arquitectura ARMv7-M contiene las siguientes reas claves:
Modelo del programador
Set de instrucciones
Modelo de memoria

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Arquitectura de depuracin
Informacin especfica del procesador, tales como los detalles de interfaces y de
temporizacin estn documentados en el Cortex-M3 Technical Reference Manual
(TRM) (ref1). Este manual puede accederse libremente en el sitio web de ARM. El
TRM Cortex-M3 tambin abarca una serie de detalles de implementacin no
cubiertos por las especificaciones de la arquitectura, como la lista de instrucciones
compatibles, pues algunas de las instrucciones que se tratan en la especificacin de
la arquitectura ARMv7-M son opcionales en dispositivos ARMv7-M.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Nomenclatura del procesador


Tradicionalmente, ARM utiliza un esquema de numeracin para nominar a sus
procesadores. En un principio (dcada de los 90s) tambin utiliz sufijos para indicar
las caractersticas de los procesadores. Por ejemplo con el procesador ARM, la T
indica soporte de instruccin de modo Thumb, D indica depuracin por JTAG, M
indica multiplicador rpido e I indica mdulo ICE integrado
Posteriormente se decidi que estas caractersticas deben convertirse en
caractersticas estndar en futuros procesadores ARM; por lo tanto no es necesario
agregar estos sufijos a los nuevos nombres de una familia de procesadores. En su
lugar las variaciones en la interfaz de memoria, memoria cach y Tightly Coupled
Memory (TCM) han creado un nuevo esquema de nomenclatura de procesador
Por ejemplo, procesadores ARM con memoria cach y MMUs ahora reciben el sufijo
"26" o "36", mientras que los procesadores con unidades de proteccin de memoria
(MPUs) reciben el sufijo "46" (por ejemplo, ARM946E-S). Adems, en que se
agregan otros sufijos para indicar sintetizable (S) y la tecnologa de Jazelle(J). La
Tabla 1.1 presenta un resumen de los nombres de procesador.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

ARM y arquitectura ARM

Un diseo de ncleo sintetizable est disponible en forma de


lenguaje de descripcin de hardware (HDL) como Verilog o
VHDL y puede ser convertido en un netlist de diseo mediante
software de sntesis
Con la versin 7 de la arquitectura, lejos de estos complejos
esquemas de numeracin que necesitan ser decodificadas,
ARM ha migrado hacia una nomenclatura coherente para sus
familias de procesadores, obviamente con el prefijo Cortex
Adems de ilustrar la compatibilidad entre procesadores, este
sistema elimina la confusin entre la versin de la arquitectura y
el nmero de procesador de la familia (por ejemplo, el popular
ARM7TDMI no es un procesador versin v7 pues se basa en la
arquitectura v4T)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Set de instrucciones

El mejoramiento y ampliacin del set de instrucciones usado en


los procesadores ARM ha sido clave para la evolucin de la
arquitectura
Histricamente (desde ARM7TDMI) el procesador ARM soporta
dos diferentes set de instruccin:
Instrucciones ARM de 32 bits
Instrucciones Thumb de 16 bits
Durante la ejecucin del programa, el procesador puede
conmutar dinmicamente entre estado ARM o Thumb para
utilizar uno u otro set de instrucciones. El set instrucciones
Thumb proporciona slo un subconjunto de las instrucciones de
ARM, proporcionando mayor densidad de cdigo. Es til para
los productos que requieren poca memoria

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Por su alto rendimiento, alta densidad de cdigo y bajo footprint


de silicio, el procesador Cortex-M3 es ideal para una amplia
variedad de aplicaciones:
Microcontroladores de bajo costo: es ideal para el mercado de micros de bajo costo
usados en productos de consumo, desde juguetes a aparatos elctricos. Mercado
altamente competitivo debido a la gran oferta de reconocidos microcontroladores de
8 bits y 16 bits. Su menor consumo de energa, alto rendimiento y la ventaja de su
facilidad de uso permiten a los desarrolladores de embebidos migrar a sistemas de
32 bits y desarrollar productos con arquitectura ARM
Automocin: Es ideal para la industria automotriz. Por su alta eficacia y rendimiento,
as como por su baja latencia de interrupcin, lo que permite aplicarlo en sistemas
en tiempo real. Admite hasta 240 interrupciones externas vectorizadas, integra un
controlador de interrupciones con soportes de interrupciones anidadas y
opcionalmente una unidad de proteccin de memoria, lo que lo hace idealmente til
para aplicaciones de automocin con alto grado de integracin y sensibles al costo

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Thumb-2 Instruction Set Architecture (ISA)

La ISA de Thumb 2 es un set de instrucciones de altamente


eficiente y poderoso que ofrece importantes beneficios en
trminos de facilidad de uso, tamao del cdigo y rendimiento
El set de instrucciones de Thumb-2 es un superset del anterior
set de instrucciones Thumb de 16-bit, con el agregado de
instrucciones de 16 y de 32 bits
Thumb-2 permite realizar operaciones ms complejas, logrando
as una mayor eficiencia al evitar la conmutacin de estados
entre ARM y Thumb
La familia Cortex-M3 se orient a dispositivos de poca memoria
como microcontroladores y a la reduccin del tamao del
procesador

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Thumb-2 Instruction Set Architecture (ISA)

Slo soporta el modo Thumb 2 (y Thumb tradicional) en lugar


de utilizar instrucciones de ARM para algunas operaciones,
como en los procesadores ARM tradicionales
Por ende el procesador de Cortex-M3 no es compatible con los
procesadores ARM tradicionales (no se puede ejecutar una
imagen binaria para procesadores ARM7 sobre Cortex-M3)
Aunque Cortex-M3 puede ejecutar casi todas las instrucciones
Thumb 16-bit, incluyendo todas las instrucciones de Thumb de
16 bits soportadas por la familia ARM7, haciendo fcil portar
aplicaciones
Al soportar operaciones de 16 y 32 bits en el set de
instrucciones Thumb-2 no es necesario conmutar al procesador
entre estados Thumb (instrucciones de 16 bits) y ARM
(instrucciones de 32-bit)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Thumb-2 Instruction Set Architecture (ISA)

En las familias ARM7 o ARM9, se usaba el modo ARM para


clculos complejos, para gran nmero de operaciones
condicionales que necesiten buen rendimiento; mientras que en
la familia Cortex-M3 es posible mezclar instrucciones de 32 y
16 bits sin conmutar el estado, logrando cdigo alta densidad y
rendimiento sin agregar complejidad
Thumb-2 es una caracterstica importantsima de la arquitectura
de ARMv7. Comparado con las instrucciones soportadas por la
familia ARM7 (ARMv4T) el set de instrucciones del Cortex-M3
incorpora gran nmero de nuevas prestaciones
Por primera vez un procesador ARM posee instruccin divisin
por hard y ms de multiplicacin, mejorado el rendimiento en
operaciones de clculo. Adems soporta accesos a datos no
alineados, caracterstica anteriormente slo disponible en
procesadores de gama alta

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Set de instrucciones

Al actualizar la versin de la arquitectura se agregaron


instrucciones ARM y Thumb. Con importantes cambios en el set
de instrucciones Thumb. ARM anunci en 2003 el modo
Thumb-2, nuevo superset de instrucciones Thumb con
instrucciones de 16 y 32 bits
Los detalles del set de instrucciones estn en el documento:
The ARM Architecture Reference Manual, que ha sido
actualizado para las arquitecturas ARMv5, ARMv6 y ARMv7
Para la arquitectura de ARMv7, debido a su crecimiento en
diferentes perfiles, la especificacin tambin se dividi en
diferentes documentos
Para Cortex-M3, el documento: ARM v7-M Architecture
Application Level Reference Manual (Ref 2) cubre todos los
detalles del set de instruccin

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Comunicacin de datos: El bajo consumo y alta eficiencia, junto con instrucciones


Thumb-2 para la manipulacin de campo de bits, lo hacen ideal para muchas
aplicaciones de comunicaciones, tales como el Bluetooth y ZigBee
Control industrial: La simplicidad, rpida respuesta, y fiabilidad son factores claves
en este campo de aplicacin. Lo sostiene las caractersticas de sus interrupciones,
la baja latencia de interrupcin y caractersticas mejoradas de manejo de fallas
Productos de consumo: en muchos de los productos de consumo, se utiliza un
microprocesador de alto rendimiento (o varios de ellos). El procesador de Cortex-
M3, es un pequeo procesador de alta eficiencia y bajo consumo que permite
ejecutar software complejos proveyendo una robusta proporciona proteccin de
memoria.

Ya hay muchos productos en base al procesador Cortex-M3


disponibles en el mercado, incluidos productos de baja gama
con precio menor al US $ 1, haciendo al costo de micros ARM
igual o menor que el de muchos micros de 8 bits

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Registros

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Registros

El procesador de Cortex M3 tiene registros de R0 a R15. R13


(stack pointer) banqueado, con slo uno visible a la vez
R0 a R12: Registros de propsito general de 32 bits para
operaciones de datos. Algunas instrucciones de Thumb de 16-
bit slo pueden tener acceso a un subconjunto de estos
registros (R0 a R7)
R13: Stack Pointer, Cortex-M3 tiene dos stack pointers R13
banqueados, con slo uno visible a la vez:
Main Stack Pointer (MSP): Es el puntero a la pila predeterminado; utilizado por OS
Kernel y los manejadores de excepciones
Process Stack Pointer (PSP): Utilizados por cdigo de la aplicacin de usuario

Los dos bits menos significativos de los stack pointers siempre


son 0, lo que significa que siempre estn alineado a word (4
bytes)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Registros

R14: Link Register, al llama a una subrutina, la direccin de


retorno se almacena en este registro
R15: Program Counter, almacena direccin de programa en
ejecucin. Se puede escribir este registro para controlar el flujo
del programa
Registros especiales: Cortex-M3 adems tiene registros
especiales:
Program Status Registers (PSRs)
Interrupt Mask Registers (PRIMASK, FAULTMASK, BASEPRI)
Control Register (CONTROL)

Los registros tienen funciones especiales y se pueden acceder


slo por instrucciones especiales. No se pueden utilizar para el
procesamiento de datos normal

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Registros

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Modos de operacin

Cortex M3 tiene dos modos de operacin y dos niveles de


privilegio
Los modos de operacin (Thread y Handler) determinan si el procesador ejecuta un
programa normal o un manejador excepciones tal como un manejador de
interrupcin o de excepciones del sistema
Los niveles de privilegio (Privileged y User) proporcionan un mecanismo para
salvaguardar los accesos a regiones crticas de memoria brindando un modelo de
seguridad bsico

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Modos de operacin

Cuando el procesador ejecuta el programa principal (modo Thread),


puede hacerlo en estado privilegiado o usuario, pero los manejadores
de excepciones slo pueden hacerlo en estado privilegiado
El procesador sale de Reset en modo thread con derechos de nivel
privilegiado. En este estado el programa tiene acceso al rango
completo de memoria (excepto la prohibida por la configuracin de
MPU) y puede ejecutar todas las instrucciones soportadas
El programa ejecutando en nivel de acceso privilegiado puede
cambiar a nivel de acceso de usuario escribiendo el Control Register
Cuando una excepcin tiene lugar, el procesador vuelve al estado
privilegiado y retorna al estado anterior al salir el manejador de
excepciones

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Modos de operacin

El programa de usuario no puede cambiar al estado privilegiado


escribiendo el Control Register. Puede hacerlo mediante un
manejador de excepciones que modifique Control Register para
devolver al procesador al nivel de acceso privilegiado
retornando al modo Thread

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Modos de operacin

La separacin de los niveles de privilegio y usuario mejora la


confiabilidad del sistema evitando que registros de
configuracin de sistema sean accedidos o cambiado por
algunos programas no confiables
Pudiendo utilizarse los niveles de privilegios para proteger
regiones de memoria crtica tales como programas y datos del
OS. Por ejemplo con accesos privilegiados generalmente
utilizados por el OS Kernel, todas las posiciones de memoria
son accesibles (excepto la prohibida por la configuracin de
MPU)
Cuando el OS inicia una aplicacin de usuario, es probable que
se ejecute en el nivel de acceso de usuario para proteger el
sistema de falla debido al fallo de programas de usuario no
confiables

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Controlador de interrupciones vectorizadas anidadas

Cortex M3 incluye un controlador de interrupciones llamado


Nested Vectored Interrupt Controller (NVIC), incorporado al
ncleo del procesador y ofrece las siguientes caractersticas:
Soporte de Interrupciones Anidadas
Soporte de Interrupciones Vectorizadas
Soporte de Cambio Dinmico de Prioridades
Reduccin de latencia de interrupcin
Enmascaramiento de Interrupciones

El NVIC soporta de interrupciones anidadas. Todas las


interrupciones externas y la mayora de las excepciones del
sistema puede ser programada a niveles de prioridad diferentes

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Controlador de interrupciones vectorizadas anidadas

Cuando se produce una interrupcin, el NVIC compara la


prioridad de esta interrupcin para el nivel de prioridad de
ejecucin actual. Si la prioridad de la interrupcin nueva es ms
alta que el nivel actual, el manejador de interrupcin de la
interrupcin nueva anular la tarea de ejecucin actual
El NVIC soporta interrupciones vectorizadas. La direccin de
inicio de la rutina de servicio de una interrupcin (ISR) se
almacena en una tabla de vectores en memoria
No es necesario utilizar software para determinar y saltar a la
direccin de inicio de la ISR, por ende se tarda menos tiempo
para procesar un pedido de interrupcin

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Controlador de interrupciones vectorizadas anidadas

El nivel de prioridad de una interrupcin puede cambiarse por


software en tiempo de ejecucin. La activacin de la
interrupcin que estn siendo atendida se bloquea hasta haber
finalizado su rutina de servicio pudiendo cambiar su prioridad
sin riesgo de reingreso accidental
Cortex-M3 incluye caractersticas avanzadas para reducir la
latencia de interrupcin. Incluye salvado y recuperacin
automtico del contenido de algunos registros, reduciendo la
demora en el cambio de una ISR a otra (encadenamiento en
cola) y el manejo de interrupciones de llegada tarda
Se puede enmascarar interrupciones y excepciones de sistema
en funcin a su nivel de prioridad o bien por completo mediante
los registros de mscara de interrupcin BASEPRI, PRIMASK y
FAULTMAS (para garantizar que las tareas crticas para el
tiempo puedan termina a tiempo sin que se las interrumpa)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Mapa de memoria

Cortex M3 tiene un mapa de memoria predefinido de 4 GB


dividido en regiones
Esto permite que los perifricos integrados, tales como
controlador de interrupciones y componentes de depuracin,
sean accedidos con simples instrucciones de acceso a memoria
Por lo tanto, la mayora de los recursos del sistema son
accesibles programando en C
El mapa de memoria predefinidas tambin permite que el
procesador de Cortex-M3 ser altamente optimizado para la
rpida y fcil integracin en diseos System-on-a-Chip (SoC)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Mapa de memoria

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Mapa de memoria

Cortex M3 tiene una estructura de bus interno optimizada para


el uso de memoria
El diseo permite que estas regiones sean utiliza de forma
diferente.
Por ejemplo, memoria de datos puede disponerse como regin
de cdigo y puede ejecutarse cdigo desde una regin externa
de RAM
La regin de memoria System Lavel contiene el controlador de
interrupciones y los componentes de depuracin (en
direcciones fijas)
Al haber establecido direcciones fijas para estos perifricos, es
posible portar muy fcilmente aplicaciones entre diferentes
productos Cortex-M3 (hasta de diversos fabricantes)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Bus Interface

El procesador Cortex M3 posee varias interfaces de bus que


permiten llevar simultneamente bsqueda de instrucciones y
acceso a datos
Las interfaces de bus principales son:
Code Memory Buses: Acceso a la regin de memoria de cdigo, fsicamente
consiste en dos buses, I-Code y D-Code (optimizado en la bsqueda de instruccin
para lograr a la mejor velocidad de ejecucin de instrucciones)
SystemBus: Acceso a memoria de datos y perifricos SRAM, perifricos, RAM
externa, dispositivos externos y a parte de la regin de memoria System Level
Private Peripheral Bus: Acceso a parte de la regin de memoria System Level
dedicada a perifricos privados tales como componentes de depuracin

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Unidad de proteccin de memoria

Cortex M3 tiene una unidad de proteccin de memoria opcional


(MPU) que permite configurar reglas para el acceso privilegiado
y de usuario. Al violar una regla de acceso se genera una
excepcin de error, es tarea del manejador de excepciones de
errores analizar el problema y corregirlo de ser posible
El MPU puede utilizarse de diversas formas
Usualmente es configurada por un sistema operativo, permitiendo que los datos
utilizados por cdigo privilegiado (OS Kernel) est protegido de programas de
usuario no confiables no confiables
Tambin puede utilizarse para generar regiones de memoria de slo lectura (evitar
el borrado accidental de datos), o para aislar regiones de memoria entre diferentes
tareas en un sistema operativo multitarea
En general, puede ayudar a hacer sistemas embebidos ms robustos y confiables

La funcin MPU es opcional (a tener en cuenta al implementar


el SoC)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Caractersticas y funcionalidades

MPU
NVIC
WIC
Acelerador de Flash
DMA
15 comunicaciones serie
Muy bajo consumo (Mltiples modos)

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Caractersticas Principales

MPU: Permite la proteccin de zonas de memoria de la accin


indeseada de programas
NVIC: permite la generacin y priorizacin de interrupciones y
minimiza la latencia de las interrupciones.
WIC: permite la rpida entrada en ejecucin de programa luego de un
estado de bajo consumo.
Acelerador de flash: Que permite ejecutar el programa sin wait states
superando las limitaciones tecnolgicas de las memorias Flash.
DMA: Muchos dispositivos pueden acceder a realizar transferencias
entre s o con memoria.

Fidel SANTOS TDII UTN FRH


UNIVERSIDAD TECNOLOGICA NACIONAL
FACULTAD REGIONAL HAEDO
Departamento de Electrnica

Integrantes y caractersticas

Fidel SANTOS TDII UTN FRH

Vous aimerez peut-être aussi