Está en la página 1de 3

3.

0 MEMORIA EEPROM DE DATOS


La memoria de datos EEPROM se puede leer y escribir durante el funcionamiento normal (rango
completo de VDD). Esta memoria no está mapeada directamente en el espacio de archivo de registro. En
cambio, se trata indirectamente a través de los registros de funciones especiales. Se utilizan cuatro SFR
para leer y escribir esta memoria. Estos registros son:
• EECON1
• EECON2 (no es un registro implementado físicamente)
• EEDATA
• EEADR
EEDATA contiene los datos de 8 bits para lectura / escritura, y EEADR contiene la dirección de la
ubicación EEPROM a la que se accede. Los dispositivos PIC16F84A tienen 64 bytes de EEPROM de
datos con un rango de direcciones de 0h a 3Fh.
La memoria de datos EEPROM permite la lectura y escritura de bytes. Una escritura de byte borra
automáticamente la ubicación y escribe los nuevos datos (borrar antes de escribir). La memoria de datos
EEPROM está clasificada para ciclos altos de borrado / escritura. El tiempo de escritura está controlado
por un temporizador en chip. El tiempo de escritura variará con el voltaje y la temperatura, así como de
un chip a otro. Consulte las especificaciones de CA para conocer los límites exactos.
Cuando el dispositivo está protegido por código, la CPU puede continuar leyendo y escribiendo la
memoria EEPROM de datos. El programador del dispositivo ya no puede acceder a esta memoria.
Se dispone de información adicional sobre la EEPROM de datos en el Manual de referencia de rango
medio de PICmicro ™ (DS33023).
3.1 Lectura de la memoria de datos EEPROM
Para leer una ubicación de la memoria de datos, el usuario debe escribir la dirección en el registro
EEADR y luego establecer el bit de control RD (EECON1 <0>). Los datos están disponibles, en el ciclo
siguiente, en el registro EEDATA; por lo tanto, se puede leer en la siguiente instrucción. EEDATA
mantendrá este valor hasta otra lectura o hasta que el usuario lo escriba (durante una operación de
escritura).

3.2 Escritura de la memoria de datos EEPROM


Para escribir una ubicación de datos EEPROM, el usuario primero debe escribir la dirección en el
registro EEADR y los datos en el registro EEDATA. Luego, el usuario debe seguir una secuencia
específica para iniciar la escritura de cada byte.

La escritura no se iniciará si la secuencia anterior no se sigue exactamente (escriba 55h en EECON2,


escriba AAh en EECON2, luego establezca el bit WR) para cada byte. Recomendamos encarecidamente
que las interrupciones se deshabiliten durante este segmento de código.
Además, el bit WREN en EECON1 debe establecerse para habilitar la escritura. Este mecanismo evita
escrituras accidentales en la EEPROM de datos debido a la ejecución errónea (inesperada) de código (es
decir, programas perdidos). El usuario debe mantener el bit WREN limpio en todo momento, excepto
cuando actualice EEPROM. El hardware no borra el bit WREN.
Después de que se haya iniciado una secuencia de escritura, borrar el bit WREN no afectará este ciclo de
escritura. El bit WR no podrá establecerse a menos que se establezca el bit WREN.
Al finalizar el ciclo de escritura, el bit WR se borra en el hardware y se establece el bit indicador de
interrupción de escritura completa de EE (EEIF). El usuario puede habilitar esta interrupción o sondear
este bit. EEIF debe borrarse mediante software.
3.3 Verificación de escritura
Dependiendo de la aplicación, una buena práctica de programación puede dictar que el valor escrito en
la EEPROM de datos debe verificarse (Ejemplo 3-3) con el valor deseado que se va a escribir. Esto debe
usarse en aplicaciones donde un bit EEPROM se estresará cerca del límite de especificación.
Generalmente, la falla de escritura de EEPROM será un bit que se escribió como un "0", pero se lee
como un "1" (debido a una fuga del bit).

También podría gustarte