24
* Pepe itrón itrón Jornadas MMIV Jornadas MMIV / 4-FLASH / / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24 de 24

* Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Embed Size (px)

Citation preview

Page 1: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

* Pepe

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 11 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24de 24

Page 2: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 22 © 2002 Microchip Technology Incorporated. All Rights Reserved.

FLASH y MICROCHIPFLASH y MICROCHIPFLASH y MICROCHIPFLASH y MICROCHIP

• Microchip ha estado suministrando memorias Microchip ha estado suministrando memorias EEPROM durante muchos años.EEPROM durante muchos años.– Actualmente se fabrican mas de 1 millón de piezas diarias.Actualmente se fabrican mas de 1 millón de piezas diarias.– La difusión se realiza en fábricas propias.La difusión se realiza en fábricas propias.

• Microchip es un líder de microcontroladores Microchip es un líder de microcontroladores de 8 de 8 bits en OTP (EPROM).bits en OTP (EPROM).

• Microchip suministra microcontroladores con Microchip suministra microcontroladores con memoria FLASH desde 1993 (PIC16C84).memoria FLASH desde 1993 (PIC16C84).

Page 3: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 33 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Porqué FLASHPorqué FLASHPorqué FLASHPorqué FLASH

• Diseño más flexible y amigable.Diseño más flexible y amigable.• Menor coste de dispositivos de desarrollo.Menor coste de dispositivos de desarrollo.• Desarrollo con dispositivos de producción Desarrollo con dispositivos de producción

incluyendo encapsulados SMD reusables.incluyendo encapsulados SMD reusables.• Menores tiempos de borrado.Menores tiempos de borrado.• Depuración sobre el circuito de aplicación.Depuración sobre el circuito de aplicación.• Menor inventario.Menor inventario.• Grabación y reprogramación en circuito.Grabación y reprogramación en circuito.• Autoverificación, ajuste y calibración.Autoverificación, ajuste y calibración.• Códigos de identificación y serialización.Códigos de identificación y serialización.• Reducción de costes de actualización.Reducción de costes de actualización.

Page 4: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 44 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Tecnología de memoria no volátilTecnología de memoria no volátilTecnología de memoria no volátilTecnología de memoria no volátil

• La memoria EEPROM actual es de 4ª generación.La memoria EEPROM actual es de 4ª generación.– La célula tiene 2 transistores FLOTOX La célula tiene 2 transistores FLOTOX Fowler-Nordheim Fowler-Nordheim

Tunneling para borrado y escritura.Tunneling para borrado y escritura.– Se fabrica con tecnología CMOS de 0,9 µm y 0,7 µm.Se fabrica con tecnología CMOS de 0,9 µm y 0,7 µm.– 80Å de grosor del óxido del tunel dieléctrico.80Å de grosor del óxido del tunel dieléctrico.

• La 5ª generación utiliza una célula con un único La 5ª generación utiliza una célula con un único transistor canal-P.transistor canal-P.– Más pequeña que la FLOTOX.Más pequeña que la FLOTOX.– Menor tensión de programación.Menor tensión de programación.– Mayor fiabilidad.Mayor fiabilidad.– Se fabrica con tecnología CMOS de 0,5 µm.Se fabrica con tecnología CMOS de 0,5 µm.– 80Å de grosor del tunel como anteriormente. 80Å de grosor del tunel como anteriormente.

Page 5: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 55 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16C77 PIC16C77 PIC16F77 PIC16F77 PIC16C77 PIC16C77 PIC16F77 PIC16F77

SSP

0.50.5µmµm0.50.5µmµm

0.90.9µmµm0.90.9µmµm

Page 6: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 66 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F877 PIC16F877APIC16F877 PIC16F877A PIC16F877 PIC16F877APIC16F877 PIC16F877A

0.70.7µmµm0.70.7µmµm

0.50.5µmµm0.50.5µmµm

Page 7: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 77 © 2002 Microchip Technology Incorporated. All Rights Reserved.

La nueva célula FLASHLa nueva célula FLASHLa nueva célula FLASHLa nueva célula FLASH

• Un único transistor por celda.Un único transistor por celda.• Area similar al de la célula ROM.Area similar al de la célula ROM.• Permite el diseño de microcontroladores con Permite el diseño de microcontroladores con

