Figura
Recursos microcontroladores (imagen tomada de aprendiendoarduino.wordpress.com)
Al
estar todos los microcontroladores integrados en un chip, su estructura
fundamental y sus características básicas son muy parecidas. Todos deben
disponer de los bloques esenciales Procesador, memoria de datos y de
instrucciones, líneas de E/S, oscilador de reloj y módulos controladores de
periféricos. Sin embargo, cada fabricante intenta enfatizar los recursos más
idóneos para las aplicaciones a las que se destinan preferentemente. En este
apartado se hace un recorrido de todos los recursos que se hallan en todos los
microcontroladores describiendo las diversas alternativas y opciones que pueden
encontrarse según el modelo seleccionado.
ARQUITECTURA
BÁSICA, Aunque
inicialmente todos los microcontroladores adoptaron la arquitectura clásica de
von Neumann, en el momento presente se impone la arquitectura Harvard. La
arquitectura de von Neumann se caracteriza por disponer de una sola memoria
principal donde se almacenan datos e instrucciones de forma indistinta. A dicha
memoria se accede a través de un sistema de buses único (direcciones, datos y
control). La arquitectura Harvard dispone de dos memorias independientes una,
que contiene sólo instrucciones y otra, sólo datos. Ambas disponen de sus
respectivos sistemas de buses de acceso y es posible realizar operaciones de
acceso (lectura o escritura) simultáneamente en ambas memorias.
RESOURCES COMMON TO ALL MICROCONTROLLERS
Since all the microcontrollers are integrated in a chip, their fundamental structure and basic characteristics are very similar. All must have the essential blocks Processor, data and instruction memory, I / O lines, clock oscillator and peripheral controller modules. However, each manufacturer tries to emphasize the most suitable resources for the applications to which they are destined preferably. In this section a tour of all the resources found in all the microcontrollers is made, describing the different alternatives and options that can be found according to the selected model.
BASIC ARCHITECTURE, Although initially all microcontrollers adopted the classic architecture of von Neumann, at the present time the Harvard architecture is imposed. The architecture of von Neumann is characterized by having a single main memory where data and instructions are stored interchangeably. This memory is accessed through a unique bus system (addresses, data and control). The Harvard architecture has two independent memories, one that contains only instructions and another, only data. Both have their respective access bus systems and it is possible to perform access operations (read or write) simultaneously in both memories.
La
arquitectura Harvard dispone de dos memorias independientes para datos y para
instrucciones, permitiendo accesos simultáneos
EL PROCESADOR O CPU Es el
elemento más importante del microcontrolador y determina sus principales
características, tanto a nivel hardware como software. Se encarga de
direccionar la memoria de instrucciones, recibir el código OP de la instrucción
en curso, su decodificación y la ejecución de la operación que implica la
instrucción, así como la búsqueda de los operandos y el almacenamiento del
resultado.
MEMORIA En los
microcontroladores la memoria de instrucciones o programa y la memoria de datos
RAM está integrada en el propio chip. Una parte debe ser no volátil, tipo PROM
ó EEPROM, 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. Hay dos peculiaridades que diferencian a los
microcontroladores de los computadores personales:
1.
No existen sistemas de almacenamiento masivo
como disco duro o disquetes.
2.
Como el microcontrolador sólo se destina a una
tarea en la memoria de programa, sólo hay que almacenar un único programa de
trabajo (no es multitarea como windows, linux u otro sistema operativo).
RAM
ESTATICA
La RAM en estos dispositivos es de poca capacidad pues sólo debe contener las
variables y los cambios de información que se produzcan en el transcurso del
programa. Por otra parte, como sólo existe un programa activo, no se requiere
guardar una copia del mismo en la RAM pues se ejecuta directamente desde la
EEPROM de programa. Los usuarios de computadores personales están habituados a
manejar Megabytes Y GigaBytes de memoria, pero, los diseñadores con
microcontroladores trabajan con capacidades de memoria de programa EEPROM
comprendidas entre 512 bytes y 32 k bytes y de RAM comprendidas entre 20 y 1536
bytes aproximadamente.
TIPOS DE MEMORIA DE PROGRAMA EN LOS
MICROCONTROLADORES Según el tipo de memoria de programa que
dispongan los microcontroladores, la aplicación y utilización de los mismos es
diferente. Se describen las cinco versiones de memoria de programa no volátil
que se pueden encontrar en los microcontroladores del mercado.
ROM
CON MÁSCARA: Es una
memoria no volátil de sólo lectura cuyo contenido se graba durante la
fabricación del chip. El elevado coste del diseño de la máscara sólo hace
aconsejable el empleo de los microcontroladores con este tipo de memoria cuando
se precisan cantidades superiores a varios miles de unidades.
OTP: El microcontrolador contiene una
memoria no volátil de sólo lectura “programable una sola vez” por el usuario.
OTP (One Time Programmable). Es el usuario quien puede escribir el programa en
el chip mediante un sencillo grabador controlado por un programa desde un PC.
La versión OTP es recomendable cuando es muy corto el ciclo de diseño del
producto, o bien, en la construcción de prototipos y series muy pequeñas. Tanto
en este tipo de memoria como en la EPROM, se suele usar la encriptación
mediante fusibles para proteger el código contenido.
UV-EPROM: Los microcontroladores que disponen de
memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y
grabarse muchas veces. La grabación se realiza, como en el caso de los OTP, con
un grabador gobernado desde un 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.
EEPROM: Se trata de memorias de sólo lectura,
programables y borrables eléctricamente EEPROM (Electrical Erasable Programmable
Read OnIy Memory). Tanto la programación como el borrado, se realizan
eléctricamente desde el propio grabador y bajo el control programado de un PC.
Es muy cómoda y rápida la operación de grabado y la de borrado. No disponen de
ventana de cristal en la superficie. Los microcontroladores dotados de memoria
EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas
veces se quiera sin ser retirados de dicho circuito. Para ello se usan
“grabadores en circuito” que confieren una gran flexibilidad y rapidez a la
hora de realizar modificaciones en el programa de trabajo. El número de veces
que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es
recomendable una reprogramación continua. Son muy idóneos para la enseñanza y
la Ingeniería de diseño. Se va extendiendo en los fabricantes la tendencia de
incluir una pequeña zona de memoria EEPROM en los circuitos programables para
guardar y modificar cómodamente una serie de parámetros que adecuan el
dispositivo a las condiciones del entorno. Este tipo de memoria es
relativamente lenta. Por ejemplo, el PIC 16C84.
EEPROM
FLASH: son muy
útiles al permitir que los microcontroladores que las incorporan puedan ser
reprogramados “In Circuit”, es decir, sin tener que retirar el circuito
integrado de la tarjeta. Así, un dispositivo con este tipo de memoria
incorporado al control del motor de un automóvil permite que pueda modificarse
el programa durante la rutina de mantenimiento periódico, compensando los
desgastes y otros factores tales como la compresión, la instalación de nuevas
piezas, etc. La reprogramación del microcontrolador puede convertirse en una
labor rutinaria dentro de la puesta a punto. Entre los Microcontroladores de
este tipo se puede mencionar el 16F84, 16F628, 18F452.
Aparte
de que las memorias EPROM "Flash" tienen una entrada de escritura,
mientras están funcionando se comportan como las EPROM normales. La única
diferencia se encuentra en cómo se cargan y se borran los datos en la memoria.
Mientras que durante el proceso de programación de las memorias EPROM
convencionales se necesita una tensión bien definida durante cierto intervalo
de tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en
las E.Flash ambos procesos están controlados y se llevan a cabo internamente.
Para tal efecto la memoria recibe una secuencia de comandos predefinida
(borrar, programar) que incluye algunas precauciones especiales (determinadas
por el fabricante) destinadas a evitar que se borre cualquier dato por error.
El
comando se transfiere a la memoria EPROM "Flash" mediante una serie
de operaciones de escritura, como se indica en la tabla 1. Los dos primeros
comandos "Lectura/Reset" preparan la memoria para operaciones de
lectura. El comando "Autoselección" permite leer el código del
fabricante y el tipo de dispositivo. El comando "Byte" carga el
programa dentro de la memoria EPROM, mientras que "Borrar Chip" actúa
durante el proceso de borrado, que no dura más de un minuto. Desde el punto de
vista lógico podemos afirmar que la memoria EPROM "Flash" está
dividida en sectores que se pueden borrar individualmente con la ayuda del
comando "Borrar Sector".
Las
memorias EPROM "Flash" disponen de otro mecanismo, basado en la
división en sectores, que las protege de acciones de escritura o lectura no
deseadas. Cuando un sector está protegido de esta forma no se puede realizar
una operación de lectura o sobre escritura con una tensión de 5V. Este hecho es
muy importante y se debe tener siempre presente cuando se utilicen estos dispositivos.
Solamente se puede eliminar esta protección con la ayuda de un programador
especial.
Durante
el proceso de programación o borrado se puede leer, mediante un comando de
acceso en "lectura", el estado de la memoria EPROM "Flash"
en la misma posición que el byte de programado o borrado. Mientras se borra un
sector se puede leer cualquier dirección que pertenezca al sector.
Durante
la secuencia de programación, el bit de orden superior (DQ7) del byte que se
está leyendo toma el valor negado del bit que se esté programando, mientras que
DQ5 se mantiene a 0. Cuando el ciclo de programación termina correctamente se
deshace esta inversión y los bits 5 y 7 toman los valores planeados.
Como
durante una secuencia de borrado parece que todas las posiciones de la memoria
están programadas con el valor FFH, el bit 7 permanece invariablemente a cero
durante este proceso. Cuando alguno de los dos procesos excede cierto límite de
tiempo, que está determinado internamente, se produce un "error de
temporización", entonces el bit 5 toma el valor 1 mientras que el bit 7 se
mantiene invertido. La función que implementa el bit 6 está condicionada por el
requisito de compatibilidad. El bit 3 se utiliza cuando se borran
simultáneamente varios sectores. Sin embargo, el emulador descrito no tiene
estas características.
PUERTOS
DE ENTRADA / SALIDA (Input / Output) La principal utilidad de los pines que
posee la cápsula que contiene un microcontrolador es soportar las líneas de E/S
que comunican al computador interno con los periféricos exteriores. Según los
controladores de periféricos que posea cada modelo de microcontrolador, las
líneas de E/S se destinan a proporcionar el soporte a las señales de entrada,
salida y control. Se conocen como puerto A, B, C, D, E.
RELOJ
PRINCIPAL Todos los
microcontroladores disponen de un circuito oscilador que genera una onda
cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la
sincronización de todas las operaciones del sistema. Generalmente, el circuito
de reloj está incorporado en el microcontrolador y sólo se necesitan unos pocos
componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo.
Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos
pasivos o bien un resonador cerámico o una red R-C. Aumentar la frecuencia de
reloj supone disminuir el tiempo en que se ejecutan las instrucciones, pero
también implica un incremento del consumo de energía. Algunos μC (18F2550, por
ejemplo) disponen de oscilador interno programable desde 31KHz hasta 8 MHz, es
decir, no se requiere comprar cristal, la desventaja es que no suelen ser tan
preciso como un cristal externo.
No hay comentarios:
Publicar un comentario