INICIO WEB

       

Programación de la memoria FLASH
        
A: Cargue la orden "Escribir la FLASH"
  1. Ponga XA1, XA0 a "10". Esto habilita la carga de la orden.
  2. ponga BS a "0."
  3. Ponga el dato a "0001 0000". Ésta es la orden para escribir la FLASH
  4. Dé un pulso positivo a XTAL1.

B: Cargue la dirección del byte alto

  1. Ponga XA1, XA0 a "00". Esto habilita la carga de la dirección.
  2. Ponga BS a "1". Esto selecciona el byte alto.
  3. Ponga el dato = Dirección del byte alto ($00 - $0F).
  4. Dé un pulso positivo a XTAL1. Esto carga la dirección del byte alto.

C: Cargue la dirección del Byte Bajo

  1. Ponga XA1, XA0 a "00". Esto habilita la carga de la dirección.
  2. Ponga BS a "0". Esto selecciona el byte bajo.
  3. Ponga el dato = Dirección del byte bajo ($00 - $FF).
  4. Dé un pulso positivo a XTAL1. Esto carga la dirección del byte bajo.

D: Cargue el byte bajo del dato

  1. Ponga XA1, XA0 a "01". Esto habilita la carga del dato.
  2. Ponga el dato = Byte bajo del dato ($00 - $FF).
  3. Dé un pulso positivo a XTAL1. Esto carga los datos del byte bajo.

E: Escriba el byte bajo del dato

  1. Ponga BS a "0". Esto selecciona la parte baja del dato.
  2. Dé un pulso negativo a WR'. Esto empieza la programación del byte de dato. RDY/BSY ' está a nivel bajo.
  3. 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

  1. Ponga XA1, XA0 a "01". Esto habilita la carga de los datos.
  2. Ponga el dato = Byte alto del dato ($00 - $FF).
  3. Dé un pulso positivo a XTAL1. Esto carga el byte alto del dato.

G: Escriba el byte alto del dato

  1. Ponga BS a "1". Esto selecciona la parte alta del dato.
  2. Dé un pulso negativo a WR'. Esto empieza la programación del byte de datos. RDY/BSY ' está a nivel bajo.
  3. 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.

        

ondas_FLASH_A.gif (2271 bytes)

       

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

   

ondas_FLASH_B.GIF (1769 bytes)

         

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):

  1. A: Cargue la orden "0000 0010".
  2. B: Cargue la dirección del byte alto ($00 - $0F).
  3. C: Cargue la dirección del byte bajo ($00 - $FF).
  4. Ponga OE' a "0" y BS a "0". El byte bajo de la palabra de FLASH puede leerse ahora del dato.
  5. Ponga BS a "1". El byte alto de la palabra de FLASH puede leerse ahora del dato.
  6. 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):

  1. A: Cargue la orden "0001 0001."
  2. B: Cargue la dirección del byte alto ($00 - $01).
  3. C: Cargue la dirección del byte bajo ($00 - $FF).
  4. D: Cargue el byte bajo del dato ($00 - $FF).
  5. 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):

  1. A: Cargue la orden "0000 0011."
  2. B: Cargue la dirección del byte alto ($00 - $01).
  3. C: Cargue la dirección del byte bajo ($00 - $FF).
  4. Ponga OE' a "0" y BS a "0". El byte del dato de la EEPROM puede leerse ahora del dato.
  5. 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):

  1. A: Cargue la orden "0100 0000."
  2. 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
  1. 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):

  1. A: Cargue la orden "0010 0000."
  2. 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
  1. 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):

  1. A: Cargue la orden "0000 0100."
  2. 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
  1. 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):

  1. A: Cargue la orden "0000 1000."
  2. 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.

  1. Ponga OE' a "1."
                     
                                         

ARRIBA