Вы находитесь на странице: 1из 52

Sistema de Reloj del PIC16F887

SISTEMA DE RELOJ DEL PIC16F887

SISTEMA DE RELOJ DEL PIC16F887

OSCILADOR EXTERNO
Un oscilador externo est instalado fuera del
microcontrolador y conectado a los pines OSC1 y
OSC2.
Es denominado 'externo' porque utiliza
componentes externos para generar una seal de
reloj y estabilizar la frecuencia.
Estos son: cristal de cuarzo, resonador cermico
o circuito resistor - capacitor.
El modo de funcionamiento del oscilador se
selecciona por los bits, que se envan durante la
programacin, denominados Palabra de
Configuracin.

OSCILADORES INTERNOS
El HFINTOSC es un oscilador interno de alta frecuencia
calibrado a 8MHz. El microcontrolador puede utilizar
una seal de reloj generada a esta frecuencia o despus
de haber sido dividida en el pre-escalador.
El LFINTOSC es un oscilador interno de baja frecuencia
calibrado a 31 kHz. Sus pulsos de reloj se utilizan para
funcionamiento de los temporizadores de encendido y
perro guardin, asimismo puede utilizarse como fuente
de seal de reloj para el funcionamiento de todo el
microcontrolador.
El bit System Clock Select (bit de seleccin del reloj del
sistema - SCS) del registro OSCCON determina si una
fuente de seal de reloj del microcontrolador ser
interna o externa.

Registro OSCCON

Bits selectores de frecuencias internas


IRCF2 IRCF1 IRCF0

OSTS Bit de estado del


temporizador de encendido OST
Indica cul fuente de reloj est actualmente
en uso.
Es un bit de slo lectura.
OSTS=1 - Utiliza el oscilador de reloj externo.
OSTS=0 - Utiliza uno de los osciladores de reloj
interno (HFINTOSC o LFINTOSC).

HTS Bit de estado del oscilador


HFINTOSC (8 MHz - 125 kHz)
Indica si el oscilador interno de alta
frecuencia funciona en modo estable.
HTS=1 - HFINTOSC est estable.
HTS=0 - HFINTOSC no est estable.

LTS Bit de estado del oscilador


LFINTOSC (31 kHz)
Indica si el oscilador de baja
frecuencia funciona en modo
estable.
LTS=1 - LFINTOSC est estable.
LTS=0 - LFINTOSC no est estable.

SCS Bit de seleccin del reloj del


sistema
Determina cul oscilador se utilizar como una
fuente de reloj.
SCS=1 - Oscilador interno reloj del sistema.
SCS=0 - Oscilador externo reloj del sistema.
El modo del oscilador se configura por medio
de los bits, denominados Palabra de
Configuracin, que se escribe en la memoria
del microcontrolador durante el proceso de la
programacin.

MODOS DE RELOJ EXTERNO


El oscilador externo se puede configurar para funcionar en
uno de varios modos, lo que habilita que funcione a
diferentes velocidades y utilice diferentes componentes
para estabilizar la frecuencia.
El modo de funcionamiento se selecciona durante la
programacin del microcontrolador.
Durante el proceso de la programacin del
microcontrolador, los bytes de la Palabra de Configuracin
se escriben en la memoria FLASH del microcontrolador y se
almacenan en localidades especiales no disponibles al
usuario.
A base de estos bits, el microcontrolador sabe qu hacer,
aunque eso no se indica explcitamente en el programa.

MODOS DEL RELOJ EXTERNO


1.
2.
3.
4.
5.

MODO EC: Reloj externo con E/S en OSC2.


LP: Cristal de baja potencia 32 KHz.
XT: Cristal de ganancia media.
HS: Cristal de ganancia alta.
RC: Resistor y capacitor externos con salida
Fosc/4 en la patita OSC2.
6. RCIO: Resistor y capacitor externos con E/S
en patita OSC2.

M
I
C
R
O
C
O
N
T
R
O
L
A
D
O
R
E
S

MODOS EC
Permite usar un reloj externo como fuente de reloj
del sistema.

M
I
C
R
O
C
O
N
T
R
O
L
A
D
O
R
E
S
SESION

MODO EC

VENTAJAS DEL MODO EC


La fuente de reloj externa independiente est conectada al pin de
entrada OSC1. El pin OSC2 est disponible como pin de E/S de
propsito general.
Es posible sincronizar el funcionamiento del microcontrolador con
los dems componentes incorporados en el dispositivo.
En este modo el microcontrolador se pone a funcionar
inmediatamente despus de encenderlo. No se requiere esperar
para estabilizar la frecuencia.
Al deshabilitar temporalmente la fuente de reloj externa, se
detiene el funcionamiento del dispositivo, dejando todos los
datos intactos. Despus de reiniciar el reloj externo, el dispositivo
sigue funcionando como si no hubiera pasado nada.

OSCILADOR EXTERNO EN MODO LP, XT O HS


Los modos LP, XT y HS utilizan un oscilador externo como una
fuente de reloj cuya frecuencia est determinada por un
cristal de cuarzo o por resonadores cermicos conectados a
los pines OSC1 y OSC2.

MODOS LP, XT y HS
Permite el uso de cristales de cuarzo conectados a las
patitas OSC1 y OSC2.

M
I
C
R
O
C
O
N
T
R
O
L
A
D
O
R
E
S

MODOS LP, XT y HS

MODO LP
Modo LP - (Baja potencia) se utiliza slo para
cristal de cuarzo de baja frecuencia.
Este modo est destinado para trabajar con
cristales de 32.768 KHz normalmente
embebidos en los relojes de cristal.
Es fcil de reconocerlos por sus dimensiones
pequeas y una forma cilndrica.
Al utilizar este modo el consumo de corriente
ser menor que en los dems modos.

MODO XT
Modo XT se utiliza para cristales de
cuarzo de frecuencias intermedias
hasta 8 MHz.
El consumo de corriente es media en
comparacin con los dems modos.

MODO HS
Modo HS - (Alta velocidad) se utiliza
para cristales de reloj de frecuencia
ms alta de 8 MHz.
Al utilizar este modo el consumo de
corriente ser mayor que en los
dems modos.

RESONADORES CERMICOS EN MODO XT O HS


Los resonadores cermicos son similares a los cristales de
cuarzo segn sus caractersticas, por lo que se conectan de
manera similar. A diferencia de los cristales de cuarzo, son
ms baratos y los osciladores que hacen uso de ellos son de
calidad ms baja. Se utilizan para las frecuencias de reloj
entre 100 kHz y 20 MHz.

OSCILADOR EXTERNO EN MODOS RC Y RCIO


El uso de los elementos para estabilizar la
frecuencia sin duda alguna tiene muchas
ventajas, pero a veces realmente no es necesario.
En la mayora de casos el oscilador puede
funcionar a frecuencias que no son precisamente
definidas, as que sera una prdida de dinero
embeber tales elementos.
La solucin ms simple y ms barata en estas
situaciones es utilizar una resistencia y un
capacitor para el funcionamiento del oscilador.
Hay dos modos: MODO RC y MODO RCIO.

MODO RC
Modo RC. Cuando el oscilador externo se
configura a funcionar en modo RC, el pin OSC1
debe estar conectado al circuito RC como se
muestra en la figura.
La seal de frecuencia del oscilador RC
dividida por 4 est disponible en el pin OSC2.
Esta seal se puede utilizar para la calibracin,
sincronizacin o para otros propsitos

MODO RC

MODO RCIO
Modo RCIO. De manera similar, el circuito RC est
conectado al pin OSC1. Esta vez, el pin OSC2 est
disponible para ser utilizado como pin de E/S de
propsito general.
La frecuencia de este oscilador se calcula por
medio de la frmula f = 1/T:
f = frecuencia [Hz];
T = R * C = constante de tiempo [s];
R = resistencia elctrica []; y
C = capacitancia del condensador [F].

MODO RCIO

RESUMEN MODOS RC EXTERNOS


Este modo soporta el uso de un circuito externo RC . Esto
permite flexiblidad en frecuencia manteniendo costos minimos
siempre que no se requiera exactitud y precision en frecuencia
de reloj.

M
I
C
R
O
C
O
N
T
R
O
L
A
D
O
R
E
S

SELECCIN DE MODOS RC EXTERNOS


(CONFIG1)
La seleccin del modo se lo hace mediante el
registro CONFIG1.
FOSC<2:0> = 111 seleciona modo RC, OSC2
salida de reloj Fosc/4, RC en patita OSC1.
FOSC <2:0>= 110 selecciona modo RCIO,
funcin de E/S en patita OSC2, RC en patita
OSC1.
OSC1 es patita RA7.
OSC2 es patita RA6.

