martes, 30 de diciembre de 2008

Aspectos Generales sobre Microcontroladores

Antes de entrar en materia es necesario ver algo de teoría para tener un contexto del cual partir. En esta ocasión se verá un poco sobre los aspectos generales de los microcontroladores, qué es un microcontrolador, cuáles son las diferencias entre microcontroladores y microprocesadores y cuál es la arquitectura de los microcontroladores.

¿Qué es un Microcontrolador?

Un microcontrolador es un circuito integrado programable que incluye todos los elementos de una computadora funcional. Contiene un procesador (CPU), memoria de datos y de programa (RAM y ROM), periféricos y líneas de entrada/salida (E/S). Se usa para controlar el funcionamiento de una tarea determinada, una vez programado solamente realizará la aplicación programada.

Los microcontroladores tienen una alta integración, al contrario de los microprocesadores que solamente contienen una CPU. Además de los elementos de aritmética y lógica usuales de los microprocesadores de propósito general, los microcontroladores integran también elementos adicionales como memoria RAM para almacenar datos, memoria ROM para almacenar el programa, memoria FLASH para guardar datos de manera permanente, periféricos e interfaces de E/S. En comparación con microprocesadores, los microcontroladores trabajan a velocidades muy bajas, tan bajas como 32KHz. Consumen relativamente poca corriente, del orden de los micro o miliwatts (en modo sleep pueden ser incluso nanowatts), lo que los hace ideales para aplicaciones de bajo consumo.

Hoy en día los microcontroladores son usados en un amplio rango de aplicaciones. Podemos encontrar microcontroladores dentro de un automóvil que se encargan del control del motor, del sistema de frenos o del clima, también en aparatos electrodomésticos como lavadoras, refrigeradores u hornos, en televisores, aparatos musicales. Su uso se extiende además a instrumentos y herramientas industriales, instrumentos electrónicos de medición como osciloscopios y multímetros, computadoras (además del microprocesador gran parte del control de los periféricos de una computadora lo realizan uno o más microcontroladores), teléfonos celulares, juguetes de radiocontrol, entre muchas otras aplicaciones.

Diferencia entre microprocesador y microcontrolador

La diferencia básica entre un microprocesador y un microcontrolador es que el microcontrolador incluye en el mismo circuito integrado todos los elementos necesarios para controlar una aplicación, del mismo modo el tipo de aplicación al que esta destinado el microcontrolador dependerá de las limitaciones de memoria, periféricos y líneas de E/S con las que cuente. Un microprocesador en cambio solamente cuenta con la CPU a la que se conectan la memoria, los periféricos y módulos de E/S que se requieran para la aplicación a la que se vaya a destinar. Un microprocesador, al poder modificar su configuración, no tiene restricción en el tipo de aplicaciones que puede realizar.

Un microprocesador es un sistema abierto ya que con el que puede construirse un sistema con las caracteríticas que se deseen, añadiendole los módulos que sean necesarios. Un microcontrolador en cambio es un sistema cerrado ya que sus prestaciones son limitadas y no se pueden modificar.

Arquitectura de microcontroladores

Las computadoras constan principalmente de dos partes, la Unidad Central de Proceso (CPU) que procesa los datos y la memoria que los guarda. Al hablar de memoria nos referimos a dos parámetros distintos: la memoria de datos y la memoria de programa. La arquitectura Von Neumann es la arquitectura tradicional de computadoras y microprocesadores. En ella el procesador está conectado a una memoria única donde se guardan los datos y las instrucciones del programa.

En esta arquitectura el tamaño de la unidad de datos o instrucciones depende del bus que comunica la memoria con el procesador, de este modo un microprocesador de 8 bits con un bus de 8 bits manejará datos e instrucciones de una o más unidades de 8 bits. Esta arquitectura presenta dos inconvenientes, la limitación de la longitud de las instrucciones por el bus de datos que hace que se tengan que realizar varios accesos a memoria para buscar instrucciones complejas y la limitación de la velocidad de operación a causa del bus único para datos e instrucciones que no permite el acceso simultáneo a unos y otras.

En la arquitectura Harvard instrucciones y datos se almacenan en memorias separadas que se conectan mediante buses independientes al procesador ofreciendo así una solución a la limitación de velocidad que se tiene en la arquitectura Von Neumann ya que permite un acceso simultáneo a las memorias de datos y de programa. Además esta dualidad permite la adecuación del tamaño de palabra y de los buses a los requeridos por las instrucciones y los datos.

--
La próxima semana hablaremos un poco sobre la arquitectura del PIC16F628. Hasta el próximo año!

No hay comentarios:

Publicar un comentario