martes, 24 de abril de 2012

Memoria disponible pics y arduinos

En los microcontroladores la memoria de instrucciones y datos está integrada en el propio circuito integrado. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos.
Ahora plantemos la diferencia entre una PC y un microcontrolador.En un microcontrolador es obvio que no existe un dispositivo de gran capacidad de almacenamiento como un disco duro, por otra parte un microcontrolador se enfoca a cumplir con una sola tarea ya que su memoria solo alcanza para almacenar un único programa de trabajo.

Hay que tomar en cuenta que todos los microcontroladores son diferentes, la aplicación y utilización de los mismos puede varias según sea el uso que le queremos dar. Por lo pronto explicare los 5 tipos de memoria no volátil con la que cuentan la mayoría de los micros disponibles en el mercado.


1. Rom con mascara: Rom con mascara es un tipo de memoria no volatil del tipo solo lectura la cual queda establecida a la hora de fabricar el micro. Máscara viene de la forma cómo se fabrican los circuitos integrados. Estos se fabrican en obleas que contienen varias decenas de chips. Estas obleas se obtienen a partir de procesos fotoquímicos, donde se impregnan capas de silicio y oxido de silicio, y según convenga, se erosionan al exponerlos a la luz. Como no todos los puntos han de ser erosionados, se sitúa entre la luz y la oblea una máscara con agujeros, de manera que donde deba incidir la luz, esta pasará. Debido al alto costo de la fabricación solo es aconsejable su producción cuando se precisan de varias cantidades de dichas unidades.



2. OTP: OTP es un tipo de memoria no volatil de solo lectura OTP significa One Time Programmable lo que quiere decir que solo se puede programar 1 vez. La memoria OTP es recomendable solo para construccion de prototipos y series muy pequeñas.


3. EPROM: EPROM significa Erasable Programmable Read OnIy Memory lo que significa que puede borrarse y grabarse las veces que se desee con ayuda de un grabador de PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cápsulas son de material cerámico y son más caros que los microcontroladores con memoria OTP que están hechos con material plástico.


4. EEPROM: Electrical Erasable Programmable Read OnIy Memory esta memoria es parecida a la EPROM la diferencia es que tanto la programación como el borrado se realizan electricamente desde un grabador conectado a la PC.


5. Flash: Memoria no volatil de bajo consumo que se puede escribir y borrar. A diferencia de la EEPROM es mas rapida y de mayor densidad.

Ejemplo en PIC16F84A
La memoria de programa se divide en páginas de 2,048 posiciones. El PIC16F84A sólo tiene implementadas 1K posiciones es decir de 0000h a 03FFh y el resto no está implementado. (es aquello que se ve en gris)
Memoria en Arduino
En el caso del Arduino existen 3 fuentes de memoria las cuales vienen del micro utilizado por el Arduino que puede ser el Atemga328 o 168.

Memoria Flash: Memoria no volátil que funciona como almacén para los sketchs que se cargan al Arduino. Cuenta con 16k bytes de los cuales 2k son utlizados por el bootloader.

SRAM: Memoria Estatica de Acceso Aleatorio es donde se manipulan los sketchs y manipulan variables, dispone de 1024 bytes.

EEPROM: Memoria que puede ser utilizada para almacenar informacion de largo plazo, es del tipo no volatil cuenta con 512 bytes.

Algunos aspectos a tomar en cuenta:
  • No hay mucha SRAM disponible
  • Si se acaba la SRAM el programa fallara






Fuentes:
http://es.wikipedia.org/wiki/Microcontrolador#Memoria
http://r-luis.xbot.es/pic1/pic03.html
http://perso.wanadoo.es/pictob/microcr.htm
http://arduino.cc/es/Tutorial/Memory





1 comentario: