Definición

Los microcontroladores ( abreviado μC, UC o MCU ) son circuitos integrados que son capaces de ejecutar ordenes que fueron grabadas en su memoria. Su composición esta dada por varios bloques funcionales, los cuales cumplen una tarea especifica, son dispositivos que operan uno o mas procesos, por lo general los microcontroladores están basados en la arquitectura de Harvard, la cual consiste en dispositivos de almacenamiento separados (memoria de programa y memoria de datos).

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.
  • 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 (procesamiento digital de señales) 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.
  • La mayoría de los microcontroladores se programan en su propio lenguaje ensamblador, aunque existen herramientas con las cuales podemos programar en un lenguaje de alto nivel (cómo C) y compilar al lenguaje del microcontrolador. Esto supone (además de mayor facilidad de programación) poder utilizar librerías que realicen funciones cómo comunicar con otros dispositivos, manejar LCDs, etc.

Arquitectura de los microcontroladores

Arquitectura Von Neumann La arquitectura tradicional:

La arquitectura tradicional de computadoras y microcontroladores se basa en el esquema propuesto por John Von Neumann, en el cual la unidad central de proceso, o CPU, esta conectada a una memoria única que contiene las instrucciones del programa y los datos. El tamaño de la unidad de datos o instrucciones esta fijado por el ancho del bus de la memoria. Las dos principales limitaciones de esta arquitectura tradicional son :

a) Que la longitud de las instrucciones esta limitada por la unidad de longitud de los datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para buscar instrucciones complejas.

b) La velocidad de operación (o ancho de banda de operación) esta limitada por el efecto de cuello de botella que significa un bus único para datos e instrucciones que impide superponer ambos tiempos de acceso.

La arquitectura von Neumann permite el diseño de programas con código automodificable, práctica bastante usada en las antiguas computadoras que solo tenían acumulador y pocos modos de direccionamiento, pero innecesaria, en las computadoras modernas. (Fuente: https://microcontroladoressesv.wordpress.com/arquitectura-de-los-microcontroladores/)

 

La arquitectura Harvard y sus ventajas:

La arquitectura conocida como Harvard, consiste simplemente en un esquema en el que el CPU esta conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria de Datos. Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set de instrucciones y el bus de la memoria de programa pueden diseñarse de manera tal que todas las instrucciones tengan una sola posición de memoria de programa de longitud. Además, como los buses son independientes, el CPU puede estar accediendo a los datos para completar la ejecución de una instrucción, y al mismo tiempo estar leyendo la próxima instrucción a ejecutar. Podemos observar claramente que las principales ventajas de esta arquitectura son:

a) El tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.

b) El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operación.

Una pequeña desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran físicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador).

Estructura

CPU (unidad central de proceso):

Podemos decir que la CPU, siglas en inglés de unidad central de proceso, es el núcleo del microcontrolador. Se encarga de ejecutar las instrucciones almacenadas en la memoria. Es lo que habitualmente llamamos procesador o microprocesador, término que a menudo se confunde con el de microcontrolador. En esta línea cabe aclarar que, tal y como estamos viendo, ambos términos no son lo mismo: el microprocesador es una parte de un microcontrolador y sin él no sería útil; un microcontrolador, en cambio, es un sistema completo que puede llevar a cabo de forma autónoma una labor.

Memoria:

Entendemos por memoria los diferentes componentes del microcontrolador que se emplean para almacenar información durante un periodo determinado de tiempo. La información que necesitaremos durante la ejecución del programa será, por un lado, el propio código, y por otro, los diferentes datos que usemos durante la ejecución del mismo. Hablaremos por tanto de memoria de programa y de memoria de datos, respectivamente.

La diferente naturaleza de la información que hay que almacenar hace necesario el uso de diferentes tipos memorias. Sin hacer especial énfasis en este apartado, sí habrá que tener en cuenta una clasificación básica, que distingue entre memoria volátil y no volátil. La primera es aquella que pierde la información que almacena al desconectarla de la alimentación; la segunda, como resulta obvio, no. Por lo tanto, se hace evidente que al menos la memoria de programa deberá ser no volátil: no sería práctico que el programa grabado en el microcontrolador se borrara cada vez que apagáramos el dispositivo. 

Unidades de entrada/salida:

Las unidades de entrada/salida son los sistemas que emplea el microcontrolador para comunicarse con el exterior. Imaginemos una televisión: por un lado tiene un dispositivo de salida, como es la pantalla, y por otro lado, de entrada, como son los botones de subir o bajar volumen y de cambio de canal. Así, los dispositivos de entrada nos permitirán introducir información en el microcontrolador y los de salida nos servirán para que éste la saque al exterior.

Arquitectura RISC y CISC

Los microcontroladores se pueden clasificar en dos tipos en función de su arquitectura.
 

RISC (Reduced Instruction Set Computer) – Computadora con Juego de Instrucciones Reducidas.

En este caso la idea es que el microcontrolador reconoce y ejecuta sólo operaciones básicas (sumar, restar, copiar etc…) Las operaciones más complicadas se realizan al combinar éstas (por ejemplo, multiplicación se lleva a cabo al realizar adición sucesiva). Además, el microcontrolador es muy rápido así que no es posible ver todas las “acrobacias” aritméticas que realiza. El usuario sólo puede ver el resultado final de todas las operaciones. 

En resumen RISC son los que utilizan un numero muy limitado de instrucciones sencillas.

CISC (Complex Instruction Set Computer) – Computadoras con un juego de instrucciones complejo.

¡CISC es opuesto a RISC! Los microcontroladores diseñados para reconocer más de 200 instrucciones diferentes realmente pueden realizar muchas cosas a alta velocidad. 

 Los CISC utilizan un gran numero de instrucciones, mucho mas complejas.

 

Los microcontroladores más utilizados son los fabricados por la empresa Microchip. La principal familia de microcontroladores de esta empresa son los denominados PIC. Esta empresa facilita a los clientes un entorno de programación denominado MPLab para el desarrollo de aplicaciones para el microcontrolador.

 

Haz tu página web gratis Webnode