- Controlador y
microcontrolador. - Diferencia entre microprocesador
y microcontrolador. - Aplicaciones de los
microcontroladores. - El mercado de los
microcontroladores. - ¿Qué
microcontrolador emplear? - Recursos comunes a todos los
microcontroladores. - Recursos
especiales
Los microcontroladores 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.
1.1 Controlador y
microcontrolador.
Recibe el nombre de controlador el dispositivo que se
emplea para el gobierno de uno o
varios procesos. Por
ejemplo, el controlador que regula el funcionamiento de un horno
dispone de un sensor que mide constantemente su temperatura
interna y, cuando traspasa los límites
prefijados, genera las señales adecuadas que accionan los
efectores que intentan llevar el valor de la
temperatura dentro del rango estipulado.
Aunque el concepto de
controlador ha permanecido invariable a través del
tiempo, su
implementación física ha variado
frecuentemente. Hace tres décadas, los controladores se
construían exclusivamente con componentes de lógica
discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de
memoria y E/S
sobre una tarjeta de circuito impreso. En la actualidad, todos
los elementos del controlador se han podido incluir en un chip,
el cual recibe el nombre de microcontrolador. Realmente consiste
en un sencillo pero completo computador
contenido en el corazón
(chip) de un circuito integrado.
Un microcontrolador es un circuito integrado de alta
escala de
integración que incorpora la mayor parte de
los elementos que configuran un controlador.
Un microcontrolador dispone normalmente de los
siguientes componentes:
Procesador o UCP (Unidad Central de Proceso).
Memoria RAM para Contener
los datos.
Memoria para el programa tipo
ROM/PROM/EPROM.
Líneas de E/S para comunicarse con el
exterior.
Diversos módulos para el control de
periféricos (temporizadores, Puertas Serie
y Paralelo, CAD: Conversores Analógico/Digital, CDA:
Conversores Digital/Analógico, etc.).
Generador de impulsos de reloj que sincronizan el
funcionamiento de todo el sistema.
Los productos que
para su regulación incorporan un microcontrolador disponen
de las siguientes ventajas:
Aumento de prestaciones:
un mayor control sobre un determinado elemento representa una
mejora considerable en el mismo.
Aumento de la fiabilidad: al reemplazar el
microcontrolador por un elevado número de elementos
disminuye el riesgo de
averías y se precisan menos ajustes.
Reducción del tamaño en el producto
acabado: La integración del microcontrolador en un chip
disminuye el volumen, la mano
de obra y los stocks.
Mayor flexibilidad: las características de control están
programadas por lo que su modificación sólo
necesita cambios en el programa de instrucciones.
El microcontrolador 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
(embedded controller).
1.2 Diferencia entre microprocesador y
microcontrolador.
El microprocesador es un circuito integrado que contiene
la Unidad Central de Proceso (UCP), también llamada
procesador, de un
computador. La UCP está formada por la Unidad de Control,
que interpreta las instrucciones, y el Camino de Datos, que las
ejecuta.
Las patitas de un microprocesador sacan al exterior las
líneas de sus buses de direcciones, datos y control, para
permitir conectarle con la Memoria y
los Módulos de E/S y configurar un computador implementado
por varios circuitos
integrados. Se dice que un microprocesador es un sistema
abierto porque su configuración es variable de acuerdo con
la aplicación a la que se destine. (Figura
1.1.)
Figura 1.1. Estructura de
un sistema abierto basado en un microprocesador. La
disponibilidad de los buses en el exterior permite que se
configure a la medida de la aplicación.
Si sólo se dispusiese de un modelo de
microcontrolador, éste debería tener muy
potenciados todos sus recursos para
poderse adaptar a las exigencias de las diferentes aplicaciones.
Esta potenciación supondría en muchos casos un
despilfarro. En la práctica cada fabricante de
microcontroladores oferta un
elevado número de modelos
diferentes, desde los más sencillos hasta los más
poderosos. Es posible seleccionar la capacidad de las memorias, el
número de líneas de E/S, la cantidad y potencia de los
elementos auxiliares, la velocidad de
funcionamiento, etc. Por todo ello, un aspecto muy destacado del
diseño
es la selección
del microcontrolador a utilizar.
Figura 1.2. El microcontrolador es un sistema cerrado.
Todas las partes del computador están contenidas en su
interior y sólo salen al exterior las líneas que
gobiernan los periféricos.
1.3 Aplicaciones de los
microcontroladores.
Cada vez existen más productos que incorporan un
microcontrolador con el fin de aumentar sustancialmente sus
prestaciones, reducir su tamaño y coste, mejorar su
fiabilidad y disminuir el consumo.
Algunos fabricantes de microcontroladores 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 microcontroladores 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 microcontroladores 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.
1.4 El mercado de los
microcontroladores.
Aunque en el mercado de la microinformática la
mayor atención la acaparan los desarrollos de los
microprocesadores, lo cierto es que se venden cientos de
microcontroladores por cada uno de aquéllos.
Existe una gran diversidad de microcontroladores.
Quizá la clasificación más importante sea
entre microcontroladores de 4, 8, 16 ó 32 bits. Aunque las
prestaciones de los microcontroladores de 16 y 32 bits son
superiores a los de 4 y 8 bits, la realidad es que los
microcontroladores de 8 bits dominan el mercado y los de 4 bits
se resisten a desaparecer. La razón de esta tendencia es
que los microcontroladores de 4 y 8 bits son apropiados para la
gran mayoría de las aplicaciones, lo que hace absurdo
emplear micros más potentes y consecuentemente más
caros. Uno de los sectores que más tira del mercado del
microcontrolador es el mercado automovilístico. De hecho,
algunas de las familias de microcontroladores actuales se
desarrollaron pensando en este sector, siendo modificadas
posteriormente para adaptarse a sistemas más
genéricos. El mercado del automóvil es
además uno de los más exigentes: los componentes
electrónicos deben operar bajo condiciones extremas de
vibraciones, choques, ruido, etc. y
seguir siendo fiables. El fallo de cualquier componente en un
automóvil puede ser el origen de un accidente.
En cuanto a las técnicas
de fabricación, cabe decir que prácticamente la
totalidad de los microcontroladores actuales se fabrican con
tecnología
CMOS 4 (Complementary Metal Oxide Semiconductor). Esta
tecnología supera a las técnicas anteriores por su
bajo consumo y alta inmunidad al ruido.
La distribución de las ventas
según su aplicación es la siguiente:
Una tercera parte se absorbe en las aplicaciones
relacionadas con los computadores y sus
periféricos.
La cuarta parte se utiliza en las aplicaciones de
consumo (electrodomésticos, juegos, TV,
vídeo, etc.)
El 16% de las ventas mundiales se destinó al
área de las comunicaciones.
Otro 16% fue empleado en aplicaciones
industriales.
El resto de los microcontroladores vendidos en el mundo,
aproximadamente un 10% fueron adquiridos por las industrias de
automoción.
También los modernos microcontroladores de 32
bits van afianzando sus posiciones en el mercado, siendo las
áreas de más interés el
procesamiento de imágenes,
las comunicaciones, las aplicaciones militares, los procesos
industriales y el control de los dispositivos de
almacenamiento masivo de datos.
1.5 ¿Qué microcontrolador
emplear?
A la hora de escoger el microcontrolador a emplear en un
diseño concreto hay
que tener en cuenta multitud de factores, como la documentación y herramientas
de desarrollo
disponibles y su precio, la
cantidad de fabricantes que lo producen y por supuesto las
características del microcontrolador (tipo de memoria de
programa, número de temporizadores, interrupciones,
etc.):
Costes. Como es lógico, los fabricantes de
microcontroladores compiten duramente para vender sus productos.
Y no les va demasiado mal ya que sin hacer demasiado ruido venden
10 veces más microcontroladores que
microprocesadores.
Para que nos hagamos una idea, para el fabricante que
usa el microcontrolador en su producto una diferencia de precio
en el microcontrolador de algunas pesetas es importante (el
consumidor
deberá pagar además el coste del empaquetado, el de
los otros componentes, el diseño del hardware y el desarrollo del
software). Si el
fabricante desea reducir costes debe tener en cuenta las
herramientas de apoyo con que va a contar: emuladores,
simuladores, ensambladores, compiladores,
etc. Es habitual que muchos de ellos siempre se decanten por
microcontroladores pertenecientes a una única familia.
Aplicación. Antes de seleccionar un
microcontrolador es imprescindible analizar los requisitos de la
aplicación:
• Procesamiento de
datos: puede ser necesario que el microcontrolador realice
cálculos críticos en un tiempo limitado. En ese
caso debemos asegurarnos de seleccionar un dispositivo
suficientemente rápido para ello. Por otro lado,
habrá que tener en cuenta la precisión de los datos
a manejar: si no es suficiente con un microcontrolador de 8 bits,
puede ser necesario acudir a microcontroladores de 16 ó 32
bits, o incluso a hardware de coma flotante. Una alternativa
más barata y quizá suficiente es usar
librerías para manejar los datos de alta precisión.
–
• Entrada Salida: para determinar las necesidades
de Entrada/Salida del sistema es conveniente dibujar un diagrama de
bloques del mismo, de tal forma que sea sencillo identificar la
cantidad y tipo de señales a controlar. Una vez realizado
este análisis puede ser necesario añadir
periféricos hardware externos o cambiar a otro
microcontrolador más adecuado a ese sistema.
• Consumo: algunos productos que incorporan
microcontroladores están alimentados con baterías y
su funcionamiento puede ser tan vital como activar una alarma
antirrobo. Lo más conveniente en un caso como éste
puede ser que el microcontrolador esté en estado de bajo
consumo pero que despierte ante la activación de una
señal (una interrupción) y ejecute el programa
adecuado para procesarla.
• Memoria: para detectar las necesidades de memoria
de nuestra aplicación debemos separarla en memoria
volátil (RAM), memoria no volátil (ROM, EPROM,
etc.) y memoria no volátil modificable (EEPROM). Este
último tipo de memoria puede ser útil para incluir
información específica de la aplicación como
un número de serie o parámetros de
calibración.
El tipo de memoria a emplear vendrá determinado
por el volumen de ventas previsto del producto: de menor a mayor
volumen será conveniente emplear EPROM, OTP y ROM. En
cuanto a la cantidad de memoria necesaria puede ser
imprescindible realizar una versión preliminar, aunque sea
en pseudo-código,
de la aplicación y a partir de ella hacer una
estimación de cuánta memoria volátil y no
volátil es necesaria y si es conveniente disponer de
memoria no volátil modificable.
• Ancho de palabra: el criterio de diseño
debe ser seleccionar el microcontrolador de menor ancho de
palabra que satisfaga los requerimientos de la aplicación.
Usar un microcontrolador de 4 bits supondrá una
reducción en los costes importante, mientras que uno de 8
bits puede ser el más adecuado si el ancho de los datos es
de un byte. Los microcontroladores de 16 y 32 bits, debido a su
elevado coste, deben reservarse para aplicaciones que requieran
sus altas prestaciones (Entrada/Salida potente o espacio de
direccionamiento muy elevado).
• Diseño de la placa: la selección de
un microcontrolador concreto condicionará el diseño
de la placa de circuitos.
Debe tenerse en cuenta que quizá usar un microcontrolador
barato encarezca el resto de componentes del
diseño.
Los microcontroladores más populares se
encuentran, sin duda, entre las mejores elecciones:
8048 (Intel). Es el padre de los microcontroladores
actuales, el primero de todos. Su precio, disponibilidad y
herramientas de desarrollo hacen que todavía sea muy
popular.
8051 (Intel y otros). Es sin duda el microcontrolador
más popular. Fácil de programar, pero potente.
Está bien documentado y posee cientos de variantes e
incontables herramientas de desarrollo.
80186, 80188 y 80386 EX (Intel). Versiones en
microcontrolador de los populares microprocesadores 8086 y 8088.
Su principal ventaja es que permiten aprovechar las herramientas
de desarrollo para PC.
68HC11 (Motorola y Toshiba). Es un microcontrolador de 8
bits potente y popular con gran cantidad de variantes.
683xx (Motorola). Surgido a partir de la popular familia
68k, a la que se incorporan algunos periféricos. Son
microcontroladores de altísimas prestaciones.
PIC (MicroChip). Familia de microcontroladores que gana
popularidad día a día. Fueron los primeros
microcontroladores RISC.
Es preciso resaltar en este punto que existen
innumerables familias de microcontroladores, cada una de las
cuales posee un gran número de variantes.
1.6 Recursos comunes a todos los
microcontroladores.
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.
1.6.1 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. Figura 1.3.
Figura 1.3. La arquitectura Harvard dispone de dos
memorias independientes para datos y para instrucciones,
permitiendo accesos simultáneos.
Los microcontroladores PIC responden a la arquitectura
Harvard.
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.
Existen tres orientaciones en cuanto a la arquitectura y
funcionalidad de los procesadores
actuales.
CISC: Un gran número de procesadores usados en
los microcontroladores 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.
RISC: Tanto la industria de
los computadores comerciales como la de los microcontroladores
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 microcontroladores 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).
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
microcontroladores de los computadores personales:
No existen sistemas de almacenamiento masivo como
disco duro o
disquetes.
Como el microcontrolador 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 guardar 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
diseñ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 mismos es diferente. Se describen las cinco versiones de
memoria no volátil que se pueden encontrar en los
microcontroladores del mercado.
1º. 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.
2ª. 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.
3ª 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.
4ª 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.
5ª 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.
1.6.4 Puertas de
Entrada y Salida
La principal utilidad de las
patitas 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.
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 lleva aparejado
un incremento del consumo de energía.
Cada fabricante oferta numerosas versiones de una
arquitectura básica de microcontrolador. En algunas
amplía las capacidades de las memorias, en otras incorpora
nuevos recursos, en otras reduce las prestaciones al
mínimo para aplicaciones muy simples, etc. La labor del
diseñador es encontrar el modelo mínimo que
satisfaga todos los requerimientos de su aplicación. De
esta forma, minimizará el coste, el hardware y el
software.
Los principales recursos específicos que
incorporan los microcontroladores son:
• Temporizadores o "Timers".
• Perro guardián o "Watchdog".
• Protección ante fallo de alimentación o
"Brownout".
• Estado de reposo o de bajo consumo.
• Conversor A/D.
• Conversor D/A.
• Comparador analógico.
• Modulador de anchura de impulsos o
PWM.
• Puertas de E/S digitales.
• Puertas de comunicación.
1.7.1
Temporizadores o "Timers"
Se emplean para controlar periodos de tiempo
(temporizadores) y para llevar la cuenta de acontecimientos que
suceden en el exterior (contadores).
Para la medida de tiempos se carga un registro con el
valor adecuado y a continuación dicho valor se va
incrementando o decrementando al ritmo de los impulsos de reloj o
algún múltiplo hasta que se desborde y llegue a 0,
momento en el que se produce un aviso.
Cuando se desean contar acontecimientos que se
materializan por cambios de nivel o flancos en alguna de las
patitas del microcontrolador, el mencionado registro se va
incrementando o decrementando al ritmo de dichos
impulsos.
1.7.2 Perro
guardián o "Watchdog"
Cuando el computador personal se
bloquea por un fallo del software u otra causa, se pulsa el
botón del reset y se reinicializa el sistema. Pero un
microcontrolador funciona sin el control de un supervisor y de
forma continuada las 24 horas del día. El Perro
guardián consiste en un temporizador que, cuando se
desborda y pasa por 0, provoca un reset automáticamente en
el sistema.
Se debe diseñar el programa de trabajo que
controla la tarea de forma que refresque o inicialice al Perro
guardián antes de que provoque el reset. Si falla el
programa o se bloquea, no se refrescará al Perro
guardián y, al completar su temporización,
"ladrará y ladrará" hasta provocar el
reset.
1.7.3
Protección ante fallo de alimentación o
"Brownout"
Se trata de un circuito que resetea al microcontrolador
cuando el voltaje de alimentación (VDD) es inferior a un
voltaje mínimo ("brownout"). Mientras el voltaje de
alimentación sea inferior al de brownout el dispositivo se
mantiene reseteado, comenzando a funcionar normalmente cuando
sobrepasa dicho valor.
1.7.4 Estado de
reposo ó de bajo consumo
Son abundantes las situaciones reales de trabajo en que
el microcontrolador debe esperar, sin hacer nada, a que se
produzca algún acontecimiento externo que le ponga de
nuevo en funcionamiento. Para ahorrar energía, (factor
clave en los aparatos portátiles), los microcontroladores
disponen de una instrucción especial (SLEEP en los PIC),
que les pasa al estado de reposo o de bajo consumo, en el cual
los requerimientos de potencia son mínimos. En dicho
estado se detiene el reloj principal y se "congelan" sus
circuitos asociados, quedando sumido en un profundo
"sueño" el microcontrolador. Al activarse una
interrupción ocasionada por el acontecimiento esperado, el
microcontrolador se despierta y reanuda su trabajo.
Los microcontroladores que incorporan un Conversor A/D
(Analógico/Digital) pueden procesar señales
analógicas, tan abundantes en las aplicaciones. Suelen
disponer de un multiplexor que permite aplicar a la entrada del
CAD diversas señales analógicas desde las patitas
del circuito integrado.
Transforma los datos digitales obtenidos del
procesamiento del computador en su correspondiente señal
analógica que saca al exterior por una de las patitas de
la cápsula. Existen muchos efectores que trabajan con
señales analógicas.
Algunos modelos de microcontroladores disponen
internamente de un Amplificador Operacional que actúa como
comparador entre una señal fija de referencia y otra
variable que se aplica por una de las patitas de la
cápsula. La salida del comparador proporciona un nivel
lógico 1 ó 0 según una señal sea
mayor o menor que la otra.
También hay modelos de microcontroladores con un
módulo de tensión de referencia que proporciona
diversas tensiones de referencia que se pueden aplicar en los
comparadores.
1.7.8 Modulador
de anchura de impulsos o PWM
Son circuitos que proporcionan en su salida impulsos de
anchura variable, que se ofrecen al exterior a través de
las patitas del encapsulado.
1.7.9 Puertos de
E/S digitales
Todos los microcontroladores destinan algunas de sus
patitas a soportar líneas de E/S digitales. Por lo
general, estas líneas se agrupan de ocho en ocho formando
Puertos.
Las líneas digitales de los Puertos pueden
configurarse como Entrada o como Salida cargando un 1 ó un
0 en el bit correspondiente de un registro destinado a su
configuración.
1.7.10 Puertos de
comunicación
Con objeto de dotar al microcontrolador de la
posibilidad de comunicarse con otros dispositivos externos, otros
buses de microprocesadores, buses de sistemas, buses de redes y poder
adaptarlos con otros elementos bajo otras normas y protocolos.
Algunos modelos disponen de recursos que permiten directamente
esta tarea, entre los que destacan:
UART, adaptador de comunicación serie
asíncrona.
USART, adaptador de comunicación serie
síncrona y asíncrona
Puerta paralela esclava para poder conectarse con los
buses de otros microprocesadores.
USB (Universal Serial Bus), que es un moderno bus
serie para los PC.
Bus I2C, que es un interfaz serie de dos
hilos desarrollado por Philips.
CAN (Controller Area Network), para permitir la
adaptación con redes de conexionado multiplexado
desarrollado conjuntamente por Bosch e Intel para el cableado de
dispositivos en automóviles. En EE.UU. se usa el
J185O.
1.8 Herramientas
para el desarrollo de aplicaciones.
Uno de los factores que más importancia tiene a
la hora de seleccionar un microcontrolador entre todos los
demás es el soporte tanto software como hardware de que
dispone. Un buen conjunto de herramientas de desarrollo puede ser
decisivo en la elección, ya que pueden suponer una ayuda
inestimable en el desarrollo del proyecto.
Las principales herramientas de ayuda al desarrollo de
sistemas basados en microcontroladores son:
Desarrollo del software:
Ensamblador. La programación en lenguaje
ensamblador puede resultar un tanto ardua para el
principiante, pero permite desarrollar programas muy
eficientes, ya que otorga al programador el dominio absoluto
del sistema. Los fabricantes suelen proporcionar el programa
ensamblador de
forma gratuita y en cualquier caso siempre se puede encontrar una
versión gratuita para los microcontroladores más
populares.
Compilador. La programación en un lenguaje de
alto nivel (como el C ó el Basic) permite disminuir el
tiempo de desarrollo de un producto. No obstante, si no se
programa con cuidado, el código resultante puede ser mucho
más ineficiente que el programado en ensamblador. Las
versiones más potentes suelen ser muy caras, aunque para
los microcontroladores más populares pueden encontrarse
versiones demo limitadas e incluso compiladores
gratuitos.
Depuración: debido a que los microcontroladores
van a controlar dispositivos físicos, los desarrolladores
necesitan herramientas que les permitan comprobar el buen
funcionamiento del microcontrolador cuando es conectado al resto
de circuitos.
Simulador. Son capaces de ejecutar en un PC programas
realizados para el microcontrolador. Los simuladores permiten
tener un control absoluto sobre la ejecución de un
programa, siendo ideales para la depuración de los mismos.
Su gran inconveniente es que es difícil simular la entrada
y salida de datos del microcontrolador. Tampoco cuentan con los
posibles ruidos en las entradas, pero, al menos, permiten el paso
físico de la implementación de un modo más
seguro y menos
costoso, puesto que ahorraremos en grabaciones de chips para la
prueba in-situ.
Placas de evaluación. Se trata de pequeños
sistemas con un microcontrolador ya montado y que suelen
conectarse a un PC desde el que se cargan los programas que se
ejecutan en el microcontrolador. Las placas suelen incluir
visualizadores LCD, teclados, LEDs, fácil acceso a los
pines de E/S, etc. El sistema operativo
de la placa recibe el nombre de programa monitor. El
programa monitor de algunas placas de evaluación, aparte
de permitir cargar programas y datos en la memoria del
microcontrolador, puede permitir en cualquier momento realizar
ejecución paso a paso, monitorizar el estado del
microcontrolador o modificar los valores
almacenados los registros o en la
memoria.
Emuladores en circuito. Se trata de un instrumento que
se coloca entre el PC anfitrión y el zócalo de la
tarjeta de circuito impreso donde se alojará el
microcontrolador definitivo. El programa es ejecutado desde el
PC, pero para la tarjeta de aplicación es como si lo
hiciese el mismo microcontrolador que luego irá en el
zócalo. Presenta en pantalla toda la información
tal y como luego sucederá cuando se coloque la
cápsula.
David