tamaños de memoria entre 1K y 128K Bytes.tamaños de memoria entre 1K y 128K Bytes.• Proceso compatible con EEPROM de datos.Proceso compatible con EEPROM de datos.• La tecnología de 0.5 µm minimiza el area utilizada La tecnología de 0.5 µm minimiza el area utilizada

con la consiguiente reducción de costes de con la consiguiente reducción de costes de producción.producción.

• Posibilidad de reducción de escala para futuros Posibilidad de reducción de escala para futuros procesos.procesos.

Page 8: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 88 © 2002 Microchip Technology Incorporated. All Rights Reserved.

ProgramaciónProgramaciónProgramaciónProgramación

• Célula no volátil de Célula no volátil de 4ª generación.4ª generación.– Tecnología de 0.7 µmTecnología de 0.7 µm

– Programación por palabrasProgramación por palabras

– 8 ms por ciclo.8 ms por ciclo.

• Célula no volátil de Célula no volátil de 5ª generación.5ª generación.– Tecnología de 0.5 µm.Tecnología de 0.5 µm.

– Programación por bloques.Programación por bloques.

– 1ms / 2ms por ciclo.1ms / 2ms por ciclo.

TecTec DeviceDevice Bl. BorradoBl. Borrado Prog. Exter.Prog. Exter. Prog. Inter.Prog. Inter.0.90.9 PIC16C77PIC16C77 - - - - - - - - - - ~2ms/ 1 Pal.2ms/ 1 Pal. - - - - - - - - - - 0.70.7 PIC16F877PIC16F877 1 Palabra 1 Palabra 8ms/ 1 Pal. 8ms/ 1 Pal. 8ms/1 Pal. 8ms/1 Pal.0.50.5 PIC16F77PIC16F77 Completo Completo 1ms/ 2 Pal. 1ms/ 2 Pal. - - - - - - - - - - 0.50.5 PIC16F877APIC16F877A 1 Palabra 1 Palabra 1ms/ 8 Pal. 1ms/ 8 Pal. 2ms/1 Pal. 2ms/1 Pal.0.50.5 PIC18F452PIC18F452 64 Bytes 64 Bytes 1ms/16 Pal. 1ms/16 Pal. 2ms/8 Bytes 2ms/8 Bytes0.50.5 PIC18F872PIC18F872 64 Bytes 64 Bytes 1ms/2x64 B. 1ms/2x64 B. 2ms/8 Bytes 2ms/8 Bytes0.50.5 PIC18FXXXPIC18FXXX 64 Bytes 64 Bytes 1ms/2x64xMod. 1ms/2x64xMod. 2ms/8 Bytes 2ms/8 Bytes

Page 9: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 99 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Comparación OTP, FLASH, EFLASHComparación OTP, FLASH, EFLASHComparación OTP, FLASH, EFLASHComparación OTP, FLASH, EFLASH

OTPOTP FLASHFLASHEnhancedEnhanced

FLASHFLASH

Tensión deTensión defuncionamientofuncionamiento 2.5-5.52.5-5.5 2.0-5.52.0-5.5 2.0-5.52.0-5.5

Datos EEPROMDatos EEPROM NoNo NoNo SiSi

Tensión deTensión deprogramaciónprogramación

12.5-13.5 Externo12.5-13.5 Externo5 V Vdd5 V Vdd

12.5-13.5 Externo12.5-13.5 Externo5 V Vdd5 V Vdd

EntireEntireVdd RangeVdd Range

Método de Método de programaciónprogramación ICSPICSP ICSPICSP ICSPICSP

Auto Auto programaciónprogramación NoNo NoNo SiSi

Depuracíón ICDDepuracíón ICD NoNo NoNo SiSi

Pulso de Pulso de programaciónprogramación 100 us100 us 1 ms1 ms 1 ms1 ms

Ciclos E/WCiclos E/W - - -- - -- - -- - -

- - -- - -100 Programa100 Programa

100K Datos100K Datos1K Programa1K Programa

Page 10: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1010 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Modos de programación de EFLASHModos de programación de EFLASHModos de programación de EFLASHModos de programación de EFLASH

Modo “High Voltage ICSPModo “High Voltage ICSPTM TM ”.”.– Se alimenta VSe alimenta VDDDD con 5 voltios. con 5 voltios.

– La tensión de programación (13V) se aplica al pin MCLR/VPP. La tensión de programación (13V) se aplica al pin MCLR/VPP.