FOSC<2:0>
EN REGISTRO CONFIG1
FOSC<2:0>: Oscillator Selection bits
111 = RC oscillator: CLKOUT function on
RA6/OSC2/CLKOUT pin, RC on RA7/OSC1/CLKIN
110 = RCIO oscillator: I/O function on
RA6/OSC2/CLKOUT pin, RC on RA7/OSC1/CLKIN
101 = INTOSC oscillator: CLKOUT function on
RA6/OSC2/CLKOUT pin, I/O function on
RA7/OSC1/CLKIN
100 = INTOSCIO oscillator: I/O function on
RA6/OSC2/CLKOUT pin, I/O function on
RA7/OSC1/CLKIN

FOSC<2:0>
EN REGISTRO CONFIG1
FOSC<2:0>: Oscillator Selection bits
011 = EC: I/O function on RA6/OSC2/CLKOUT pin,
CLKIN on RA7/OSC1/CLKIN
010 = HS oscillator: High-speed crystal/resonator
on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN
001 = XT oscillator: Crystal/resonator on
RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN
000 = LP oscillator: Low-power crystal on
RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN

CONFIGURACIN DEL OSCILADOR INTERNO


(dos circuitos separados)
HFINTOSC est conectado al post-escalador (divisor de frecuencias).
Est calibrado de fbrica y funciona a 8 Mhz. Al utilizar el postescalador, este oscilador puede producir una seal de reloj a una de
siete frecuencias. La seleccin de frecuencia se realiza dentro del
software utilizando los bits IRCF2, IRCF1 y IRCF0 del registro
OSCCON.
El HFINTOSC est habilitado al seleccionar una de siete frecuencias
(entre 8 Mhz y 125 kHz) y poner a uno el bit de la fuente de reloj
del sistema (SCS) del registro OSCCON.
Como se muestra en la siguiente figura , todo el procedimiento se
realiza por medio de los bits del registro OSCCON.
LFINTOSC funciona a 31 kHz. Est habilitado al seleccionar la
frecuencia (bits del registro OSCCON) y poner a uno el bit SCS del
mismo registro.

CONFIGURACIN DEL OSCILADOR INTERNO


(dos circuitos separados)

EL bit de estado OSTS


El bit de estado OSTS del registro OSCCON indica
si el sistema de reloj esta funcionando con reloj
externo o con reloj interno.
OSTS=0 reloj interno
OSTS=1 reloj externo cuyo tipo se define con los
bits FOSC<2:0> en CONFIG1
En particular, OSTS=1 indica que el oscilador OST
acaba de desbordar los 1024 pulsos.
El oscilador OST se habilita solamente con los
modos LP, XT y HS.

MODO DE ARRANQUE CON DOS VELOCIDADES DE


RELOJ
(cambio automtico de velocidad)
El modo de arranque con dos velocidades reduce el consumo de energia
minimizando el retardo que se genera entre el arranque del oscilador
externo y el reinicio de la ejecucion de instrucciones.
En aplicaciones donde se hace un uso frecuente del modo SLEEP, el
arranque con dos velocidades remueve el tiempo de arranque del
oscilador externo reduciendo as el consumo de energia.
En este modo cuando el PIC se despierta, ejecuta unas pocas
instrucciones usando un oscilador interno como fuente de reloj y regresa
al modo SLEEP sin esperar a que el oscilador externo se estabilice.
Ejecutando la instruccin SLEEP hace que el bit de estado OSTS del
registro OSCCON permanezca encerado, es decir aborta el retardo
implementado por el oscilador OST (retardo=1024 periodos de Fosc).

MODO CAMBIO AUTOMTICO DE VELOCIDAD DE RELOJ


(TWO-SPEED START-UP MODE)

Cuando el sistema de reloj se configura en modo LP, XT


o HS el oscilador de arranque OST se habilita
automticamente.
El oscilador OST suspende la ejecucin de instrucciones
hasta completar 1024 pulsos.
En modo TWO-SPEED START-UP MODE inicia
operacin con reloj interno a medida que el oscilador
OST cuenta.
Si se permite que el oscilador OST cuente hasta 1024
pulsos, entonces se enciende el bit OSTS del registro
OSCCON, ejecutando el cambio a reloj externo.

MODO CAMBIO AUTOMTICO DE VELOCIDAD DE RELOJ


(TWO-SPEED CLOCK START-UP MODE)

