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 está 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.
Evolución del Microcontrolador
A medida que fue transcurriendo el tiempo los microcontroladores fueron tomando mayor relevancia en el ámbito de la electrónica y la computación, esto debido a los grandes resultados que se obtienen al integrarlos a los distintos circuitos eléctricos tomando muchas veces el control completo de un sistema y también a la gran evolución que tuvieron durante el transcurso del tiempo en cuanto a su arquitectura y funcionamiento, continuación les presentamos una pequeña lista de la evolución de los microcontroladores.
8048 (Intel):El primer microcontrolador. Antiguo y un poco obsoleto (para los estándares de hoy en día), es aún muy popular debido a su bajo precio, disponibilidad y un enorme rango de herramientas de desarrollo. Tiene arquitectura de Harvard modificada con programa ROM en chip con una memoria RAM de 64 a 256 bytes adicionales en el chip. La entrada salida tiene su propio espacio de memoria.
8051 (Intel y otros):
-Segunda generación de microcontroladores Intel, ha marcado muchas de las características actuales. Tiene un diseño un poco raro, pero es muy potente y sencillo de programar (una vez que se conoce). Su arquitectura es Harvard Modificada con espacio de direcciones separadas para memoria de programa y memoria de datos.
-El 8051 puede direccionar hasta 64k de memoria de datos externa, y solo puede acceder a ella mediante direccionamiento indirecto. 80c196 (MCS-96).
-La tercera generación de microcontroladores Intel, el 80C196 es un procesador de 16 bits. Originalmente fabricado en tecnología NMOS (8096), ahora está disponible principalmente en CMOS. Intel Corp. Ha introducido recientemente una versión del doble de velocidad (50 MHz) del 80C196. Sus características son:
Multiplicador y divisor hardware, 6 modos de direccionamiento. Alta velocidad de E/S.
Conversor A/D.
Canal de comunicaciones Serie.
Hasta 40 puertos de E/S.
8 Controladores de interrupción programables.
80186,80188 (Intel):
Estos chips son, fundamentalmente, la versión en microcontrolador del 8086 y del 8088 (del famoso IBM PC).
El chip tiene:
2 Canales de DMA (acceso directo a memoria)
2 Contadores/temporizadores.
Controlador de interrupción programable.
Refresco de RAM dinámica.
Una de las mayores ventajas de estos dispositivos es que se pueden utilizar herramientas de desarrollo estándar para PC (Compiladores, ensambladores, etc.). 80386 EX Intel
El 80386 EX:
es por supuesto un 386 vestido de microcontrolador, dentro del chip existen:
Entrada/Salida serie.
Manejo de la alimentación del chip.
DMA (Acceso directo a memoria)
Contadores/Temporizadores.
Circuito de refresco para memoria DRAM.
Una de las mayores ventajas de estos dispositivos es que se pueden utilizar herramientas de desarrollo estándar para PC (Compiladores, ensambladores, etc.).
65C02/W65C816S/W65C134S WDC (Western Design Center):
El Western Design Center Inc. es el dueño original y diseñador del microcontrolador 65C02 de 8-bit que se usó en el Apple original.
Para el ordenador Commodore y el Atari WDC desarrollo el microprocesador 65C816 de 16 bits.
- El W65C816S es un microcontrolador con un 65C02 dentro.
- El W65C134S es un microcontrolador hecho con un 65C816.
68HC05 (Motorola):
Está basado en el antiguo 6800, tiene arquitectura Von-Neuman donde las instrucciones, datos, entrada/salida y temporizadores ocupan un mismo espacio de memoria.
El puntero de pila tiene un ancho de palabra de 5 bits, lo que limita la pila a 32 posiciones, algunos modelos incluyen:
Conversor A/D.
Sintetizador PLL.
E/S serie.
68HC11 (Motorola y Toshiba):
El popular 68HC11 es un poderoso microcontrolador de Motorola de 8 bits con las siguientes características:
- Direcciones de 16 bits.
- Juego de instrucciones similar a la familia 68xx. (6801, 6805, 6809)
- Tiene un único espacio de memoria principal donde están las instrucciones, datos, E/S, y temporizadores.
PIC (MicroChip):
Aunque el éxito de los microcontroladores PIC es reciente, su introducción en el mercado se realizó hace 20 años.
Los microcontroladores PIC fueron los primeros microcontroladores RISC, RISC generalmente implica que la simplicidad de diseño permite añadir más características a bajo precio y la línea PIC no es una excepción.
Aunque tiene pocas instrucciones (33 instrucciones el 16C5X mientras que el Intel 8048 tiene más de 90), la línea PIC tiene las características siguientes:
Buses de instrucciones y datos separados (arquitectura Harvard) lo que permite el acceso simultáneo a las instrucciones y a los datos, y el solapamiento de algunas operaciones para incrementar las prestaciones de proceso.
Los microcontroladores PIC están ganando popularidad debido a su bajo costo, pequeño tamaño y a su bajo consumo pueden ser usados en áreas en las que antes se pensaba que eran inapropiados.
COP400 Familia:
La familia C0P400 es un microcontrolador de 4 bit P2CMOS que ofrece desde 512 hasta 2K de ROM y desde 32×4 hasta 160×4 de memoria RAM.
Lejos de la vieja tecnología, los microcontroladores de 4 bits tienen un importante mercado y tienen más aplicaciones que nunca.
Estos dispositivos son muy versátiles, hay más de 60 diferentes.
COP800 Familia (National Semiconductor):
La familia COP800 Basic es un microcontrolador de 8 bits totalmente estático, fabricado usando puertas “double metal silicon” de tecnología microCMOS.
Este microcontrolador de bajo costo contiene:
Temporizadores. Lógica de Interrupción.
Memoria ROM. Memoria RAM. Entrada/Salida
Memoria de E/S mapeada. Entrada/Salida serie Microwire.
UART Muchos temporizadores/Contadores de 16 bits.
Interrupciones vectorizadas. Comparador.
Temporizador WATCHDOG. Monitor de reloj.
Conversor A/D de 8 canales. Protección Brownout.
COMO FUNCIONA?
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).
Arquitectura Von Neumann de microprocesador (acceso a memorias y periféricos).
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.
PARTES:
La CPU :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, 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 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.
Podemos ver al microprocesador como el cerebro de una persona y al microcontrolador como el cuerpo: el cerebro se encarga de procesar toda la información, pero necesita a los demás órganos para funcionar. De la misma forma, el microprocesador, que únicamente se encarga de ejecutar las instrucciones, necesita, por un lado, un lugar donde almacenarlas, es decir, la memoria, y por otro, un medio para interactuar con el exterior, es decir, los dispositivos de entrada/salida.
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. Con respecto a la memoria de datos, diremos por el momento según la situación puede interesarnos una u otra.
La existencia de dos tipos de información a almacenar, nos lleva también al concepto de arquitectura. Entendemos por arquitectura el conjunto de componentes del microcontrolador y la forma en la que éstos se relacionan. Las más conocidas son la arquitectura Harvard y la arquitectura Von Neumann. En la primera, datos y programa estas almacenados en dos memorias físicamente separadas, cada una de ellas con un bus de comunicaciones propio. En la segunda, datos y programa se encuentran en el mismo dispositivo de memoria, por lo que comparten un mismo.
Arquitectura Harvard
Arquitectura Von Neumann
Unidades de entrada/salida :Ya hemos visto qué parte del microcontrolador ejecuta las instrucciones de nuestro programa y de dónde las lee. Ahora sólo nos falta ver qué son las 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.
En el futuro haremos mucho más hincapié en estos dispositivos, pues son fundamentales a la hora de desarrollar una aplicación: ¿qué sentido tendría diseñar un programa que hiciera ciertas operaciones para al final no mostrar ningún resultado al usuario final?
El post de hoy ha sido una pequeña introducción teórica a los conceptos básicos que rodean al funcionamiento interno del microcontrolador. Es posiblemente uno de los temas más aburridos, por tratarse únicamente de teoría. Era de todas formas una lección necesaria y que nos ayudará en el futuro a comprender el comportamiento de un microcontrolador.
FUENTES BIBLIOGRAFICAS
-https://microcontroladoressesv.wordpress.com/arquitectura-de-los-microcontroladores/
-https://microcontroladoressesv.wordpress.com/evolucion-del-microcontrolador/
-https://trecedb.wordpress.com/2009/02/13/partes-del-microcontrolador/