Interior del Procesador - Universidad Tecnológica de la Mixteca

Anuncio
INTERIOR DEL PROCESADOR
En esta sección se pretende:



Conocer la arquitectura y funcionamiento de
los microcontroladores de la familia
PIC16X8X
La organización de su memoria, y
Sus registros de funciones especiales.
Curso de Microcontroladores
Profr. Felipe Santiago
1
Aspecto externo
Curso de Microcontroladores
Profr. Felipe Santiago
2
1
Organización interna
Curso de Microcontroladores
Profr. Felipe Santiago
3
Registro W



El registro W es el registro de trabajo para los
microcontroladores PIC.
Este registro es muy importante para este tipo de
arquitecturas, por que siempre será el segundo operando
para la ALU. Además de que puede ser registro destino
para el resultado.
Si se quieren sumar dos localidades de memoria, deberá
primeramente pasarse una al registro W, luego se suma la
segunda con W.
A=A+B
W <- B
A <- A + W
Curso de Microcontroladores
Profr. Felipe Santiago
4
2
Memoria
de código
y
muestra
de la
pila
Curso de Microcontroladores
Profr. Felipe Santiago
5
Curso de Microcontroladores
Profr. Felipe Santiago
6
Memoria de
datos,
incluye los
registros de
funciones
especiales
3
Registros de funciones especiales
Curso de Microcontroladores
Profr. Felipe Santiago
7
Registro de ESTADO (03h)
Bit 7 :
IRP : Bit selector de Banco de registros (utilizado para direccionamiento indirecto)
0 : Banco 0, 1 (00h - FFh)
1 : Banco 2, 3 (100h - 1FFh)
IRP debe mantenerse en 0 en el PIC16X8X, ya que sólo tiene dos bancos
Bits 6 - 5 : RP1: RP0: Bits selectores de banco (utilizado para direccionamiento directo)
00 : Banco 0 (00h - 7Fh)
01 : Banco 1 (80h - FFh)
10 : Banco 2 (100h - 17Fh)
11 : Banco 3 (180h - 1FFh)
Cada banco es de 128 bytes. Para el PIC16X8X, RP1 debe mantenerse en 0 y RP0 define el
banco de trabajo
Curso de Microcontroladores
Profr. Felipe Santiago
8
4
Bit 4 : TO’: Bit de desbordamiento (Time Out)
0 : Si ocurre un desbordamiento del WDT
1 : Después de un RESET o con las instrucciones SLEEP y CLRWDT
Bit 3 : PD’: Bits de activación de bajo consumo de potencia
0 :Con la instrucción SLEEP
1 :Después de un RESET o al ejecutar la instrucción CLRWDT
Bit 2 : Z : Bandera de indicación de 0
1 :El resultado de una operación aritmética o lógica es cero
0 : El resultado de una operación aritmética o lógica no es cero
Bit 1 : DC : Bit de acarreo/llevada’ decimal(para sumas o restas)
1 :Si ha ocurrido un acarreo en el nibble menos significativo
0 : Si se produce una llevada en el nibble menos significativo
Bit 0 : C : Bit de acarreo/llevada’ de todo el byte (para sumas o restas)
1 :Si ha ocurrido un acarreo después de una suma
0 : Si se produce una llevada después de una resta
Curso de Microcontroladores
Profr. Felipe Santiago
9
TIPOS DE OSCILADORES

El PIC16F84 puede ser operado en uno de cuatro
diferentes modos de oscilación. El usuario puede
programar dos bits de configuración (FOSC1 y
FOSC0) para seleccionar uno de estos cuatro
modos:
•
•
•
•
LP Cristal del baja potencia
XT Cristal resonador
HS Cristal Resonador de alta velocidad
RC Resistor/Capacitor
Curso de Microcontroladores
Profr. Felipe Santiago
10
5
CRISTALES Y RESONADORES CERÁMICOS
En los modos XT, LP o HS,
un cristal o resonador
cerámico debe conectarse
en las terminales
OSC1/CLKIN y
OSC2/CLKIN para
establecer la oscilación:

Selección de Capacitores
Resonadores Cerámicos
Cristales
Curso de Microcontroladores
Profr. Felipe Santiago
11
OSCILADOR RC
Fosc
Rext
Cext
625 kHz
10 k
20 pF
80 kHz
10 k
220 pf
80 Hz
10 k
0.1 uF
Valores aproximados





Es una alternativa de bajo costo, si la temporización no es un
factor importante.
La frecuencia es una función del voltaje, el valor de un
resistor (Rext), de un capacitor (Cext) y la temperatura de
operación.
La frecuencia puede variar entre dispositivos por variaciones
en los procesos de fabricación.
El tipo de capacitor afecta la oscilación.
Los componente R y C tienen tolerancias externas en sus
valores.
Curso de Microcontroladores
Profr. Felipe Santiago
12
6
RELOJ EXTERNO

Se debe usar la configuración HS, XT o LP.
Curso de Microcontroladores
Profr. Felipe Santiago
13
Captura y Ejecución de instrucciones
El reloj de entrada (desde OSC1) es internamente dividido por
cuatro para generar cuatro señales cuadradas que no se
traslapan, nominalmente :
Q1, Q2, Q3 y Q4.
El program counter (PC) es incrementado cada Q1, la
instrucción es capturada desde la memoria de programa y
atrapada en el registro de instrucción en Q4.
La instrucción es decodificada y ejecutada durante los
siguientes Q1 a Q4.
Curso de Microcontroladores
Profr. Felipe Santiago
14
7
Flujo de Captura y Ejecución de instrucciones
Curso de Microcontroladores
Profr. Felipe Santiago
15
Segmentación de instrucciones
Un “Ciclo de instrucción” consiste de cuatro ciclos de reloj (Q1, Q2, Q3 and
Q4).
La captura y ejecución de instrucciones se segmentan de manera que la
captura toma lugar en un ciclo y la ejecución en otro ciclo.
Por la segementación aparenta que cada instrucción solo requiere de un
ciclo de instrucción.
Si una instrucción porduce un cambio en el program counter (e.g., GOTO), se
necesitarán los dos ciclos para completar la instrucción.
Un ciclo de captura inicia cuando el PC es incrementado en 1 en Q1.
Y termina cuando la instrucción capturada es atrapada en el “Registro de
Instrucción” (IR) en el ciclo Q4.
Esta instrucción es decodificada y ejecutada durante los ciclos Q2 y Q3,
del siguiente ciclo de máquina.
Curso de Microcontroladores
Profr. Felipe Santiago
16
8
Segmentación de instrucciones
Curso de Microcontroladores
Profr. Felipe Santiago
17
Ejemplo :
Un PIC16X84 que trabaja con un cristal de 4 MHz ejecuta un programa de
1000 instrucciones, de las cuales el 25 % son saltos.
¿Qué tiempo tarda el microcontrolador en ejecutar el este programa?
Curso de Microcontroladores
Profr. Felipe Santiago
18
9
Descargar