Sunteți pe pagina 1din 11

Memoria EEPROM interna de datos y programa

MEMORIA DE DATOS EEPROM Y MEMORIA DE PROGRAMA FLASH

Microcontroladores PIC

ATE-Universidad de Oviedo

Fernando Nuo Garca

Memoria EEPROM interna de datos y programa

Flash EEPROM de Programa

Microc. 16f873 16f874 16f876 16f877

Programa 4k 4k 8k 8k

Datos 128 128 256 256

EEPROM de datos
Microcontroladores PIC
ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Memorias EEPROM de datos y programa


Ambos tipos de memorias pueden ser ledas o escritas durante el funcionamiento normal del microcontrolador y en todo el margen de tensiones de alimentacin. La memoria de datos EEPROM no se encuentra en el mapa de memoria de los registros de RAM sino que se direcciona de manera indirecta mediante ciertos registros de funciones especiales: EECON1 EECON2 EEDATA EEDATH EEADR EEADRH

La memoria EEPROM de datos puede ser de hasta 256 bytes y se direcciona mediante el registro EEADR, los datos ledos/escritos se almacenan/sitan en el registro EEDATA La memoria de programa puede tener un tamao mximo de 8K x 14 bits, el direccionamiento se realiza con los registros EEADRH:EEADR (13 bits) y los datos se gestionan mediante los registros EEDATH:EEDATA (14 bits). La escritura de la EEPROM requiere de un tiempo que se controla mediante un temporizador interno que puede variar con la tensin o la temperatura.
Microcontroladores PIC
ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Registros de Control: EECON1 y EECON2

Microcontroladores PIC

ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Registros de control: EECON1 y EECON2


EECON1 es el registro que controla el acceso a la memoria EEPROM (datos y programa) EEPGD determina si el acceso es a memoria de datos o de programa RD y WR inician el proceso de lectura y escritura respectivamente, se ponen a 1 por software pero vuelven a 0 por hardware cuando finaliza el proceso WREN habilita las operaciones de escritura WRERR se activa si se interrumpe una escritura por un reset de MCLR o WDT Se dispone adems de un flag (EEIF) en el registro PIR2, que se activa cuando se ha completado una escritura. Debe ponerse a 0 por software. Se puede generar una interrupcin mediante una mscara particular (EEIE en PIE2) y las mscaras generales PEIE y GIE en INTCON EECON2 no es un registro fsico, se emplea nicamente en la secuencia de escritura de la memoria EEPROM para inicializar el proceso
Microcontroladores PIC 5

ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Lectura de la EEPROM de datos


Se debe situar la direccin en EEADR, poner a 0 el bit EEPGD y posteriormente poner a 1 el bit RD. El dato estar disponible en el siguiente ciclo de instruccin en el registro EEDATA, puede recogerse por tanto en este registro que lo retiene hasta la prxima lectura o escritura

EL BIT DE PROTECCIN DE LA MEMORIA DE DATOS PRESENTE EN LA PALABRA DE CONFIGURACIN NO AFECTA A LAS OPERACIONES DE LECTURA Y/O ESCRITURA INTERNA, SLO A OPERACIONES EXTERNAS
Microcontroladores PIC
ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Escritura de la EEPROM de datos


Se carga la direccin en EEADR Se carga el dato a escribir en EEDATA Se activa el bit EEPGD a 0 para acceder a la memoria de datos PASOS A DAR: Se escribe 0x55 y luego 0xAA en el registro EECON2 (sin interrupciones en esta secuencia) para iniciar la escritura La escritura debe estar habilitada (con WREN=1) Se inicia la escritura poniendo WR a 1 Cuando finaliza la escritura WR se pondr a 0. El flag EEIF se pondr a 1 Si durante una escritura se sita WREN a 0, la actual escritura no se ve afectada
Microcontroladores PIC
ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

PASOS A DAR:

Lectura de Flash EEPROM de Programa

Se debe situar la direccin en los registros EEADRH:EEADR, se debe poner a 1 el bit EEPGD y posteriormente poner a 1 el bit RD. El microcontrolador emplear los dos ciclos de instruccin siguientes para leer los 14 bits de la posicin que estarn disponibles en los dos registros EEDATH:EEDATA hasta que se efecte otra operacin de lectura o escritura.

Microcontroladores PIC

ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Escritura de Flash EEPROM de Programa


Una posicin de la memoria de programa puede escribirse slo si no pertenece a una zona de memoria protegida y el bit WRT de configuracin est a 1 Se carga la direccin en EEADRH:EEADR Se carga el dato en EEDATH:EEDATA Se activa el bit EEPGD a 1 Se escribe 0x55 y luego 0xAA en el registro EECON2 (sin interrupciones en esta secuencia) para iniciar la escritura Se inicia la escritura poniendo WR a 1 El micro detiene las operaciones internas durante los 2 ciclos de instruccin siguientes (se incluyen dos NOP) Cuando finaliza la escritura WR se pondr a 0. El flag EEIF se pondr a 1
Microcontroladores PIC
ATE-Universidad de Oviedo

Memoria EEPROM interna de datos y programa

Escritura de Flash EEPROM de Programa (II)


La posicin escrita en la memoria de programa, no precisa ser una instruccin vlida. Si el microcontrolador accede a una posicin que contiene 14 bits que no corresponden a una instruccin vlida del juego de instrucciones, se ejecutar una instruccin NOP La escritura en la memoria de programa detendr las operaciones internas hasta que finalice la operacin de escritura, no se podr acceder a la memoria de programa y por tanto no se ejecutar cdigo El acceso a la memoria de programa depende del estado de los bits de configuracin:

Microcontroladores PIC

ATE-Universidad de Oviedo

10

Memoria EEPROM interna de datos y programa

Registros asociados con la memoria EEPROM de datos y programas

Microcontroladores PIC

ATE-Universidad de Oviedo

11

S-ar putea să vă placă și