– Los pines RB6 y RB7 se utilizan para CLK y DATA.Los pines RB6 y RB7 se utilizan para CLK y DATA.

– El procedimiento es similar al de muchos otros PICmicroEl procedimiento es similar al de muchos otros PICmicro®®..

Modo “Low Voltage ICSPModo “Low Voltage ICSPTM TM ”.”.– Se aplican 5V a los pines VSe aplican 5V a los pines VDDDD y MCLR/VPP. y MCLR/VPP.

– Se utiliza el pin RB3/PGM para entrar en modo programación.Se utiliza el pin RB3/PGM para entrar en modo programación.

– Los pines RB6 y RB7 se utilizan para CLK y DATA.Los pines RB6 y RB7 se utilizan para CLK y DATA.

Modo “Self Program”.Modo “Self Program”.– La ejecución de la aplicación, bajo las condiciones de operación La ejecución de la aplicación, bajo las condiciones de operación

(2.0V to 5.5 V), permite grabar en la memoria de programa un (2.0V to 5.5 V), permite grabar en la memoria de programa un nuevo contenido.nuevo contenido.

Page 11: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1111 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Modo Modo “High Voltage ICSP“High Voltage ICSPTM TM ” . . .” . . .Modo Modo “High Voltage ICSP“High Voltage ICSPTM TM ” . . .” . . .

• Inicialmente VDD y MCLR/VPP estarán a 0 Vcc.Inicialmente VDD y MCLR/VPP estarán a 0 Vcc.• Se alimenta poniendo +5 Vcc en VDD. Se alimenta poniendo +5 Vcc en VDD. • Se sube MCLR/VPP a la tensión de programación +13Vcc.Se sube MCLR/VPP a la tensión de programación +13Vcc.• EL PIC entra en el modo “High Voltage ICSPEL PIC entra en el modo “High Voltage ICSPTMTM”.”.• Los pines RB6 y RB7 se utilizan como reloj y datos para los Los pines RB6 y RB7 se utilizan como reloj y datos para los

comandos de programación serie.comandos de programación serie.• Se pueden realizar todas las operaciones de programación y Se pueden realizar todas las operaciones de programación y

configuración.configuración.• Sólamente en este modo es posible programar el bit LVP a Sólamente en este modo es posible programar el bit LVP a

‘0’. En este caso el pin RB3/PGM estará disponible como una ‘0’. En este caso el pin RB3/PGM estará disponible como una entrada/salida normal.entrada/salida normal.

• El modo “High Voltage ICSPEl modo “High Voltage ICSPTMTM” se puede utilizar siempre, ” se puede utilizar siempre, independientemente del estado del bit LVP.independientemente del estado del bit LVP.

Page 12: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1212 © 2002 Microchip Technology Incorporated. All Rights Reserved.

. . . Modo . . . Modo “High Voltage ICSP“High Voltage ICSPTM TM ””. . . Modo . . . Modo “High Voltage ICSP“High Voltage ICSPTM TM ””

RB6RB6

RB7RB7

VVDDDD

CLKCLK

DATADATA

13V13V

+5V+5V5V5V

MCLRMCLR

VVDDDD

VVPPPP

VVSSSS

Modo HV ICSP™ Modo HV ICSP™

PIC16F87XPIC16F87XPIC16F87XPIC16F87X

Page 13: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1313 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Modo Modo “Self Program”“Self Program”Modo Modo “Self Program”“Self Program”

• La ejecución normal de la aplicación permite:La ejecución normal de la aplicación permite:– Leer el contenido de la memoria de programa.Leer el contenido de la memoria de programa.– Escribir palabras siempre que esté habilitada la escritura.Escribir palabras siempre que esté habilitada la escritura.

• Aplicaciones:Aplicaciones:– Reprogramación remota de secciones de la aplicación.Reprogramación remota de secciones de la aplicación.– Revisiones de código y actualización de versiones.Revisiones de código y actualización de versiones.– Programas de test y ajuste en línea de producción.Programas de test y ajuste en línea de producción.– Verificación de integridad del programa (Checksums).Verificación de integridad del programa (Checksums).– Almacenamiento de datos, parámetros y constantes de Almacenamiento de datos, parámetros y constantes de

calibración en memoria de programa (14/16-bits).calibración en memoria de programa (14/16-bits).

