Para esta entrada realicé una investigación relacionada a los diferentes tipos de memoria que existen en los PIC, sus características y capacidades.
El microcontrolador está
diseñado para que en su memoria deprograma se almacenen todas lasinstrucciones del programa de control. Como éste siempre es el
mismo, debe estar grabado de forma permanente.
Existen
algunos tipos de memoria adecuados para soportar estas funciones, de las cuales
se citan las siguientes:
- ROM con máscara:
se graba mediante el uso de máscaras. Sólo es recomendable para series muy
grandes debido a su elevado coste.
- EPROM:
se graba eléctricamente con un programador controlador por un PC. Disponen de
una ventana en la parte superior
para someterla a luz ultravioleta, lo que permite su borrado. Puede usarse en
fase de diseño, aunque su coste unitario es elevado.
- OTP: su
proceso de grabación es similiar al anterior, pero éstas no pueden borrarse. Su
bajo coste las hacen idóneas para productos finales.
- EEPROM:
también se graba eléctricamente, pero su borrado es mucho más sencillo, ya que
también es eléctrico. No se pueden conseguir grandes capacidades y su tiempo de
deescritura y su consumo es elevado.
Esta
memoria tiene 1 K x 14 Bits de memoria tipo Flash. Esta memoria es la que
utilizaremos para almacenar nuestro programa dentro del microcontrolador
PIC16F84.
El
tipo de memoria utilizada en este microcontrolador, podrá ser grabada o borrada
eléctricamente a nuestro antojo desde el programador. La memoria tipo Flash
tiene la característica de poderse borrar en bloques completos y no podrán
borrarse posiciones concretas o específicas. Este tipo de memoria no es
volátil, es decir, no pierde los datos si se interrumpe la energía (faltaría
más;)).
La
memoria para almacenar el programa nos resultará perfecta para realizar pruebas
y experimentos, además de para la programación on-board (actualización del
programa interno de chip sin necesidad de retirarlo del circuito de prueba).
- FLASH:
se trata de una memoria no volátil, de bajo consumo, que se puede escribir y
borrar en circuito al igual que las EEPROM, pero que suelen disponer de mayor
capacidad que estas últimas.
Memoria de datos
Los
datos que manejas los programas varían
continuamente, y esto exige que la memoria que los contiene debe
ser de lectura y escritura, por lo que la memoria RAM estática
(SRAM) es la más adecuada, aunque sea volátil.
Hay microcontroladores que
disponen como memoria de datos una de lectura y escritura no volátil, del tipo EEPROM. De esta
forma, un corte en el suministro de la alimentación no ocasiona la pérdida de
la información, que está disponible al
reiniciarse el programa. ElPIC16F84 dispone de 64 bytes de memoria EEPROM
para contener datos.
Los
microcontroladores PIC tienen una serie de registros que funcionan como una RAM de propósito general. Los registros de
propósito específico para los recursos de hardware disponibles dentro del propio
chip también están direccionados en la RAM. La direccionabilidad de la memoria
varía dependiendo la línea de dispositivos, y todos los dispositivos PIC tienen
algún tipo de mecanismo de manipulación de bancos de memoria que pueden ser
usados para acceder memoria externa o adicional. Las series más recientes de
dispositivos disponen de funciones que pueden cubrir todo el espacio
direccionable, independientemente del banco de memoria seleccionado. En los
dispositivos anteriores, esto debía lograrse mediante el uso del acumulador.
Para
implementar direccionamiento indirecto, se usa un registro de "selección
de registro de archivo" (FSR) y uno de "registro indirecto"
(INDF): Un número de registro es escrito en el FSR, haciendo que las lecturas o
escrituras al INDF serán realmente hacia o desde el registro apuntado por el
FSR. Los dispositivos más recientes extienden este concepto con post y
preincrementos/decrementos para mayor eficiencia al acceder secuencialmente a
la información almacenada. Esto permite que se pueda tratar al FSR como un
puntero de pila.
La memoria de
datos externa no es directamente direccionable excepto en algunos
microcontroladores PIC 18 de gran cantidad de pines.
Tamaño de palabra
El
tamaño de palabra de los microcontroladores PIC
es fuente de muchas confusiones. Todos los PICs (excepto los dsPIC) manejan
datos en trozos de 8 bits, con lo que se deberían llamar microcontroladores de
8 bits. Pero a diferencia de la mayoría de las CPU,
el PIC usa arquitectura Harvard, por lo que el tamaño
de las instrucciones puede ser distinto del de la palabra de datos. De hecho,
las diferentes familias de PICs usan tamaños de instrucción distintos, lo que
hace difícil comparar el tamaño del código del PIC con el de otros
microcontroladores. Por ejemplo, un microcontrolador tiene 6144 bytes de
memoria de programa: para un PIC de 12 bits esto significa 4096 palabras y para
uno de 16 bits, 3072 palabras.
No hay comentarios:
Publicar un comentario