Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMiguel Ángel Robles Ponce Modificado hace 6 años
1
Memoria flash y su uso en el microcontrolador MSP430F149
Universidad Técnica Federico Santa María Departamento de Electrónica Seminario de Computadores I: Diseño con microcontroladores Memoria flash y su uso en el microcontrolador MSP430F149 Grupo 1: Tamara Ramírez - Jaime Díaz - Francisco Villa - Juan Espoz – Luis Ehlen – Josey Avilés viernes, 16 de noviembre de 2018viernes, 16 de noviembre de 2018
2
Aspectos Básicos Tipos de memoria conocidas: - ROM - PROM - EPROM
- EEPROM - RAM - FLASH
3
Características y contrastes
La Flash no es volátil, a diferencia de las RAM. Es regrabable, a diferencia de las ROM y PROM. Capaz de almacenar gran cantidad de información en poco espacio físico, contrario a las EEPROM. Bajo consumo de potencia, no como las RAM. Son mas rápidas que una EEPROM pero no mas que una RAM. Sus precios son bastante convenientes en relación a una EEPROM o una RAM. En la Flash es posible eliminar bloques de información a diferencia de la EEPROM en donde esta debe ser eliminada bit a bit.
4
Segmentación de la flash
La memoria flash está particionada en segmentos. El segmento es la medida más pequeña que se puede borrar. La memoria está dividida en memoria principal y memoria de información.
5
Operación de la flash Por defecto la flash se encuentra en el modo de lectura. Opera sin un voltaje externo adicional. La CPU puede programar su propia flash. Posee 3 modos de borrado y 2 de escritura.
6
Temporizador Las operaciones de borrado y escritura son controladas por el temporizador. El temporizador opera en el rango de 257 kHz a 476 kHz. La señal de reloj puede ser seleccionada desde las fuentes ACLK, SMCLK o MCLK. La señal de reloj también puede ser dividida hasta 64 veces para reunir los requerimientos de frecuencia.
7
Registros del controlador de la memoria flash
Para controlar la memoria Flash, se utilizan los registros FCTLx. Corresponden a registros de escritura y lectura, de 16 bits y protegidos por password. Los 8 últimos bits son utilizados para almacenar el password para poder leer o escribir en el registro. El password de lectura corresponde a 096h y el password de escritura corresponde a 0A5h. Además, está el registro de 8 bits llamado IE1, para habilitar/deshabilitar la interrupción que se produce cuando ocurre una violación de acceso.
8
Registros FCTLx
9
Registros FCTLx
10
Registros FCTLx
11
Registro IE1
12
Borrado de la flash Existen 3 modos de borrado: Borrar todo 1 Borrado masivo Borrar segmento Modo de borrado ERASE MERAS Cada ciclo de borrado es iniciado por una escritura falsa, que debe escribir una dirección que este dentro del segmento que se desea borrar. El temporizador del ciclo de borrado de un segmento no depende de la cantidad de memoria presente.
13
Borrado de la flash Las interrupciones deben ser deshabilitadas antes del ciclo de borrado.
14
Iniciando el borrado desde la memoria Flash
Deshabilitar las interrupciones y el watchdog Cuando el borrado de un segmento es iniciado desde la Flash todos los tiempos son controlados por el controlador de memoria Flash y la CPU es congelada. Escritura falsa Configurar el controlador de la Flash Setear LOCK=1, re-habilitar interrupciones y watchdog
15
Iniciando el borrado desde la RAM
La CPU continua ejecutando el código desde la RAM, el bit BUSY debe ser encuestado para determinar el fin del ciclo de borrado.
16
Iniciando el borrado desde la RAM
17
Escribiendo la memoria Flash
Existen 2 modos de escritura: Escritura por bloques 1 Escritura Byte/word Modos de escritura WRT BLKWRT El modo de escritura por bloques es aproximadamente dos veces más rápido que el modo de escritura Byte/word
18
Escritura Byte/word Cuando es iniciada desde la Flash, la temporización es controlada por su controlador interno y la CPU es congelada hasta que la operación termina.
19
Escritura Byte/word desde la flash
20
Escritura Byte/word desde la RAM
Deshabilitar interrupciones y watchdog BUSY=1 si Setear el controlador de la Flash con WRT=1 Escribir byte o word Setear WRT=0, LOCK=1, re-habilitar interrupciones y watchdog
21
Escritura por bloques de la flash
La escritura por bloque puede es usada para acelerar el proceso de escritura cuando es necesario escribir varios byte/word secuencialmente. Un bloque contiene 64 Bytes. Un escritura por bloque no puede ser iniciada desde la memoria Flash. Cuando se escriben bloques sucesivos, el bit BLKWRT debe ser limpiado después de la escritura del bloque correspondiente. BLKWRT debe ser seteado para la escritura del próximo bloque, después de un tiempo de recuperación requerido por la Flash.
22
Escritura por bloques de la flash
23
Escritura por bloques Deshabilitar interrupciones y watchdog si
Escritura por bloques Deshabilitar interrupciones y watchdog BUSY=1 si Setear el controlador de la Flash Setear BLKWRT=WRT=1 Escribir byte o word WAIT=0? Block border? no Setear BLKWRT=0 BUSY=1? Otro block? Setear WRT=0, LOCK=1, re-habilitar interrupciones y watchdog
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.