• Librerías:Librerías:– Downloader Tech. Brief: TB025.Downloader Tech. Brief: TB025.– Memory Checksum Tech. Brief: TB026.Memory Checksum Tech. Brief: TB026.– Bootloader Application Note: AN732Bootloader Application Note: AN732

Page 14: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1414 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X EEPROM & FLASH . . .PIC16F87X EEPROM & FLASH . . .PIC16F87X EEPROM & FLASH . . .PIC16F87X EEPROM & FLASH . . .

• EEADR (0x10D)EEADR (0x10D)– Contiene la dirección de los datos en EEPROM.Contiene la dirección de los datos en EEPROM.– Contiene los 8 LSbs de la dirección de la memoria de Contiene los 8 LSbs de la dirección de la memoria de

programa FLASH.programa FLASH.

• EEADRH (0x10F)EEADRH (0x10F)– Se usa exclusivamente para contener los 5 MSbs de la Se usa exclusivamente para contener los 5 MSbs de la

dirección de la memoria de programa FLASH.dirección de la memoria de programa FLASH.

• EEDATA (0x10C)EEDATA (0x10C)– Contiene el byte de datos desde/hacia la EEPROM.Contiene el byte de datos desde/hacia la EEPROM.– Contiene los 8 LSbs de datos desde/hacia la memoria de Contiene los 8 LSbs de datos desde/hacia la memoria de

programa FLASH.programa FLASH.

• EEDATH (0x10E) EEDATH (0x10E) – Contiene los 6 MSbs de datos desde/hacia la memoria de Contiene los 6 MSbs de datos desde/hacia la memoria de

programa FLASH.programa FLASH.

Page 15: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1515 © 2002 Microchip Technology Incorporated. All Rights Reserved.

. . . PIC16F87X EEPROM & FLASH. . . PIC16F87X EEPROM & FLASH. . . PIC16F87X EEPROM & FLASH. . . PIC16F87X EEPROM & FLASH

• EECON1 (0x18C)EECON1 (0x18C)– Es el registro de los indicadores y permisos.Es el registro de los indicadores y permisos.

• EECON2 (0x18D)EECON2 (0x18D)– Es un registro inexistente, se lee siempre 0´s.Es un registro inexistente, se lee siempre 0´s.– Se utiliza exclusivamente para la secuencia del comando Se utiliza exclusivamente para la secuencia del comando

de escritura (escribiendo primero 0x55 y luego 0xAA).de escritura (escribiendo primero 0x55 y luego 0xAA).

• GrabaciónGrabación– El proceso es completamente automático.El proceso es completamente automático.– Se utiliza el oscilador interno RC como reloj motor de la Se utiliza el oscilador interno RC como reloj motor de la

secuencia.secuencia.– El éxito de la operación no está garantizado, por lo que es El éxito de la operación no está garantizado, por lo que es

imperativa la verificación mediante un ciclo de lectura.imperativa la verificación mediante un ciclo de lectura.

Page 16: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1616 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X EEPROM & FLASHPIC16F87X EEPROM & FLASHDiagramaDiagrama

PIC16F87X EEPROM & FLASHPIC16F87X EEPROM & FLASHDiagramaDiagrama

S. F. R.S. F. R.

FLASH Program FLASH Program MemoryMemory

8K X 148K X 14

256 X 8256 X 8DataData

EEPROMEEPROMMemoryMemory

EEADRH EEADR EEADRH EEADR

EEDATH EEDATAEEDATH EEDATA

EECON1EECON1

EECON2EECON2

1313

88

881414

Page 17: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1717 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Lectura EEPROMPIC16F87X Lectura EEPROMPIC16F87X Lectura EEPROMPIC16F87X Lectura EEPROM

• Se escribe la dirección que se desea leer en el Se escribe la dirección que se desea leer en el registro EEADR.registro EEADR.

• Se borra (0) el bit EEPGD (EECON1<7>) para Se borra (0) el bit EEPGD (EECON1<7>) para seleccionar la memoria de datos EEPROM.seleccionar la memoria de datos EEPROM.

• Se pone (1) el bit RD (EECON1<0>).Se pone (1) el bit RD (EECON1<0>).• El dato estará disponible en el registro EEDATA El dato estará disponible en el registro EEDATA

en la siguiente instrucción.en la siguiente instrucción.

Page 18: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1818 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Programa paraPIC16F87X Programa paralectura EEPROMlectura EEPROM

