Download Arquitectura del microcontrolador

Document related concepts
no text concepts found
Transcript
¿Qué es un Microcontrolador?
Es un circuito integrado programable que contiene todos los
componentes de un computador, aunque de limitadas prestaciones
y se destina a gobernar una sola tarea.
¿Dónde se emplean?
• Televisores, lavadoras, aparatos musicales,
equipos de vigilancia, telefonía, área
automotriz, mecatrónica.
Diferencia entre microprocesador y
microcontrolador
• Un microprocesador es un sistema abierto
con el que puede construirse una
computadora con características que se desee.
Bus de
dirección
uC
Bus de datos
Memoria
Controladores
Perifericos
Diferencia entre microprocesador y
microcontrolador
• Un microcontrolador es un sistema cerrado
que contiene un computador completo y de
prestaciones que no se puede modificar.
Perifericos
uC
Perifericos
Ejemplo
• Un microondas que se gobierna con un
microcontrolador de 382 instrucciones, cada
una de las cuales ocupa una palabra de la
memoria del código. Para soportar el teclado y
la pantalla LCD se necesita 12 líneas de E/S.
• ¿Cuál elegiríamos?
MODELO
MEMORIA DE
INSTRUCCIONES
LÍNEAS E/S
PRECIO
PIC 16F83
512
13
4.40
PIC16F84
1,024
13
6.00
PI16C74
4,096
33
12.10
Arquitectura del microcontrolador
Las partes principales de un microcontrolador
son:
Procesador
Memoria no volátil para contener el programa
Memoria de escritura y lectura para guardar
los datos.
Líneas de E/S para controlar los periféricos
(puertos)
Arquitectura del microcontrolador
Las partes principales de un microcontrolador
son:
Recursos auxiliares
Circuito de reloj
Temporizador
Conversores AD y DA
Comparadores analógicos
Tarea 1
• ¿Qué es la arquitectura Harvard?
• ¿Qué es la arquitectura von Neumann?
• ¿Qué es la arquitectura RISC y CISC?
• ¿Cuál es la diferencia entre estas dos?
Arquitectura del microcontrolador
Procesador
Arquitectura von Neumann se caracteriza
porque la UCP (unidad central de procesos) se
conectaba con una memoria única, donde
coexistían datos e instrucciones a través de un
MEMORIA
sistema de bus.
UCP
INSTRUCCIONES
+
DATOS
Arquitectura del microcontrolador
Procesador
Arquitectura Harvard son independientes la
memoria de instrucciones y la manera de datos
cada una dispone de su propio sistema de bus
para el acceso.
MEMORIA
INSTRUCCIONES
MEMORIA
UCP
DATOS
Arquitectura del microcontrolador
Procesador
Arquitectura CISC (Complex Instruction Set
Computer) tiene un conjunto de instrucciones
que se caracteriza por ser muy amplio y permitir
operaciones complejas entre operaciones
situadas en la memoria o en los registros
internos.
Arquitectura del microcontrolador
Procesador
Arquitectura RISC (reduced instruction set
computer) es un conjunto de instrucciones ya
definidas en el Microcontrolador instaladas lo
que hace de fácil acceso a ellas. Reduciendo de
esta manera el acceso a la memoria.
Arquitectura del microcontrolador
Procesador
Diferencia entre CISC y RISC
CISC
RISC
Programación
Fácil
Compleja
Código
Corto
Largo
Velocidad
Lento
Rapido
Copilar
Largo
Corto
Arquitectura del microcontrolador
Memoria del programa
El microcontrolador está diseñado para que en
su memoria de programa se almacenen todas
las instrucciones del programa de control. Sin la
posibilidad de extender la memoria.
Arquitectura del microcontrolador
Memoria del programa
¿Cuántas memorias existen?
Memoria ROM (Read Only Memory) memoria
de sólo lectura este tipo de memoria el
programa se graba en el chip durante el
proceso de fabricación. (Memoria no volatil).
Arquitectura del microcontrolador
Memoria del programa
¿Cuántas memorias existen?
 Memoria PROM (Programmable Read Only
Memory) Memoria programable de sólo lectura
Dichas memorias consisten en chips que
comprimen miles de fusibles (o diodos) capaces de
"quemarse" mediante un dispositivo denominado
"programador ROM", aplicando un alto voltaje
(12V) a las cajas de memoria a marcar. Los fusibles
quemados corresponden a 0 y los demás a 1.
Arquitectura del microcontrolador
Memoria del programa
¿Cuántas memorias existen?
Memoria EPROM (Erasable Programmable
Read Only Memory) Memoria programable y
borrable de sólo lectura.
Arquitectura del microcontrolador
Memoria del programa
¿Cuántas memorias existen?
Memoria EEPROM (Electrically Erasable
Programmable Read Only Memory) Memoria
programable de sólo lectura borrable
electricamente.
Arquitectura del microcontrolador
Memoria del programa
¿Cuántas memorias existen?
Memoria FLASH es similar a la memoria
EEPROM pero tiene la capacidad de usar un
transistor en vez de dos (EEPROM) para
almacenar datos haciendo esto una memoria
de mayor capacidad.
Arquitectura del microcontrolador
Memoria de datos
Memoria RAM (Random Access Memory)
Memoria de acceso aleatorio. Este tipo de
memoria es volatil pero es mas rapido al
acceso a la información.
Arquitectura del microcontrolador
Puertos
Son los pins que se comunica con algún
componente externo. Pueden manejar
información en paralelo.
Arquitectura del microcontrolador
Recursos auxiliares
 Circuito de reloj: encargado de generar los impulsos
que sincronizan el funcionamiento de todo el sistema.
 Temporizadores: orientados a controlar tiempos.
 Perro guardian: reinicia el programa cuando se queda
bloqueado.
 Conversores AD-DA: para recibir y enviar señales
analogicas
 Comparadores analogicos: verifica el valor de una señal
analógica
 Sistema de protección ante fallos de la alimentación
 Estado de reposo: suspende el programa para ahorar
energía.
Microcontrolador
Arquitectura del microcontrolador
Tarea 2
¿Qué es un registro?
¿Qué registros contiene el microcontrolador
KL25Z?
Arquitectura del microcontrolador
Registros
Acumulador (A) de 8 bits para resolver
operaciones aritméticas o no aritméticas.
Registro índice (H:X) de 16bits puede usarse
como almacenador temporal.
Arquitectura del microcontrolador
Registros
Puntero de pila (SP) de 16 bits contiene la
dirección de la siguiente ubicación de la pila
al resetear inicia en 00FF.
Contador del programa (PC) de 16 bits indica
la dirección en la que se encuentra la próxima
instrucción
Arquitectura del microcontrolador
Registros
Código de condiciones (CCR)
– Bit 7 Desbordamiento: Nos indica cuando un
número sobrepasa el registro
– Bit 4 Acarreo medio: Cuando existe un acarreo en
el acumulador entre en bit 3 y 4
Arquitectura del microcontrolador
Registros
 Código de condiciones (CCR)
– Bit 3 Interrupción: cuando se activa este bit todas las
interrupciones se desactivan y se vuelve a activar
cuando el bit se limpia.
– Bit 2 Negativo: al realizar una operación el resultado
que se obtuvo es negativo.
.
Arquitectura del microcontrolador
Registros
Código de condiciones (CCR)
– Bit 1 Cero: cuando una operación da como
resultado 0
– Bit 0 Acarreo: Cuando existe acarreo en el 7 bit del
acumulador
.
Tipos de direccionamientos
Inherente
Inmediato
Directo
Extendido
Indexado
Relativo
Tipos de direccionamiento
• Inherente: Son operaciones sobre registros o
bits de estos últimos.
A
CLR A
XX
00
Tipos de direccionamiento
• Inmediato: Especifica el valor directamente
indicado por el símbolo #. (No es la dirección
del valor)
A
LD A #$FF
XX
FF
Tipos de direccionamiento
• Directo: Se transfiere el valor que se
encuentra almacenado en la memoria.
A
LD A $50
XX
Memoria de datos
AA
050
FA
051
AA
Tipos de direccionamiento
• Extendido: Para acceder a direccionamiento
de memoria mayor de 16 bits.
A
LD A $5100
XX
AA
0500
FA
5100
FA
Tipos de direccionamiento
• Indexado: Se especifica el contenido del
registro como dirección del operando.
CLR ,X
Mem. datos
XX
H:X
0400
04
00
0400
00
Tipos de direccionamiento
• Indexado con offset: es lo mismo que el
indexado la única diferencia es que en este se
le agrega un intervalo.
• CLR 10,X
Mem datos
XX
0400
H:X
04
00
040A
00
Tipos de direccionamiento
• Indexado con offset 16 bits
• CLR $0100,X
Mem datos
XX
0150
H:X
00
00
0150
50
Tipos de direccionamiento
• Indexado usando el puntero de pila
ST A 5,SP
A
FA
Mem de datos
XX
00D0
SP
00
FA
00D5
D0
Tipos de direccionamiento
• Indexado usando el puntero de pila a 16 bit
con offset.
ST A $0100,SP
A
Mem de datos
XX
FA
00D0
SP
00
FA
01D0
D0
Operaciones aritméticas y lógicas
• ¿Que es una operación aritmética?
Son aquellas operaciones clásicas como suma,
resta, multiplicación y división.
• ¿Qué es una operación lógica?
Son aquellas al usar las compuertas and, or y
not.
Resolver
• Resuelva la siguiente operaciones logicas:
10101  10001 
(10111)(10000) 
10111 
(101  111) 
F (00)  00 
Realice el siguiente diagrama de flujos
• Almacene en la memoria los siguientes valores: 0A, 0C,
0F.
• Tiene un registro llamado A limpiarlo (es decir que
valga cero)
• Del registro CCR que banderas o bits se activaran con
las siguientes operaciones aritméticas.
3-4=-1
0/4=0
00001111+00000001=00010000