Los
microcontroladores son circuitos integrados que son capaces de ejecutar ordenes
que fueron grabadas en su memoria. Su composición está dada por varios bloques
funcionales, los cuales cumplen una tarea específica, son dispositivos que
operan uno o más 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).
El termino microcontrolador esta dado por dos palabras que son
“Micro”-“Controlador” las cuales tienen por significado “pequeño (en tamaño)” y
“maniobrar o controlar (función principal)” procesos los cuales son definidos
mediante la programación.
Un micro controlador está constituido en su interior por las tres principales
unidades funcionales de una computadora, las cuales son: unidad central de
procesamiento, memoria y periféricos de entrada y salida.
En fin un microcontrolador es un sistema completo, con unas prestaciones
limitadas que no pueden modificarse y que puede llevar a cabo las tareas para
las que ha sido programado de forma autónoma.
En cuanto a la arquitectura de los microcontroladores la detallaremos con mayor
profundidad a continuación…
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, está conectada a una memoria única que contiene las instrucciones del programa y los datos. El tamaño de la unidad de datos o instrucciones está 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 está 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) está 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.
La arquitectura Harvard y sus ventajas

La arquitectura conocida como Harvard, consiste simplemente en un esquema en el que el CPU está 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 está 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).
Arquitectura interna de un microcontrolador.

CPU (unidad central de proceso):
Podemos decir que la CPU, siglas en inglés de unidad central de proceso, es el núcleo del micro controlador. Se encarga de ejecutar las instrucciones almacenadas en la memoria, de la que hablaremos más adelante. Es lo que habitualmente llamamos procesador o microprocesador, término que a menudo se confunde con el de micro controlador. 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 micro controlador y sin él no sería útil; un micro controlador, 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 borrará cada vez que apagáramos el dispositivo. Con respecto a la memoria de datos, diremos por el momento según la situación puede interesarnos una u otra.
Unidades de entrada/salida:
Las unidades de entrada/salida son los sistemas que emplea el micro controlador 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 micro controlador y los de salida nos servirán para que éste la saque al exterior.
Algunas ventajas de los microcontroladores PIC de Microchip:
Eficiencia del código: permiten una gran compactación de los programas.
Rapidez de ejecución: a frecuencia de 20MHz->5 millones de instr./seg.
Seguridad en acceso por la separación de memoria de datos y de programa.
Juego reducido de instrucciones y de fácil aprendizaje.
Compatibilidad de pines y código entre dispositivos de la misma familia o sin reducción de las prestaciones internas (muy versátiles).
Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines) sin reducción de las prestaciones internas (muy versátiles).
Posibilidad de protección del código muy fiable.
Herramientas de desarrollo software y hardware abundantes y de bajo coste.
Deja un comentario