PDF de programación - HC908 FLASH, TEMAS VARIOS DEL HC908

Imágen de pdf HC908 FLASH, TEMAS VARIOS DEL HC908

HC908 FLASH, TEMAS VARIOS DEL HC908gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Noviembre del 2017)
1.253 visualizaciones desde el 9 de Noviembre del 2017
533,2 KB
40 paginas
Creado hace 14a (15/07/2009)
Temas Varios
del HC908.....

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

Memoria FLASH de los 908.....

•Programable en circuito por medio de un solo pin ( PTA0 / PTB0 según el MCU)
•Reprogramable en circuito sin tensión elevada externa (funciona con la misma VDD (3V a 5V)
•Puede ser usada como memoria de datos temporales similar a una EEPROM (del tipo 93Cxx / 24LCxx)
•10.000 ciclos de Escritura / Borrado Mínimos garantizados (a – 40°C, la peor condición)
• + de 100.000 ciclos de Escritura / Borrado a temp. Ambiente (entre 20 y 30 °C)
•Control de la programación por medio del registro FLCR ( Flash Control Register )
- HVEN -- Bit habilitación de la Bomba de Alta tensión p/ programación
- MASS --- Bit habilitación de Borrado en Masa de la Flash (Mass Erase Control)
- ERASE -- Bit habilitación para el Borrado de la Flash ( interconectado con el bit PGM
para evitar que ambos estén en “ 1 ” al mismo tiempo
- PGM ---- Bit de control de programación de la Flash ( interconectado con ERASE )

•Tiempo de borrado en MASA ( 32K ) = 4 mSeg.
•Tiempo de programación de una fila = 1 mSeg.

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

Memoria FLASH de los 908.....

•La memoria Flash está dividida en ”PAGINAS” de 128 Bytes por página (para el GP32)
•El mínimo tamaño de memoria a borrar es una PAGINA osea 128 Bytes (para el GP32)
•El borrado de la FLASH se hace de página en página o en forma masíva (MASS ERASE)
•La escritura de la flash está organizada en “FILAS” de 64 Bytes por FILA (para el GP32).
•Una PAGINA es equivalente a 2 ( dos ) FILAS.
•Se escribe por FILAS en la FLASH de los HC908....
•La escritura se hace desde código escrito en RAM o ROM y NO sobre código en FLASH !!!
•Tengo que transferir el código escrito en FLASH a RAM y ejecutarlo desde allí o si el MCU tiene en su
ROM las sub-rutinas de manejo de la FLASH (casi todos los HC908 las tienen), se invoca a estas desde el
código en FLASH (ver nota de aplicación AN-1831 de Freescale) .
•Existe un mecanismo de protección contra escritura involuntaria muy efectivo
- El registro FLBPR ( Flash Block Protect Register ) posee 8 Bits que permiten la
protección de bloques de memoria a partir de una dirección prefijada por los mismos
hasta el FIN DEL MAPA DE MEMORIA o sea $ FFFF
•Si se habilita el LVI, se garantiza la NO CORRUPCION de la memoria FLASH
•Ver secciones “FLASH Memory” & “Monitor ROM (MON08)” en el manual del MCU elegido.

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

LVI (Low Voltage Inhibit) ó supervisor de Tensión

• Produce un RESET por detección de baja tensión de VDD.
• Identificable por medio del flag LVI en el SRSR (SIM Reset Status Register)
• Trip point (punto de disparo) ajustable por soft para funcionamiento en 3 y 5V de VDD (2 puntos de
disparo), registro CONFIG1, bit “LVI5OR3”.
• Histéresis incorporada en el comparador (asegura reposición cuando VDD está O.K)
• Mantiene al MCU en estado de RESET (no operativo) si la tensión es inferior al mínimo establecido
• El módulo puede habilitarse / deshabilitarse por soft en el registro CONFIG1 por medio del bit
“LVIPWRD”.
• Puede generar un RESET o una indicación (Modo “Polled”) por medio del registro CONFIG1 de la
siguiente forma:
- Modo RESET: en CONFIG1 --- LVIPWRD = 0 & LVIRSTD = 0
- Modo POLLED ó “poleado” : en CONFIG1 --- LVIPWRD = 0 & LVIRSTD = 1
Ver secciones “Configuration Register (CONFIG)” y “Low – Voltage Inhibit (LVI)” del respectivo
manual del MCU elegido.

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

TBM ( Time Base Module ) ó Módulo de Base de Tiempo
•Base de Tiempo independiente del CPU, no lo utiliza para su funcionamiento.
•Produce una interrupción periódica según lo programado en un registro (TBCR)
•La fuente del clock es el cristal de 32,768 Khz que se utiliza en el PLL
•Tiempos de interrupción de 1Hz, 4, 16, 256, 512, 1024, 2048, y 4096 Hz programables
por medio de los bits TBR2 / TBR1 / TBR0.
•El registro TBCR ( Timebase Control Register ) controla el funcionamiento y
habilitación del mismo.
•Util para generar un RTC (Reloj de Tiempo Real) o para despertar periodicamente al
MCU de un estado WAIT o STOP, garantizando así un muy bajo consumo de energía,
para aplicaciones que lo requieran.
•Ver sección “Timebase Module (TBM)” en el manual del MCU elegido.

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

Uso de la memoria FLASH de los MCUs HC08 para el Almacenamiento de Datos Temporales.

Por el Ing. Daniel Di Lella, EduDevices.com.ar (Documento disponible en el CD ROM)

Una pregunta común cuando se comienza a trabajar con la familia de los nuevos microcontroladores HC08 FLASH de Freescale o bién cuando se está por decidir la
Migración a uno de estos interesantes MCUs, es si es posible utilizar la memoria Flash de los mismos no solo para "grabar" programas en ella (memoria de programa)
sino además para "almacenar" datos temporales (variables temporales, seteos, tablas transitorias, etc.) como si se tratara de una memoria "EEPROM" o similar NO -
Volatil.
En los MCUs OTP ROM (One Time Programming ROM) esto era SOLO posible con el agregado de una memoria "externa" del tipo serial de 8 pines como las
93Cxx..
La memoria FLASH de 2da y 3era. generación que poseen los MCUs HC08 es ideal para reemplazar ventajosamente el uso de memorias EEPROMs externas por los
siguientes motivos:

(cid:131) Al no utilizarse un chip externo de memoria, se dispone de mayor cantidad de Pines I/O para usos generales y NO para el control de la memoria.
• Ahorro en el costo del chip externo de memoria y en el espacio de PCB a utilizar.
• Flexibilidad en el tamaño de la memoria a utilizar (se utiliza solo lo necesario, dejando el resto para la memoria del programa).
• Circuitos adicionales integrados en el MCU como el LVI (Low Voltage Inhibit), necesarios para asegurar un funcionamiento confiable en sistemas
con memoria No - Volatil .

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

Existen dos modos de "grabar" la memoria FLASH de los MCUs HC908, a saber:

1) En el "Modo Monitor" , que es un modo muy particular que poseen estos MCUs, puede grabarse la memoria flash de estos, además de emplearse este modo
para el "debugging" en tiempo real de programas. Este modo permite la actualización del programa contenido en la memoria Flash aún cuando el chip se encuentre
soldado a la placa del usuario. Esta modalidad se la conoce con el nombre de In - Circuit Programming (I.C.P.)

2) En el "Modo Usuario" , que es el modo de funcionamiento normal del MCU, (en el cuál se correrá el programa implementado por el usuario), es posible
alterar el contenido de la memoria flash, sin necesidad de tensiones o uso de pines especiales para tal fin.