PIC16F87X Programa paraPIC16F87X Programa paralectura EEPROMlectura EEPROM

. .

BSF STATUS,RP1 BSF STATUS,RP1

BCF STATUS,RP0 BCF STATUS,RP0

MOVF ADDRESS,W MOVF ADDRESS,W

MOVWF EEADR MOVWF EEADR

. .

BSF STATUS,RP0 BSF STATUS,RP0 BCF EECON1,EEPGD BCF EECON1,EEPGD BSF EECON1,RD BSF EECON1,RD BCF STATUS,RP0 BCF STATUS,RP0 MOVF EEDATA,W MOVF EEDATA,W MOVWF VALUE MOVWF VALUE

Page 19: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 1919 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Escritura EEPROMPIC16F87X Escritura EEPROMPIC16F87X Escritura EEPROMPIC16F87X Escritura EEPROM

• Escribir la dirección en EEADR.Escribir la dirección en EEADR.• Escribir el dato deseado en EEDATA.Escribir el dato deseado en EEDATA.• Se borra (0) el bit EEPGD (EECON1<7>) para seleccionar la Se borra (0) el bit EEPGD (EECON1<7>) para seleccionar la

memoria de datos EEPROM.memoria de datos EEPROM.• El bit WREN (EECON1<2>) debe de estar a 1.El bit WREN (EECON1<2>) debe de estar a 1.• Deshabilitar todas las interrupciones.Deshabilitar todas las interrupciones.• Escribir 0x55 seguido de 0xAA en EECON2.Escribir 0x55 seguido de 0xAA en EECON2.• Poner el bit WR (EECON1<1>) a 1.Poner el bit WR (EECON1<1>) a 1.• Se borra (0) el bit WREN para impedir escrituras espúreas.Se borra (0) el bit WREN para impedir escrituras espúreas.• Se pueden rehabilitar las interrupciones.Se pueden rehabilitar las interrupciones.• Cuando el proceso automático de grabación termine, lo Cuando el proceso automático de grabación termine, lo

indicará borrando el bit WR (EECON<1>) y poniendo el bit indicará borrando el bit WR (EECON<1>) y poniendo el bit EEIF a 1.EEIF a 1.

Page 20: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 2020 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Programa paraPIC16F87X Programa paraescritura EEPROMescritura EEPROM

PIC16F87X Programa paraPIC16F87X Programa paraescritura EEPROMescritura EEPROM

. .

BSF STATUS,RP1 BSF STATUS,RP1

BCF STATUS,RP0 BCF STATUS,RP0

MOVF ADDRESS,W MOVF ADDRESS,W

MOVWF EEADR MOVWF EEADR

MOVF VALUE,W MOVF VALUE,W

MOVWF EEDATA MOVWF EEDATA

. .

BSF STATUS,RP0 BSF STATUS,RP0 BCF EECON1,EEPGD BCF EECON1,EEPGD BSF EECON1,WREN BSF EECON1,WREN BCF INTCON,GIE BCF INTCON,GIE MOVLW 0x55 MOVLW 0x55 MOVWF EECON2 MOVWF EECON2 MOVLW 0xAA MOVLW 0xAA MOVWF EECON2 MOVWF EECON2 BSF EECON1,WR BSF EECON1,WR BSF INTCON,GIE BSF INTCON,GIE BCF EECON1,WREN BCF EECON1,WREN

Page 21: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 2121 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Lectura FLASHPIC16F87X Lectura FLASHPIC16F87X Lectura FLASHPIC16F87X Lectura FLASH

• Escribir los 8 LSbs de la dirección deseada en Escribir los 8 LSbs de la dirección deseada en EEADR.EEADR.

• Escribir los 5 MSbs de la dirección deseada en Escribir los 5 MSbs de la dirección deseada en EEADRH.EEADRH.

• Se pone (1) el bit EEPGD (EECON1<7>) para Se pone (1) el bit EEPGD (EECON1<7>) para acceder a la memoria de programa FLASH.acceder a la memoria de programa FLASH.

• Se pone (1) el bit RD (EECON1<0>).Se pone (1) el bit RD (EECON1<0>).• Las dos instrucciones siguientes deberán ser Las dos instrucciones siguientes deberán ser

NOPs.NOPs.• Los 14 bit estarán disponibles en los registros Los 14 bit estarán disponibles en los registros

