Home MundoTec Software Código fuente Tutorial / pdf Minijuegos
Cerrar

Tutorial Microcontroladores

Tutorial Microcontroladores.







Microcontroladores

Kilobytes, Megabytes y Gigabytes.

La menor unidad de memoria de una computadora es un simple bit que puede almacenar un valor de cero o uno. Estos bits agrupados en conjuntos de 8 bits forman un Byte. En computadoras más grandes se adiciona un agrupamiento en conjuntos de 16 o 32 bits formando una unidad denominada “word” (palabra). El tamaño de un word puede ser diferente para diferentes computadoras.

En el mundo decimal a veces expresamos valores muy pequeños o muy grandes recurriendo a prefijos antecediendo a la unidad de medida, tales como “mili”, “kilo”, etc.. En el mundo binario usaremos prefijos similares para describir grandes cantidades de memoria. En el sistema decimal, el prefijo “kilo”significa 1000 (o 10 a la 3) veces un valor. En el sistema binario, el entero potencia de 2 más próximo a 1000(10) es 2 a la 10 = 1024(10). Decimos “kilobytes”pero queremos decir “K bytes”que son 1024(10) bytes. Aunque ésta sea una terminología poco científica, se ha convertido en un estándar por su uso con el correr de los años.

Un megabyte es 2 a la 20 ó 1048576(10) bytes. Un gigabyte es 2 a la 30 ó 1073741824(10) bytes. Una PC con 32 líneas de dirección puede teóricamente direccionar 4 Gigabytes (4294967296(10)) de memoria. Los pequeños microcontroladores abordados en este texto poseen sólo entre 512 bytes a 16 K bytes de memoria.

Tipos de Memoria

Las computadoras usan diversos tipos de información que requieren diferentes tipos de memoria. Las instrucciones que controlan la operación del microcontrolador son almacenadas en memoria no-volátil así el sistema no debe reprogramarse luego de apagar la fuente de alimentación. Tanto las variables de trabajo como los resultados intermedios necesitan ser almacenados en una memoria que permita una rápida y fácil escritura durante la operación del sistema. Si no es importante retener la información al apagar la alimentación podemos usar una memoria de tipo volátil. Este tipo de memoria es cambiada (escrita) y leída sólo por la CPU en la computadora.

Como otra información de memoria, las entradas de datos son leídas y las salidas de datos son escritas por la CPU. Las I/O y los registros de control son también formas de memoria para la computadora, pero difieren de otros tipos de memoria, ya que la información puede ser monitoreada y / o alterada por algún otro además de la CPU.

La RAM es una forma de almacenamiento volátil, que puede ser leída y escrita por la CPU. Como su nombre lo indica, las posiciones de memoria de una RAM pueden ser accedidas en cualquier orden. Este es el tipo más común de memoria en una PC. Una RAM requiere un área de silicio del circuito integrado relativamente grande. Por la importante área que necesitan (y por lo tanto su mayor costo), normalmente sólo pequeñas cantidades de RAM son integradas en los chips de microcontroladores.

Memoria de Lectura solamente

La ROM recibe la información que almacenará durante el proceso de fabricación. La información debe ser provista al fabricante antes que el circuito integrado que la contendrá sea fabricado. Cuando finalmente se use el microcontrolador, esta información podrá ser leída por la CPU pero cambiada. La ROM es considerada una forma de almacenamiento no-volátil puesto que la información no cambia si su fuente de alimentaciones apaga. La ROM es la más simple, más pequeña y más barata de las memoria no-volátiles.

ROM Programable (PROM)

La PROM es similar a una ROM excepto que es posible programarla con posterioridad a la fabricación del circuito integrado. Algunas de sus variantes son la PROM borrable (EPROM), PROM programable una única vez (OTP), PROM borrable eléctricamente (EEPROM), y, por último, la de más reciente aparición la memoria del tipo FLASH.

EPROM

La EPROM puede ser borrada exponiéndola a la luz ultravioleta. Los microcontroladores de este tipo de memoria, poseen una ventana de cuarzo que permite al exponerlo a la luz ultravioleta (de una longitud de onda determinada) su paso al interior del circuito integrado. El número de veces que una EPROM puede borrarse y reprogramarse está limitado a algunos cientos de ciclos dependiendo del dispositivo en particular y de la duración de la exposición a la luz ultravioleta durante el borrado de la misma.

Se usa un procedimiento especial para grabar información en una EPROM. La mayoría de los microcontroladores con EPROM recurren a una fuente de alimentación adicional tal como +12Vcc o tensiones similares durante la operación de programación de la EPROM.

La CPU no puede escribir información en las posiciones de memoria EPROM tal como lo hace sobre la memoria del tipo RAM.

Hay microcontroladores que contienen un circuito programador de EPROM, de modo que la CPU podrá grabar información en posiciones de memoria EPROM. Tal es el caso de los microcontroladores de Freescale MC68HC705C8A, MC68HC705P6A, etc. Durante la grabación de una EPROM, el chip debe retirarse del circuito eléctrico del que es parte, de modo que el programador maneje las direcciones y datos; y una vez programada debe volver a colocarse. En la analogía de las casillas de correo, se deberían retirar todas las casillas de correo del edificio para llenarlas con información y luego restituirlas. Mientras se procede a llenar las casillas, los habitantes del edificio o los usuarios de las casillas de correo no tienen acceso a ellas.

Algunos microcontroladores con EPROM (no el MC68HC705J1A) poseen un modo especial de programación que los hace aparecer como una memoria EPROM estándar. Estos dispositivos se graban recurriendo a programadores de EPROM comerciales de propósitos generales.