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