Vous êtes sur la page 1sur 10

ARQUITECTURA DE LOS MICROCONTROLADORES Memoria de Programa La memoria e programa se organiza en pginas.

En los PIC de gama media puede haber hasta 4 pginas de 2k palabras cada una. La capacidad de la memoria puede llegar a ser 8k palabras. Las palabras de estos PIC son de 14 bits. La figura 1 muestra como se organiza esta memoria. En la pgina 0, la direccin 0h est reservada al reset, mientras que la direccin 4h se reserva para el vector de interrupciones.

La figura 1: Paginado de la memoria de programa en los microcontroladores PIC de gama media. Direccionamiento de la memoria de programa El contador de programa (PC: Program Counter) es el registro del microcontrolador cuya funcion es direccionar la memoria de programa. El PC alamcena direcciones de instrucciones,es decir en el PC apunta a la instruccin del programa que se ejecutara a continuacion de la instruccin actual.

Memoria EEPROM Los microcontroladores PIC de gama media que utilizan memoria de programa FLASH ofrecen hasta un mximo de 256 bytes de memoria no voltil de datos o memoria EEPROM de datos. Esta memoria se encuentra en un espacio separado de la memoria RAM de datos y se accede a ella a travs de algunos registros de funciones especiales, los mismos que utilizan para leer y escribir en la memoria FLASH de programa.

Registro Funcin EEADR Contiene la direccin del dato (8 bits) EEDATA Contiene el dato (8 bits) EECON1 Control EECON2 Tabla1: registros de funciones especiales utilizados en el manejo de la memoria EEPROM de datos. El procedimiento para leer un dato almacenado en la memoria EEPROM de datos e el siguiente: 1. Colocar la direccin de la celda de memoria en EEADR. 2. Poner el bit EEPGD del registro EECON1 a 0 para indicar que se accedera a la memoria EEPROM de datos y no a la memoria de programa. 3. Poner el bit RD del registro EECON1 a1, con esto se indica la lectura. El dato estar disponible en el registro EEDATA en el siguiente ciclo de instruccin. 4. Al completarse la operacin de lectura, el bit RD se pone automticamente a 0. Adems el bit EEIF del registro PIR2 se pone a 1, indicando el fin de la operacin de lectura. Ejemplo: A continuacin se muestra el listado de un segmento de programa que ilustra el procedimiento para leer un dato en la memoria EEPROM de datos de un PIC16F873. bsf bcf movf movwf bsf bcf bsf bcf movf STATUS,RP1 STATUS,RP0 DIREC,W EEADR STATUS,RP0 EECON1,EEPGD EECON1,RD STATUS,RP0 EEDATA,W ; Selecciona el banco 2 ; La direccin de la EEPROM esta en DIREC ; Se coloca en EEADR ; Seleccionar el banco 3 ; Seleccionar memoria e datos ; Comenzar la lectura ; Seleccionar banco 1 pues el dato est listo ; En EEDATA. Moverlo a W

Circuitos y fuentes de reset El reset de un microcontrolador hace que el dispositivo vaya a un estado conocido. Mientras se est transitoriamente en estado de reset, el dispositivo est virtualmente detenido, es decir no se ejecuta ninguna instruccin del programa. Cuando sale del estado de reset, el dispositivo va a un estado conocido. El reset en los microcontroladores PIC se pueden producir por diferentes causas denominadas fuentes de reset: 1. Reset externo. Ocurre cuando se pone a 0 el terminal MCLR#. Este terminal debe estar a 1 durante el funcionamiento normal del PIC. El reset externo puede ocurrir durante el funcionamiento normal del PIC o mientras el PIC est en modo de bajo consumo (modo SLEEP). En ambos casos, cuando el PIC sale del estado de reset ejecuta la instruccin situada en la direccin de la memoria de programa. A este terminal se puede conectar un interruptor para producir un reset manual.

Figura1: Circuito reset manual en un microcontrolador 2. Reset por encendido (POR: Power-on Reset). Ocurre si se conecta el terminal MCLR# al terminal VDD de alimentacin del PIC. El PIC detecta la aparicin de tensin de alimentacin VDD (flanco de subida en VDD) provocando con ello un reset de garantiza el correcto inico del trabajo del PIC. Si la fuente de alimentacin tiene un tiempo de establecimiento elevado, hay que garantizar que la tensin en el terminal MCLR# permanezca por debajo del umbral hasta que V alcance un valor adecuado.

Figura 2: (a) Circuito para garantizar el reset por encendido: los terminales MCLR# y VDD se pueden unir directamente o mediante una resistencia. (b) Circuito para el reset por encendido si la fuente de alimentacin tiene un tiempo de establecimiento elevado.

3. Reset por desbordamiento del perro guardin. Ocurre cuando se desborda el temporizador denominado perro guardia (WDT: Watchdog Timer). El desbordamiento se produce si desde el programa que est ejecutando el PIC no se borra a tiempo el resultado del conteo que realiza este temporizador. El reset por desbordamiento del perro guardin puede ocurrir durante el funcionamiento normal del PIC. Si el WDT se desborda mientras el PIC est e el modo de bajo consumo del PIC sale de dicho modo, pero no se produce un reset.

Figura 3: Diagrama de bloques del perro guardin en un PIC de gama media. 4. Reset por fallo de la alimentacin (BOR: Brown-out Reset)

Ocurre cuando hay una disminucin brusca y transitoria de la tensin de alimentacin. El PIC incluye un circuito que produce un reset en esta condiciones y mantiene dicho estado mientras la tensin de alimentacin VDD est por debajo de un cierto umbral. Cuando VDD se recupera, es estado de reset se mantiene durante un tiempo adicional de unos 72 ms proporcionado por el temporizador PWRT. De esta forma se garantizara que el oscilador principal y VDD estn en sus valores nominales cuando se salga del estado de reset.

Figura 4: comportamiento del reset por fallo de la alimentacin en varias situaciones. El temporizador PWRT garantizar que V este en su valor nominal cuando se salga del estado de reset.

Lneas de E/S, especificaciones tcnicas fundamentales

Vous aimerez peut-être aussi