|
Programación de la memoria FLASH |
|
A: Cargue la orden "Escribir la FLASH"
- Ponga XA1, XA0 a "10". Esto habilita la carga de la orden.
- ponga BS a "0."
- Ponga el dato a "0001 0000". Ésta es la orden para escribir la FLASH
- Dé un pulso positivo a XTAL1.
B: Cargue la dirección del byte alto
- Ponga XA1, XA0 a "00". Esto habilita la carga de la dirección.
- Ponga BS a "1". Esto selecciona el byte alto.
- Ponga el dato = Dirección del byte alto ($00 - $0F).
- Dé un pulso positivo a XTAL1. Esto carga la dirección del byte alto.
C: Cargue la dirección del Byte Bajo
- Ponga XA1, XA0 a "00". Esto habilita la carga de la dirección.
- Ponga BS a "0". Esto selecciona el byte bajo.
- Ponga el dato = Dirección del byte bajo ($00 - $FF).
- Dé un pulso positivo a XTAL1. Esto carga la dirección del byte bajo.
D: Cargue el byte bajo del dato
- Ponga XA1, XA0 a "01". Esto habilita la carga del dato.
- Ponga el dato = Byte bajo del dato ($00 - $FF).
- Dé un pulso positivo a XTAL1. Esto carga los datos del byte bajo.
E: Escriba el byte bajo del dato
- Ponga BS a "0". Esto selecciona la parte baja del dato.
- Dé un pulso negativo a WR'. Esto empieza la programación del byte de dato. RDY/BSY '
está a nivel bajo.
- Espere hasta que RDY/BSY ' esté a nivel alto para programar el próximo byte.
(Observe la siguiente figura A para ver las formas de onda señaladas.)
F: Cargue el byte alto del dato
- Ponga XA1, XA0 a "01". Esto habilita la carga de los datos.
- Ponga el dato = Byte alto del dato ($00 - $FF).
- Dé un pulso positivo a XTAL1. Esto carga el byte alto del dato.
G: Escriba el byte alto del dato
- Ponga BS a "1". Esto selecciona la parte alta del dato.
- Dé un pulso negativo a WR'. Esto empieza la programación del byte de datos. RDY/BSY '
está a nivel bajo.
- Espere hasta que RDY/BSY ' esté a nivel alto para programar el próximo byte.
(Observe la siguiente figura B para ver las formas de onda señaladas.)
Se retienen la orden y la dirección cargadas en el dispositivo durante
la programación. Para una programación eficaz debe ser considerado lo siguiente :
La orden sólo necesita ser cargada una vez al escribir o leer
múltiples posiciones de memoria.
El byte alto de la dirección sólo necesita ser cargado antes de
programar una nueva página de 256-word en la FLASH.
Pase por alto escribiendo el valor del dato $FF, es decir, el
contenido de la FLASH entera y EEPROM después del borrado del Chip.
Estas consideraciones también se aplican a la programación de la
EEPROM y lectura de la FLASH, EEPROM y del byte de firma. |
|

|
|
Figura A. Formas de onda
de la programación de la FLASH |
|

|
|
Figura B. Formas de onda
de la programación de la FLASH |
|
Lectura de la memoria FLASH |
|
El algoritmo para leer la memoria FLASH es como sigue
(Vaya a la Programación de la FLASH para ver los detalles de la carga de ordenes y
direcciones):
- A: Cargue la orden "0000 0010".
- B: Cargue la dirección del byte alto ($00 - $0F).
- C: Cargue la dirección del byte bajo ($00 - $FF).
- Ponga OE' a "0" y BS a "0". El byte bajo de la palabra de FLASH
puede leerse ahora del dato.
- Ponga BS a "1". El byte alto de la palabra de FLASH puede leerse ahora del
dato.
- Ponga OE' a "1."
|
|
Programación de la EEPROM |
|
El algoritmo de la programación para la memoria de
datos EEPROM es como sigue (Vaya a la Programación de la FLASH para ver los detalles de
la carga de ordenes, direcciones y datos):
- A: Cargue la orden "0001 0001."
- B: Cargue la dirección del byte alto ($00 - $01).
- C: Cargue la dirección del byte bajo ($00 - $FF).
- D: Cargue el byte bajo del dato ($00 - $FF).
- E: Escriba el byte bajo del dato.
|
|
Lectura de la memoria EEPROM |
|
El algoritmo para leer la memoria EEPROM es como sigue
(Vaya a la Programación de la FLASH para los detalles de la carga de las ordenes y
direcciones):
- A: Cargue la orden "0000 0011."
- B: Cargue la dirección del byte alto ($00 - $01).
- C: Cargue la dirección del byte bajo ($00 - $FF).
- Ponga OE' a "0" y BS a "0". El byte del dato de la EEPROM puede
leerse ahora del dato.
- Ponga OE' a "1."
|
|
Programación de los bits de Fusible |
|
El algoritmo para programar los bits de Fusible es
como sigue (Vaya a la Programación de la FLASH para los detalles de la carga de las
ordenes y datos):
- A: Cargue la orden "0100 0000."
D: Cargue el byte bajo del dato. Bit n = "0" programar y
bit n = "1" borra el bit de Fusible.
- Bit 5 = Bit de Fusible SPIEN
- Bit 0 = Bit de Fusible FSTRT
- Bit 7-6, 4-1 = "1". Estos bits son reservados y no deben ser programados
Dé un pulso negativo de tWLWH_PFB de ancho (entre 1.0 y
1.8 ms. Valor típico de 1.5 ms) a WR' para ejecutar la programación. La programación de
los bits de Fusible no genera ninguna actividad en el pin RDY/BSY '.
|
|
Programación de los bits llave (Cerradura) |
|
El algoritmo para programar los bit llave es como
sigue (Vaya a la Programación de la FLASH para los detalles de la carga de las ordenes y
datos):
- A: Cargue la orden "0010 0000."
- D: Cargue el byte bajo del dato. Bit n = "0" programar el bit llave
(cerradura).
- Bit 2 = Bit llave 2
- Bit 1 = Bit llave 1
- Bit 7 - 3, 0 = "1". Estos bits son reservados y no deben ser programados
- E: Escriba el byte bajo del dato.
Los bits llave sólo pueden ser borrados ejecutando el borrado del Chip. |
|
Lectura de los bit de Fusible y llave
(cerradura) |
|
El algoritmo para leer los bit de Fusible y llave
(Cerradura) son como sigue (Vaya a la Programación de la FLASH para los detalles de la
carga de las órdenes):
- A: Cargue la orden "0000 0100."
Ponga OE' a "0" y BS a "1". Puede leerse ahora el
estado de los bit de Fusible y llave (Cerradura) en el dato ("0" significa
programado).
- Bit 7 = Bit llave 1
- Bit 6 = Bit llave 2
- Bit 5 = Bit de Fusible SPIEN
- Bit 0 = Bit de Fusible FSTRT
- Ponga OE' a "1."
Observe que BS necesita ser puesto a "1." |
|
Lectura de los Bytes de Firma |
|
El algoritmo para leer los bytes de Firma es como
sigue (Valla a la Programación de la FLASH para los detalles de la carga de las ordenes y
direcciones):
- A: Cargue la orden "0000 1000."
- C: Cargue el byte bajo de la dirección ($00 - $02).
Ponga OE' a
"0" y BS a "0". El byte de Firma seleccionado puede leerse ahora en el
dato.
- Ponga OE' a "1."
|
|