tema 17 reinicialización ó reset t-17

Anuncio
TEMA 17
REINICIALIZACIÓN
Ó RESET
T-17
.
1. Introducción
• El reset en cualquier µprocesador o µcontrolador,
provoca que la mayoría de los recursos que poseen,
tomen un estado determinado, además el programa
pasa
a
ejecutarse
desde
una
dirección
predeterminada.
• En los microcontroladores existe un terminal para
reinicializar el funcionamiento del sistema cada vez
que se haga preciso.
• En particular, en los PIC este terminal recibe el
nombre de MCLR (Master CLeaR) siendo activo a
nivel bajo.
CCFF DPE MÓDULO DE PROYECTOS
2
1. Introducción
Las posibles causas que provocan un reset en un
PIC son:
™ Por conexión de la alimentación VDD (Power On
Reset POR). Se produce al detectarse la subida de
1.2 a 1.7 V.
™ Una acción en el terminal MCLR mientras el
circuito está en funcionamiento normal
™Una acción en el terminal MCLR mientras que el
circuito se encuentra en modo SLEEP.
CCFF DPE MÓDULO DE PROYECTOS
3
1. Introducción
™ Un desbordamiento del perro guardián (WDT)
mientras el circuito se encuentra en funcionamiento
normal.
™Un desbordamiento del perro guardián (WDT)
mientras el circuito se encuentra en modo SLEEP.
En el caso de provocar un reset al microcontrolador,
este carga en el PC el vector de reset, que es 0000h y
posiciona los registros SFR con los valores de la
tabla siguiente:
CCFF DPE MÓDULO DE PROYECTOS
4
1. Introducción
Final del modo sleep
Registro
Dirección
Power On
Reset
POR
MCLR reset durante:
Provocado por:
Modo normal
Desbordamiento WDT
Modo Sleep
Interrupción
W
—
xxxx xxxx
uuuu uuuu
uuuu uuuu
INDF
00h
---- ----
---- ----
--------
TMR0
01h
xxxx xxxx
uuuu uuuu
uuuuuuuu
PCL
02h
0000h
0000h
PC + 1(2)
STATUS
03h
0001 1xxx
000q quuu (3)
uuuq quuu(3)
FSR
04h
xxxx xxxx
uuuu uuuu
uuuu uuuu
CCFF DPE MÓDULO DE PROYECTOS
5
1. Introducción
Registro
Dirección
POR
MCLR
Fin del modo sleep
OPTION_
REG
81h
1111 1111
1111 1111
uuuu uuuu
PCL
82h
0000h
0000h
PC + 1
STATUS
83h
0001 1xxx
000q quuu(3)
uuuq quuu(3)
FSR
84h
xxxx xxxx
uuuu uuuu
uuuu uuuu
TRISA
85h
---1 1111
---1 1111
---u uuuu
TRISB
86h
1111 1111
1111 1111
uuuu uuuu
EECON1
88h
---0 x000
---0 q000
---0 uuuu
CCFF DPE MÓDULO DE PROYECTOS
6
1. Introducción
Registro
Dirección
POR
MCLR
Fin del modo sleep
EECON2
89h
---- ----
---- ----
---- ----
PCLATH
8Ah
---0 0000
---0 0000
---u uuuu
INTCON
8Bh
0000 000x
0000 000u
uuuu uuuu(1)
CCFF DPE MÓDULO DE PROYECTOS
7
1. Introducción
•Leyenda: u = no cambia, x = desconocido,
- = no implementado su lectura es '0'
•q = su valor depende de la condición del reset.
•Nota 1: uno o mas bits de INTCON pueden ser
modificados ( para despertar al µc).
•Nota 2: Cuando el µc es sacado de SLEEP por una
interrupción y el bit GIE está a 1, el PC es cargado
con el vector de interrupciones (0004h).
•Nota 3: La siguiente tabla lista el valor de reset para
cada condición específica:
CCFF DPE MÓDULO DE PROYECTOS
8
1. Introducción
PC
Condición
STATUS
Power-on Reset
000h
Reset MCLR durante una operación normal 000h
0001 1xxx
000u uuuu
MCLR Reset during SLEEP
000h
Reset por desbordamiento de WDT durante 000h
una operación normal
PC + 1
Desbordamiento de WDT durante SLEEP
PC + 1 (1)
Salir de SLEEP por interrupción
0001 0uuu
0000 1uuu
uuu0 0uuu
uuu1 0uuu
•Note 1: When the wake-up is due to an interrupt and the GIE bit
is set, the PC is loaded with the interrupt vector (0004h).
CCFF DPE MÓDULO DE PROYECTOS
9
1. Introducción
Valor de los bits TO y PD después de producirse un Reset
TO PD
Estado tras el reset
0
0
Fin del WDT en el modo SLEEP
0
1
Fin del WDT en el modo normal
1
0
MCLR se ha activado durante el modo SLEEP
1
1
Conexión de Vdd
U
U
MCLR se mantiene a “0”
Esquema Para La Generación
Interna Del Reset
CCFF DPE MÓDULO DE PROYECTOS
11
Diagrama De Bloques Del Reset
• En el anterior circuito, PWRT es el bit de activación
del temporizador “PoWeR up”, que es el bit 3 de la
palabra de configuración (pos. 2007h de la memoria
de programa).
Cuando está activada esta temporización, se produce
un retardo de 72 ms, que garantiza la estabilidad de
la tensión de alimentación.
• Por su parte el temporizador Oscillator Start up
Timer ( OST) da un retardo de 1024 periodos de
oscilación, que garantiza que el cristal de cuarzo o el
resonador cerámico están funcionamiento
correctamente.
CCFF DPE MÓDULO DE PROYECTOS
12
Diagrama De Bloques Del Reset
• Dicha temporización comienza al finalizar el retardo
generado por PWRT y es invocado solo para los
modos XT, LP y HS (tipo de osciador) y en los casos
de POR (power on reset) y salida del modo SLEEP.
• En la siguiente transparencia se da el cronograma
para 2 casos
CCFF DPE MÓDULO DE PROYECTOS
13
Diagrama De Bloques Del Reset
CCFF DPE MÓDULO DE PROYECTOS
14
Diagrama De Bloques Del Reset
• Cuando se hace preciso un reset externo, o se desea que
este se produzca para subidas lentas de la tensión de
alimentación, se puede usar el circuito de la figura,
donde R< 40KΩ, R1 deberá estar comprendido entre
100 ohmios y 1 KΩ
CCFF DPE MÓDULO DE PROYECTOS
15
Descargar