9
1 Curso de Microcontroladores Profr. Felipe Santiago 1 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 2 Aspecto externo

INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

Embed Size (px)

Citation preview

Page 1: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

1

Curso de Microcontroladores Profr. Felipe Santiago 1

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 2

Aspecto externo

Page 2: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

2

Curso de Microcontroladores Profr. Felipe Santiago 3

Organización interna

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 + WCurso de Microcontroladores

Profr. Felipe Santiago 4

Page 3: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

3

Curso de Microcontroladores Profr. Felipe Santiago 5

Memoria

de código

y

muestra

de la

pila

Curso de Microcontroladores Profr. Felipe Santiago 6

Memoria de

datos,

incluye los

registros de

funciones

especiales

Page 4: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

4

Curso de Microcontroladores Profr. Felipe Santiago 7

Registros de funciones especiales

Curso de Microcontroladores Profr. Felipe Santiago 8

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

Page 5: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

5

Curso de Microcontroladores Profr. Felipe Santiago 9

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

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

10Curso de Microcontroladores

Profr. Felipe Santiago

Page 6: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

6

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:

Resonadores Cerámicos

Cristales

Selección de Capacitores

11Curso de Microcontroladores

Profr. Felipe Santiago

OSCILADOR RC

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.

Fosc Rext Cext

625 kHz 10 k 20 pF

80 kHz 10 k 220 pf

80 Hz 10 k 0.1 uF

Valores aproximados

12Curso de Microcontroladores

Profr. Felipe Santiago

Page 7: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

7

RELOJ EXTERNO

Se debe usar la configuración HS, XT o LP.

13Curso de Microcontroladores

Profr. Felipe Santiago

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.

Captura y Ejecución de instrucciones

14Curso de Microcontroladores

Profr. Felipe Santiago

Page 8: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

8

Flujo de Captura y Ejecución de instrucciones

15Curso de Microcontroladores

Profr. Felipe Santiago

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.

Segmentación de instrucciones

16Curso de Microcontroladores

Profr. Felipe Santiago

Page 9: INTERIOR DEL PROCESADOR - utm.mxfsantiag/PICS/sesion 2.pdf · Selección de Capacitores 11 Curso de Microcontroladores Profr. Felipe Santiago OSCILADOR RC Es ... valores. Fosc Rext

9

Segmentación de instrucciones

17Curso de Microcontroladores

Profr. Felipe Santiago

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?

Ejemplo :

18Curso de Microcontroladores

Profr. Felipe Santiago