EEDATH:EEDATA trás los dos NOPs.EEDATH:EEDATA trás los dos NOPs.

Page 22: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 2222 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Programa paraPIC16F87X Programa paralectura FLASHlectura FLASH

PIC16F87X Programa paraPIC16F87X Programa paralectura FLASHlectura FLASH

. .

BSF STATUS,RP1 BSF STATUS,RP1

BCF STATUS,RP0 BCF STATUS,RP0

MOVF ADDR_H,W MOVF ADDR_H,W

MOVWF EEADRH MOVWF EEADRH

MOVF ADDR_L,W MOVF ADDR_L,W

MOVWF EEADR MOVWF EEADR

. .

BSF STATUS,RP0 BSF STATUS,RP0 BSF EECON1,EEPGD BSF EECON1,EEPGD BSF EECON1,RD BSF EECON1,RD NOP NOP NOP NOP BCF STATUS,RP0 BCF STATUS,RP0 MOVF EEDATA,W MOVF EEDATA,W MOVWF DATA_L MOVWF DATA_L MOVF EEDATH,W MOVF EEDATH,W MOVWF DATA_H MOVWF DATA_H

Page 23: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 2323 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Escritura FLASHPIC16F87X Escritura FLASHPIC16F87X Escritura FLASHPIC16F87X Escritura FLASH

• Escribir la dirección deseada en EEADRH:EEADR.Escribir la dirección deseada en EEADRH:EEADR.• Escribir los datos en EEDATAH:EEDATA.Escribir los datos en EEDATAH:EEDATA.• Se pone (1) el bit EEPGD (EECON1<7>) para acceder a la Se pone (1) el bit EEPGD (EECON1<7>) para acceder a la

memoria de programa FLASH.memoria de programa FLASH.• El bit WREN (EECON1<2>) debe de estar a 1.El bit WREN (EECON1<2>) debe de estar a 1.• Deshabilitar todas las interrupciones.Deshabilitar todas las interrupciones.• Escribir 0x55 seguido de 0xAA en EECON2.Escribir 0x55 seguido de 0xAA en EECON2.• Poner el bit WR (EECON1<1>) a 1.Poner el bit WR (EECON1<1>) a 1.• Las dos instrucciones siguientes deberán ser NOPs.Las dos instrucciones siguientes deberán ser NOPs.• La CPU entra en HALT mientras se graba la memoria La CPU entra en HALT mientras se graba la memoria

FLASH. El oscilador principal continuará oscilando y los FLASH. El oscilador principal continuará oscilando y los periféricos funcionarán de forma autónoma.periféricos funcionarán de forma autónoma.

• Cuando la grabación termine, se reanudará la ejecución del Cuando la grabación termine, se reanudará la ejecución del programa con la siguiente instrucción trás los dos NOPs.programa con la siguiente instrucción trás los dos NOPs.

Page 24: * Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 4-FLASH / / 4-FLASH / 2424 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PIC16F87X Programa paraPIC16F87X Programa paraescritura FLASHescritura FLASH

PIC16F87X Programa paraPIC16F87X Programa paraescritura FLASHescritura FLASH

. .

BSF STATUS,RP1 BSF STATUS,RP1

BCF STATUS,RP0 BCF STATUS,RP0

MOVF ADDR_H,W MOVF ADDR_H,W

MOVWF EEADRH MOVWF EEADRH

MOVF ADDR_L,W MOVF ADDR_L,W

MOVWF EEADR MOVWF EEADR

MOVF DATA_H,W MOVF DATA_H,W

MOVWF EEDATH MOVWF EEDATH

MOVF DATA_L,W MOVF DATA_L,W

MOVWF EEDATA MOVWF EEDATA

. .

BSF STATUS,RP0 BSF STATUS,RP0 BSF EECON1,EEPGD BSF EECON1,EEPGD BSF EECON1,WREN BSF EECON1,WREN BCF INTCON,GIE BCF INTCON,GIE MOVLW 0x55 MOVLW 0x55 MOVWF EECON2 MOVWF EECON2 MOVLW 0xAA MOVLW 0xAA MOVWF EECON2 MOVWF EECON2 BSF EECON1,WR BSF EECON1,WR NOP NOP NOP NOP BSF INTCON,GIE BSF INTCON,GIE BCF EECON1,WREN BCF EECON1,WREN