El primero de los modos, es ideal cuando se requiere grabar un programa (aplicativo) en la memoria de un dispositívo "virgen" (de fábrica o borrado totalmente)
durante la producción o desarrollo y durante posteriores "actualizaciones" (revisiones) del software originalmente implementado en el mismo.
Para este modo, existen herramientas de software y hardware (PROG08SZ, FLASH_POD, EVAL08QTY, EDUKIT08, etc.) que facilitan la Programación En -
Circuito (I.C.P.) o la programación de la totalidad del chip para las operaciones anteriormente descriptas.
En el segundo de los modos, y punto fundamental de nuestro artículo, puede utilizarce la Flash para almacenar datos "temporales" en memoria No - Volátil,
con similares prestaciones a los chips EEPROM comunmente utilizados para tal fín.

Si tenemos en cuenta la estructura interna de la memoria FLASH de los HC08, la misma NO permite su alteración por medio de código escrito en su propia
memoria, dicho de otra forma, no es posible alterar la flash con código "corriendo" en la misma flash. Esto que en principio parecería un "inconveniente" , garantiza
(junto con otros recursos disponibles) la inalterabilidad de los datos ante programas del tipo "gusano" (que se "comen" código) frecuentes por errores en el
programa u otras circunstancias.

Curso de Microcontroladores Familia HC908 Flash de
Freescale , Parte II

ING. DANIEL DI LELLA

Entonces, para alterar (grabar o Borrar) la flash, se dispone de dos (2) métodos, en el modo usuario:

- Ejecución de Código desde RAM :

Con este método, es posible grabar o borrar la memoria flash, con código "corriendo" desde memoria RAM del MCU, para ello el programa de usuario implementado
en la flash, deberá incluir una sub-rutina que realice una "migración" (copia) de líneas de código desde la flash (estas líneas contendrán el código necesario para
modificar la memoria flash) hacia la RAM. Una vez copiado el código, y cuando se quiera borrar o grabar la flash con algún valor, el programa del usuario deberá
llamar al código en RAM como si fuera una o varias sub-rutinas, con la particularidad que su ubicación no es la usual, sino espacio RAM.
Este método es común de usar en derivatívos de la flia. HC08 con memorias RAM superiores a los 128 Bytes, por ejemplo los 908GP32, 908MR32/24/16/8, 908SR12,
Etc. La ventaja principal, radica en la facilidad que dispone el usuario para mejorar o modificar las sub-rutinas encargadas del borrado o grabación de la flash. La
desventaja es que se ocupa temporalmente espacio de RAM, por lo que hay que tener cuidado de ello.

- Ejecución de Código desde ROM (ROM "Monitor") :

Con este método, es posible grabar o borrar la memoria flash, con código "corriendo" desde memoria ROM del MCU, para ello el programa de usuario implementado
en la flash, deberá invocar por medio de un salto a sub-rutina, la dirección d
  • Links de descarga
http://lwp-l.com/pdf7452

Comentarios de: HC908 FLASH, TEMAS VARIOS DEL HC908 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad