1. CONTENIDO
· Definición
Un microcontrolador (abreviado μC, UC o MCU)
es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en
su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen
una tarea específica. Un microcontrolador incluye en su interior las tres
principales unidades funcionales de una computadora: unidad central de
procesamiento, memoria y periféricos de entrada/salida.
Algunos microcontroladores pueden utilizar
palabras de cuatro bits y funcionan a velocidad de reloj con frecuencias tan
bajas como 4 kHz, con un consumo de baja potencia (mW o microvatios). Por lo
general, tendrá la capacidad de mantenerse a la espera de un evento como pulsar
un botón o de otra interrupción; así, el consumo de energía durante el estado
de reposo (reloj de la CPU y los periféricos de la mayoría) puede ser sólo de
nanovatios, lo que hace que muchos de ellos sean muy adecuados para
aplicaciones con batería de larga duración. Otros microcontroladores pueden servir
para roles de rendimiento crítico, donde sea necesario actuar más como un
procesador digital de señal (DSP), con velocidades de reloj y consumo de
energía más altos.
Cuando
es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que
pueda controlar algún proceso es necesario generar o crear y luego grabar en la
EEPROM o equivalente del
microcontrolador algún programa, el cual puede ser escrito en lenguaje
ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el
programa pueda ser grabado en la memoria del microcontrolador, debe ser
codificado en sistema numérico hexadecimal que es finalmente el sistema que
hace trabajar al microcontrolador cuando éste es alimentado con el voltaje
adecuado y asociado a dispositivos analógicos y discretos para su
funcionamiento.
· Características
Los microcontroladores están diseñados para
reducir el costo económico y el consumo de energía de un sistema en particular.
Por eso el tamaño de la unidad central de procesamiento, la cantidad de memoria
y los periféricos incluidos dependerán de la aplicación. El control de un
electrodoméstico sencillo como una batidora utilizará un procesador muy pequeño
(4 u 8 bits) porque sustituirá a un autómata finito. En cambio, un reproductor
de música y/o vídeo digital (MP3 o MP4) requerirá de un procesador de 32 bits o
de 64 bits y de uno o más códecs de señal digital (audio y/o vídeo). El control
de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un
microcontrolador de 16 bits, al igual que el sistema de control electrónico del
motor en un automóvil.
Los microcontroladores representan la inmensa
mayoría de los chips de computadoras vendidos, sobre un 50% son controladores
"simples" y el restante corresponde a DSP más especializados.
Mientras se pueden tener uno o dos microprocesadores de propósito general en
casa (Ud. está usando uno para esto), usted tiene distribuidos seguramente
entre los electrodomésticos de su hogar una o dos docenas de
microcontroladores. Pueden encontrarse en casi cualquier dispositivo
electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.
Un microcontrolador difiere de una unidad
central de procesamiento normal, debido a que es más fácil convertirla en una
computadora en funcionamiento, con un mínimo de circuitos integrados externos
de apoyo. La idea es que el circuito integrado se coloque en el dispositivo,
enganchado a la fuente de energía y de información que necesite, y eso es todo.
Un microprocesador tradicional no le permitirá hacer esto, ya que espera que
todas estas tareas sean manejadas por otros chips. Hay que agregarle los
módulos de entrada y salida (puertos) y la memoria para almacenamiento de
información.
Un microcontrolador típico tendrá un
generador de reloj integrado y una pequeña cantidad de memoria de acceso
aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo funcionar todo lo
que se necesita son unos pocos programas de control y un cristal de
sincronización. Los microcontroladores disponen generalmente también de una
gran variedad de dispositivos de entrada/salida, como convertidor analógico
digital, temporizadores, UARTs y buses de interfaz serie especializados, como
I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados
por instrucciones de procesadores especializados. Los modernos
microcontroladores frecuentemente incluyen un lenguaje de programación
integrado, como el lenguaje de programación BASIC que se utiliza bastante con
este propósito.
Los microcontroladores negocian la velocidad
y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio
en el chip para incluir funcionalidad, como los dispositivos de entrada/salida
o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier
otra circuitería.
· Arquitecturas
Arquitectura Von Neumann
Utiliza el mismo dispositivo de
almacenamiento tanto para las instrucciones como para los datos, siendo la que
se utiliza en un ordenador personal porque permite ahorrar una buena cantidad
de líneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas
donde el procesador se monta en algún tipo de zócalo alojado en una placa
madre. También esta organización les ahorra a los diseñadores de placas madre
una buena cantidad de problemas y reduce el costo de este tipo de sistemas.
En un ordenador personal, cuando se carga un
programa en memoria, a éste se le asigna un espacio de direcciones de la
memoria que se divide en segmentos, de los cuales típicamente tenderemos los
siguientes: código (programa), datos y pila. Es por ello que podemos hablar de
la memoria como un todo, aunque existan distintos dispositivos físicos en el
sistema (disco duro, memoria RAM, memoria flash, unidad de disco óptico...).
En el caso de los microcontroladores, existen
dos tipos de memoria bien definidas: memoria de datos (típicamente algún tipo
de SRAM) y memoria de programas (ROM, PROM, EEPROM, flash u de otro tipo no
volátil). En este caso la organización es distinta a las del ordenador
personal, porque hay circuitos distintos para cada memoria y normalmente no se
utilizan los registros de segmentos, sino que la memoria está segregada y el
acceso a cada tipo de memoria depende de las instrucciones del procesador.
A pesar de que en los sistemas integrados con
arquitectura Von Neumann la memoria esté segregada, y existan diferencias con
respecto a la definición tradicional de esta arquitectura; los buses para
acceder a ambos tipos de memoria son los mismos, del procesador solamente salen
el bus de datos, el de direcciones, y el de control. Como conclusión, la
arquitectura no ha sido alterada, porque la forma en que se conecta la memoria
al procesador sigue el mismo principio definido en la arquitectura básica.
Algunas familias de microcontroladores como
la Intel 8051 y la Z80 implementan este tipo de arquitectura, fundamentalmente
porque era la utilizada cuando aparecieron los primeros microcontroladores.
Arquitectura Harvard
La otra variante es la arquitectura Harvard,
y por excelencia la utilizada en supercomputadoras, en los microcontroladores,
y sistemas integrados en general. En este caso, además de la memoria, el
procesador tiene los buses segregados, de modo que cada tipo de memoria tiene
un bus de datos, uno de direcciones y uno de control.
La ventaja fundamental de esta arquitectura
es que permite adecuar el tamaño de los buses a las características de cada
tipo de memoria; además, el procesador puede acceder a cada una de ellas de
forma simultánea, lo que se traduce en un aumento significativo de la velocidad
de procesamiento. Típicamente los sistemas con esta arquitectura pueden ser dos
veces más rápidos que sistemas similares con arquitectura Von Neumann.
La desventaja está en que consume muchas
líneas de E/S del procesador; por lo que en sistemas donde el procesador está
ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin
embargo, en los microcontroladores y otros sistemas integrados, donde
usualmente la memoria de datos y programas comparten el mismo encapsulado que
el procesador, este inconveniente deja de ser un problema serio y es por ello que
encontramos la arquitectura Harvard en la mayoría de los microcontroladores.
Por eso es importante recordar que un
microcontrolador se puede configurar de diferentes maneras, siempre y cuando se
respete el tamaño de memoria que este requiera para su correcto funcionamiento.
· Elementos
Registros
Son un espacio de memoria muy reducido pero
necesario para cualquier microprocesador, de aquí se toman los datos para
varias operaciones que debe realizar el resto de los circuitos del procesador.
Los registros sirven para almacenar los resultados de la ejecución de
instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.
Aunque la importancia de los registros
parezca trivial, no lo es en absoluto. De hecho una parte de los registros, la
destinada a los datos, es la que determina uno de los parámetros más
importantes de cualquier microprocesador. Cuando escuchamos que un procesador
es de 4, 8, 16, 32 o 64 bits, nos estamos refiriendo a procesadores que
realizan sus operaciones con registros de datos de ese tamaño, y por supuesto,
esto determina muchas de las potencialidades de estas máquinas.
Mientras mayor sea el número de bits de los
registros de datos del procesador, mayores serán sus prestaciones, en cuanto a
poder de cómputo y velocidad de ejecución, ya que este parámetro determina la
potencia que se puede incorporar al resto de los componentes del sistema, por
ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits.
Unidad
de control
Esta unidad es de las más importantes en el
procesador, en ella recae la lógica necesaria para la decodificación y
ejecución de las instrucciones, el control de los registros, la ALU, los buses
y cuanta cosa más se quiera meter en el procesador.
La unidad de control es uno de los elementos
fundamentales que determinan las prestaciones del procesador, ya que su tipo y
estructura determina parámetros tales como el tipo de conjunto de
instrucciones, velocidad de ejecución, tiempo del ciclo de máquina, tipo de
buses que puede tener el sistema, manejo de interrupciones y un buen número de
cosas más que en cualquier procesador van a parar a este bloque.
Unidad
aritmético-lógica (ALU)
Como los procesadores son circuitos que hacen
básicamente operaciones lógicas y matemáticas, se le dedica a este proceso una
unidad completa, con cierta independencia. Aquí es donde se realizan las sumas,
restas, y operaciones lógicas típicas del álgebra de Boole.
Actualmente este tipo de unidades ha
evolucionado mucho y los procesadores más modernos tienen varias ALU,
especializadas en la realización de operaciones complejas como las operaciones
en coma flotante. De hecho en muchos casos le han cambiado su nombre por el de
“coprocesador matemático”, aunque este es un término que surgió para dar nombre
a un tipo especial de procesador que se conecta directamente al procesador más
tradicional.
Buses
Son el medio de comunicación que utilizan los
diferentes componentes del procesador para intercambiar información entre sí,
eventualmente los buses o una parte de ellos estarán reflejados en los pines
del encapsulado del procesador.
En el caso de los microcontroladores, no es
común que los buses estén reflejados en el encapsulado del circuito, ya que
estos se destinan básicamente a las E/S de propósito general y periféricos del
sistema.
Existen tres tipos de buses:
• Dirección:
Se utiliza para seleccionar al dispositivo con el cual se quiere trabajar o en
el caso de las memorias, seleccionar el dato que se desea leer o escribir.
• Datos:
Se utiliza para mover los datos entre los dispositivos de hardware (entrada y
salida).
• Control:
Se utiliza para gestionar los distintos procesos de escritura lectura y
controlar la operación de los dispositivos del sistema.
Conjunto
de instrucciones
Aunque no aparezca en el esquema, no podíamos
dejar al conjunto o repertorio de instrucciones fuera de la explicación, porque
este elemento determina lo que puede hacer el procesador.
Define las operaciones básicas que puede
realizar el procesador, que conjugadas y organizadas forman lo que conocemos
como software. El conjunto de instrucciones vienen siendo como las letras del
alfabeto, el elemento básico del lenguaje, que organizadas adecuadamente
permiten escribir palabras, oraciones y cuanto programa se le ocurra.
Existen dos tipos básicos de repertorios de
instrucciones, que determinan la arquitectura del procesador: CISC y RISC.
· Memorias
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.
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.
· Interrupciones
Las interrupciones son esencialmente llamadas
a subrutina generadas por los dispositivos físicos, al contrario de las
subrutinas normales de un programa en ejecución. Como el salto de subrutina no
es parte del hilo o secuencia de ejecución programada, el controlador guarda el
estado del procesador en la pila de memoria y entra a ejecutar un código
especial llamado "manejador de interrupciones" que atiende al
periférico específico que generó la interrupción. Al terminar la rutina, una
instrucción especial le indica al procesador el fin de la atención de la
interrupción. En ese momento el controlador restablece el estado anterior, y el
programa que se estaba ejecutando antes de la interrupción sigue como si nada
hubiese pasado. Las rutinas de atención de interrupciones deben ser lo más
breves posibles para que el rendimiento del sistema sea satisfactorio, porque
normalmente cuando una interrupción es atendida, todas las demás interrupciones
están en espera.
Los procesos de atención a interrupciones
tienen la ventaja de que se implementan por hardware ubicado en el procesador,
así que es un método rápido de hacer que el procesador se dedique a ejecutar un
programa especial para atender eventos que no pueden esperar por mecanismos
lentos como el de encuesta.
En términos generales, un proceso de
interrupción y su atención por parte del procesador, tiene la siguiente
secuencia de acciones:
1. En el mundo real se produce
el evento para el cual queremos que el procesador ejecute un programa especial,
este proceso tiene la característica de que no puede esperar mucho tiempo antes
de ser atendido o no sabemos en qué momento debe ser atendido.
2. El circuito encargado de
detectar la ocurrencia del evento se activa, y como consecuencia, activa la
entrada de interrupción del procesador.
3. La unidad de control detecta
que se ha producido una interrupción y “levanta” una bandera para registrar
esta situación; de esta forma si las condiciones que provocaron el evento
desaparecen y el circuito encargado de detectarlo desactiva la entrada de
interrupción del procesador, ésta se producirá de cualquier modo, porque ha
sido registrada.
4. La unidad de ejecución
termina con la instrucción en curso y justo antes de comenzar a ejecutar la
siguiente comprueba que se ha registrado una interrupción
5. Se desencadena un proceso
que permite guardar el estado actual del programa en ejecución y saltar a una
dirección especial de memoria de programas, donde está la primera instrucción
de la subrutina de atención a interrupción.
6. Se ejecuta el código de
atención a interrupción, esta es la parte “consciente” de todo el proceso
porque es donde se realizan las acciones propias de la atención a la
interrupción y el programador juega su papel.
7. Cuando en la subrutina de
atención a interrupción se ejecuta la instrucción de retorno, se desencadena el
proceso de restauración del procesador al estado en que estaba antes de la
atención a la interrupción.
´
2.
RESUMEN
Un
microcontrolador es un circuito integrado programable que incluye todos los
componentes de un computador y el cual se emplea para controlar el
funcionamiento de una tarea determinada y debido a su reducido tamaño, suele ir
incorporado en el propio dispositivo que gobierna (es un controlador
incrustado). Los PIC controlan los
teclados y ratones de las computadoras, los teléfonos, los hornos de
microondas, los televisores, etc., de ahí que su extensa área de aplicación
amerita que se aprenda a programar los mismos, objetivo fundamental de este
curso.
3. SUMMARY
A microcontroller is a programmable integrated circuit that includes all components of a computer and which is used to control the operation of a particular task and because of its small size, is usually built into the device itself that governs (is an embedded controller) . The PIC control keyboards and computer mice, telephones, microwave ovens, televisions, etc., hence its wide application area that warrants learn to program the same fundamental goal of this course.
A microcontroller is a programmable integrated circuit that includes all components of a computer and which is used to control the operation of a particular task and because of its small size, is usually built into the device itself that governs (is an embedded controller) . The PIC control keyboards and computer mice, telephones, microwave ovens, televisions, etc., hence its wide application area that warrants learn to program the same fundamental goal of this course.
4. RECOMENDACIONES
v Crear
una lista de todas las interfaces externas que el microcontrolador tendrá que
soportar.
v Pensar
en los requisitos de potencia de procesamiento que necesitará nuestro
microcontrolador.
v Seleccionar
la arquitectura con la cual va a trabajar el microcontrolador.
v A la
hora de seleccionar un microcontrolador tener en cuenta la cantidad de memoria programada (OTP o
Flash) y la cantidad de RAM disponible.
5. CONCLUSIONES
El
microcontrolador es uno de los logros más sobresalientes del siglo XX. Hace un
cuarto de siglo tal afirmación habría parecido absurda. Pero cada año, el
microcontrolador se acerca más al centro de nuestras vidas, forjándose un sitio
en el núcleo de una máquina tras otra. Su presencia ha comenzado a cambiar la
forma en que percibimos el mundo e incluso a nosotros mismos. Cada vez se hace
más difícil pasar por alto el microcontrolador como otro simple producto en una
larga línea de innovaciones tecnológicas.
6. APRECIACION
DEL EQUIPO
Hoy en la actualidad los
microcontroladores son muy utilizados en el aspecto tecnológico ya que ayudar a
monitorear, circuiteria de control, para hacer pequeñas computadoras para
robots y sistemas de adquisición de datos. Y son de tan bajo consumo de energía
que se usan para monitorear signos vitales dentro del cuerpo.
7. GLOSARIO
DE TÉRMINOS
Kilohertz(KHz):El
Kilohercio un kilohercio, o el Kilohercio, es una medida de frecuencia igual a
1,000 hercios.
CPU: Unidad central de proceso.
DSP: Procesador
digital de señales.
ABS: Sistema que impide el bloqueo de las ruedas de
un vehículo automóvil en una maniobra de frenado brusco.
ALU: Unidad
aritmética lógica o unidad aritmético-lógica.
VOLÁTIL: Que cambia o varía con facilidad y de forma
poco previsible.
8. BIBLIOGRAFÍA
O LINKOGRAFÍA
LINK DE DESCAGA SLIDESHARE: Microcontrolador
Bien elaborada la PRESENTACION. Defina claramente las CONCLUSIONES y RECOMENDACIONES. Detalle la APRECIACION con sus propias palabras. Trabajo bien desarrollado y explicado. Proponga un foro de discusión sobre el tema.Gracias por su investigación.Saludos
ResponderEliminar