¿Qué es un micro
controlador?
Un micro controlador es un dispositivo
electrónico capaz de llevar a cabo procesos lógicos. Estos procesos o acciones
son programados en lenguaje ensamblador por el usuario, y son introducidos en
este a través de un programador.
Historia
Inicialmente cuando no existían los
microprocesadores las personas se ingeniaban en diseñar sus circuitos
electrónicos y los resultados estaban expresados en diseños que implicaban
muchos componentes electrónicos y cálculos matemáticos. Un circuito lógico
básico requería de muchos elementos electrónicos basados en transistores,
resistencias, etc, lo cual desembocaba en circuitos con muchos ajustes y
fallos; pero en el año 1971 apareció el primer microprocesador el cual originó
un cambio decisivo en las técnicas de diseño de la mayoría de los equipos. Al
principio se creía que el manejo de un microprocesador era para aquellas personas
con un coeficiente intelectual muy alto; por lo contrario con la aparición de
este circuito integrado todo sería mucho más fácil de entender y los diseños electrónicos serían
mucho más pequeños y simplificados. Entre los microprocesadores más conocidos
tenemos el popular Z-80 y el 8085. Los diseñadores de equipos electrónicos
ahora tenían equipos que podían realizar mayor cantidad de tareas en menos
tiempo y su tamaño se redujo considerablemente; sin embargo, después de cierto
tiempo aparece una nueva tecnología llamada micro controlador que simplifica
aún más el diseño electrónico.
Diferencias
entre microprocesador y micro controlador
Si has tenido la oportunidad de realizar
un diseño con un microprocesador pudiste observar que dependiendo del circuito
se requerían algunos circuitos integrados adicionales además del
microprocesador como por ejemplo: memorias RAM para almacenar los datos
temporalmente y memorias ROM para almacenar el programa que se encargaría del
proceso del equipo, un circuito integrado para los puertos de entrada y salida
y finalmente un decodificador de direcciones.
Un micro controlador es un solo
circuito integrado que contiene todos los elementos electrónicos que se
utilizaban para hacer funcionar un sistema basado con un microprocesador; es
decir contiene en un solo integrado la Unidad de Proceso, la memoria RAM,
memoria ROM , puertos de entrada, salidas y otros periféricos, con la
consiguiente reducción de espacio.
El micro controlador es en definitiva
un circuito integrado que incluye todos los componentes de un computador.
Debido a su reducido tamaño es posible
montar el controlador en el propio dispositivo al que gobierna. En este caso el
controlador recibe el nombre de controlador empotrado o embebido (embedded
controller).
Ventajas de un
micro controlador frente a un microprocesador
Estas ventajas son reconocidas
inmediatamente para aquellas personas que han trabajado con los
microprocesadores y después pasaron a trabajar con los micro controladores.
Estas son las diferencias más importantes: Por ejemplo la configuración mínima
básica de un microprocesador estaba constituida por un Micro de 40 Pines, Una
memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de
direcciones de 18 pines; pero un micro controlador incluye todo estos elementos
en un solo Circuito Integrado por lo que implica una gran ventaja en varios
factores: En el circuito impreso por su amplia simplificación de circuitería,
el costo para un sistema basado en micro controlador es mucho menor y, lo mejor
de todo, el tiempo de desarrollo de su proyecto electrónico se disminuye
considerablemente.
Los
microcontroladores hoy día
Los micro controladores están conquistando
el mundo. Están presentes en nuestro trabajo, en nuestra casa y en nuestra
vida, en general. Se pueden encontrar controlando el funcionamiento de los
ratones y teclados de los computadores, en los teléfonos, en los hornos
microondas y los televisores de nuestro hogar. Pero la invasión acaba de
comenzar y el nacimiento del siglo XXI será testigo de la conquista masiva de
estos diminutos computadores, que gobernarán la mayor parte de los aparatos que
fabricaremos y usamos los humanos. Cada vez existen más productos que
incorporan un micro controlador con el fin de aumentar sustancialmente sus
prestaciones, reducir su tamaño y coste, mejorar su habilidad y disminuir el
consumo.
Algunos fabricantes de micro
controladores superan el millón de unidades de un modelo determinado producidas
en una semana. Este dato puede dar una idea de la masiva utilización de estos
componentes. Los micro controladores están siendo empleados en multitud de
sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno
microondas, frigoríficos, televisores, computadoras, impresoras, módems, el
sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que
seguramente no estaremos tan familiarizados como instrumentación electrónica,
control de sistemas en una nave espacial, etc. Una aplicación típica podría
emplear varios micro controladores para controlar pequeñas partes del sistema.
Estos pequeños controladores podrían comunicarse entre ellos y con un
procesador central, probablemente más potente, para compartir la información y
coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier
PC.
ESTRUCTURA Y
ELEMENTOS DE LOS MICROCONTROLADORES
A continuación pasamos a describir los
elementos más comunes en todo tipo de micro controladores y sistemas.
El procesador
Es el elemento más importante del micro
controlador 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. Existen tres orientaciones en cuanto a la
arquitectura y funcionalidad de los procesadores actuales.
CISC
Un gran número de procesadores usados
en los micro controladores están basados en la filosofía CISC (Computadores de
Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones máquina
en su repertorio algunas de las cuales son muy sofisticadas y potentes,
requiriendo muchos ciclos para su ejecución. Una ventaja de los procesadores
CISC es que ofrecen al programador instrucciones complejas que actúan como
macros, es decir, que si las tuviésemos que implementar con instrucciones básicas,
acabaríamos con dolor de cabeza.
RISC
Tanto la industria de los computadores
comerciales como la de los micro controladores están decantándose hacia la
filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos
procesadores el repertorio de instrucciones máquina es muy reducido y las
instrucciones son simples y, generalmente, se ejecutan en un ciclo.
La sencillez y rapidez de las
instrucciones permiten optimizar el hardware y el software del procesador.
SISC
En los micro controladores destinados a
aplicaciones muy concretas, el juego de instrucciones, además de ser reducido,
es específico, o sea, las instrucciones se adaptan a las necesidades de la
aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC
(Computadores de Juego de Instrucciones Específico).
Memoria
En los microcontroladores la memoria de
instrucciones y datos está integrada en el propio chip. 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.
Hay dos peculiaridades que diferencian
a los micro controladores de los computadores personales:
No existen sistemas de almacenamiento
masivo como disco duro o disquetes. Como el micro controlador sólo se destina a
una tarea en la memoria ROM, sólo hay que almacenar un único programa de
trabajo.
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 guarda r una copia del mismo en la
RAM pues se ejecuta directamente desde la ROM.
Los usuarios de computadores personales
están habituados a manejar Megabytes de memoria, pero, los dice ñadores con
microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes
y 8 k bytes y de RAM comprendidas entre 20 y 512 bytes.
Según el tipo de memoria ROM que
dispongan los microcontroladores, la aplicación y utilización de los mismoses
diferente. Se describen las cinco versiones de memoria 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. Si tenemos
idea de cómo se fabrican los circuitos integrados, sabremos de donde viene el
nombre. Estos se fabrican en obleas que contienen varias decenas de chips.
Estas obleas se fabrican 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á. Con varios procesos similares pero más complicados
se consigue fabricar los transistores y diodos micrométricos que componen un
chip. Ahora ya sabes de donde viene la máscara y no te acostarás sin saber una
cosa más. 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.
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.
FLASH
Se trata de una memoria no volátil, de
bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM
pero consume menos y es más pequeña. A diferencia de la ROM, la memoria FLASH
es programable en el circuito. Es más rápida y de mayor densidad que la EEPROM.
La alternativa FLASH está recomendada frente a la EEPROM cuando se precisa gran
cantidad de memoria de programa no volátil. Es más veloz y tolera más ciclos de
escritura/borrado. Las memorias EEPROM y FLASH son muy útiles al permitir que
los microcontroladores que las incorporan puedan ser reprogramados en circuito,
es decir, sin tener que sacar 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.
Puertas de
Entrada y Salida
Las puertas de Entrada y Salida (E/S)
permiten comunicar al procesador con el mundo exterior, a través de interfaces,
o con otros dispositivos. Estas puertas, también llamadas puertos, son la
principal utilidad de las patas o pines de un microprocesador. 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.
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. Esta señal del reloj es el motor del sistema y la que hace que el
programa y los contadores avancen.
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 lleva aparejado
un incremento del consumo de energía y de calor generado.