Si el sistema de reloj se configura con una


fuente distinta de LP, XT y HS, entonces el
arranque con dos velocidades se deshabilita.
Esto es porque el reloj externo seleccionado
no requiere ningn tiempo de estabilizacin
despus de POR o al salir del estado SLEEP..

CONFIGURACION DEL CAMBIO


AUTOMATICO DE VELOCIDAD
Este modo se configura seteando:
Bit IESO=1 en registro CONFIG1. Habilita el
modo de cambio automtico de velocidad.
SCS=0 en registro OSCCON. Selecciona reloj
externo.
FOSC <2:0> en registro CONFIG1. Configura
modo LP, XP o HS.

ENTRADA AL MODO DE DOS


VELOCIDADES
Al modo de dos velocidades se entra:
Despus del RESET de encendido (POR).
Si esta habilitado, despus que expira el timer
PWRT (62 milisegundos)
Al salir del estado de bajo consumo de energa
(modo SLEEP).

TWO-SPEED START-UP
SEQUENCE
1. Despertar de modo SLEEP o de POR.
2. Las instrucciones se ejecutan con reloj interno con
frecuencia dada por los bits IRCF<2:0> del registro
OSCCON.
3. OST habilitado para contar 1024 ciclos de reloj.
4. OST expira, espera por flanco negativo del reloj interno.
5. La bandera de estado OSTS se enciende.
6. El reloj del sistema se congela en bajo hasta el prximo
flanco negativo del nuevo reloj (modo LP, XT HS).
7. El reloj del sistema cambia a fuente externa.

EL REGISTRO OSCTUNE
El HFINTOSC es calibrado en fbrica pero puede
ajustarse mediante programa escribiendo en el
registro OSCTUNE.

EL REGISTRO OSCTUNE
Los cambios del registro OSCTUNE
afectan a la frecuencia del oscilador
HFINTOSC, pero no a la frecuencia
del LFINTOSC.

TUN4 - TUN0 Frequency Tuning bits.


TUN4 TUN0 son 5 bits para calibrar frecuencia.
De este modo, las frecuencias obtenidas por la
divisin en el post-escalador tambin cambian.
El valor por defecto de OSCTUNE es cero 0,
frecuencia calibrada en fabrica (8 MHz).
Cuando se modifica OSCTUNE, el HFINTOSC
comenzara su desplazamiento a la nueva
frecuencia.
No hay ninguna indicacin de que haya ocurrido
desplazamiento de frecuencia durante el
funcionamiento del microcontrolador.

MONITOR PARA DETECTAR UN FALLO


DE LA FUENTE DE RELOJ EXTERNA

MONITOR PARA DETECTAR UN FALLO DE LA FUENTE


DE RELOJ (FAIL-SAFE CLOCK MONITOR)

El FSCM permite al PIC continuar operando en el


caso de que el oscilador externo falle por alguna
razn.
El FSCM puede detectar una falla en cualquier
instante despus que el oscilador OST ha
expirado (1024 Tosc).
El FSCM se habilita seteando el bit FCMEN en
CONFIG1.
El FSCM funciona con todos los osciladores
externos (LP, XT,HS, EC, RC y RCIO).

DETECCION SEGURA DE LA FALLA


El FSCM detecta la falla comparando el oscilador externo
con una muestra de reloj interno.
La muestra de reloj interno se genera dividiendo LFINTOSC
para 64. Ver figura.
Formando parte del detector se tiene un latch.
El reloj externo enciende el latch con cada flanco negativo.
La muestra de reloj interno encera el latch con cada flanco
positivo.
Una falla se detecta cuando transcurre medio ciclo
entero de la muetra de reloj interno antes del flanco
negativo del reloj externo que setea el latch.

DIAGRAMA DE BLOQUES DEL FSCM

OPERACION SEGURA DEL PIC


Cuando falla el reloj externo, el FSCM cambia el reloj
externo con un reloj interno, y setea la bandera OSFIF
en registro PIR2.
Seteando OSFIF generar una interrupcin siempre que
el bit OSFIE de PIE2 se encuentre tambin seteada.
El reloj interno sigue siendo la fuente del reloj del
sistema hasta que el dispositivo reinicie con xito el
oscilador externo que vuelve a ser la fuente de reloj del
sistema.
El reloj interno escogido por el FSCM queda
determinado por los bits IRCF<2:0> del registro
OSCCON.

Вам также может понравиться