lunes, 19 de marzo de 2012

Microcontroladores

Un microcontrolador es un dispositivo electrónico que es capaz de realizar procesos lógicos. Estos procesos o acciones se programan en lenguaje ensamblador por el usuario y se introducen en el microcontrolador a través de un programador. 

Actualmente, podemos encontrar microcontoladores en el hogar, en nuestro trabajo, en nuestra vida. Se encuentran controlando el funcionamiento de los teclados y ratones de las computadoras, en los teléfonos, en los hornos microondas, en las televisiones, etc. Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo determinado producido en una semana. 

Tipos de arquitecturas de microcontroladores



Arquitectura Von Neumann






La arquitectura tradicional de las computadoras y microprocesadores está basado en la arquitectura Von Neumann, en donde la unidad central de proceso (CPU), está conectada a una memoria única donde se guardan las instrucciones del programa y los datos. El tamaño de la unidad de datos o instrucciones está definido por el ancho del bus que comunica la memoria con la unidad central de proceso. Por ejemplo un microprocesador de 8 bits con un bus de 8 bits, tendrá que tener datos e instrucciones de una o más unidades de 8 bits de longitud. Si se quiere acceder a una instrucción o dato de más de un byte de longitud se tendrá que hacer más de un acceso a la memoria. Teniendo un sólo bus hace que el microprocesador sea más lento en su respuesta, debido a que no puede buscar en memoria una nueva instrucción mientras no finalicen las transferencias de datos de la instrucción anterior. 


Arquitectura Harvard






La arquitectura Harvard tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) a través de dos buses diferentes. Una de las memorias tiene solamente las intrusiones del programa y la otra sólo almacena los datos. Los dos buses son independientes y pueden ser de diferentes anchos. Para procesar un set de instrucciones reducido (RISC), el set de instrucciones y el bus de memoria de programa pueden diseñarse de forma que todas las instrucciones tengan una sola posición de memoria de programa de longitud. Una ventaja de que los buses sean independientes es que la CPU puede acceder a los datos para completar la ejecución de una instrucción y al mismo tiempo leer la siguiente instrucción.


Ventajas
  • El tamaño de las instrucciones no se relaciona con el de los datos, por lo tanto se puede optimizar para que cualquier instrucción ocupe una sola posición de memoria de programa y con esto tener mayor velocidad y menor longitud de programa.
  • El tiempo de acceso a las instrucciones se puede superponer con el de los datos y con esto lograr una mayor velocidad en cada operación.
Desventajas
  • Los procesadores deben tener instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontrarán físicamente en la memoria de programa.

Estructura y elementos de los microcontroladores

El procesador


Es el elemento principal del microcontrolador, determina las principales características en nivel software y hardware. Es responsable de direccionar la memoria de instrucciones, recibir el código OP de la instrucción actual, su decodificación y la ejecución de la operación que implica la instrucción, así como la búsqueda de los operandos y el almacenamiento del resultado. 

Tipos de procesadores


CISC


En los microcontroladores se utilizan un gran número de procesadores que se basan en la filosofía CISC (Computadores de Juego de Instrucciones Complejo). Tienen más de 80 instrucciones máquina, de las cuales algunas son muy potentes y complejas y requieren de muchos ciclos para ejecutarse. Una ventaja es que ofrecen al programador instrucciones complejas que actúan como macros.

RISC


Computadores de juego de instrucciones reducido (RISC), en estos procesadores las instrucciones máquina son muy reducidas, las instrucciones son simples y se ejecutan en un ciclo. Esto permite que se pueda optimizar el hardware y software del procesador.

SISC


SISC (Computadores de juego de instrucciones específico), estos procesadores se utilizan en microcontroladores destinados a aplicaciones muy concretas, las instrucciones son reducidas y específicas y se adaptan a las necesidades de la aplicación prevista.




Memoria


En los microcontroladores la memoria de instrucciones y datos está integrada en el chip. Una parte de la memoria es no volátil, tipo ROM, y tiene el programa de instrucciones de la aplicación. Otra parte de la memoria es tipo RAM, volátil, y ahí se guardan las variables y los datos. 


A diferencia de las computadoras personales, en este caso los microcontroladores no tienen almacenamiento masivo como disco duro. Los microcontroladores sólo se destina a una sola tarea en la memoria ROM, sólo se almacena un único programa de trabajo. En estos dispositivos la RAM es de poca capacidad ya que sólo contiene las variables y los cambios de información que se produzcan en el transcurso del programa. 


ROM con máscara


Es una memoria no volátil de sílo lectura, su contenido se graba en la fabricación del chip. Los chips se fabrican en obleas que tienen varias decenas de chips. Las obleas se fabrican a partir de procesos fotoquímicos, donde se impregnan capas de silicio y oxido de silicio y se erosionan al exponerlos a la luz. 


OTP


El microcontrolador tiene una memoria no volátil de sólo lectura programable una sola vez por el usuario. OTP (One Time Programmable), el usuario es quien escribe el programa en el chip a través de un programador controlado por un programa desde la computadora. 


EPROM


Algunos microcontroladores tienen memoria EPROM (Erasable Programmable Read Only Memory) en la cual puede programarse, borrarse y grabarse muchas veces. La grabación se realiza con un programador manejado desde la computadora. Si se desea borrar el contenido, tienen una ventana de cristal en la superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. 


EEPROM, E2PROM 


Son memorias de sólo lectura, programables y borrables eléctricamente EEPROM (Electrical Erasable Programmable Read Only Memory). La programación y el borrado se hacen eléctricamente desde el propio programador y bajo el control programado de una computadora. 


Flash


Es una memoria no volátil, que se puede escribir y borrar, funciona como una ROM y una RAM pero consume menos y es más pequeña. Es más rápida y de mayor densidad que la EEPROM, tolera más ciclos de escritura/borrado. Las memorias EEPROM y Flash son muy útiles ya que permiten que los microcontroladores que las tienen puedan ser reprogramados 
en circuito. 




Puertas de Entrada y Salida


Las puertas de entrada y salida (I/O) hacen posible la comunicación al procesador con el mundo exterior, por medio de interfaces, o con otros dispositivos. También se llaman puertos y son la principal utilidad de las patitas o pines de un microprocesador. 


Reloj principal

Todos los microcontroladores tienen un circuido oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj en la sincronización de todas las operaciones del sistema. Esta señal de reloj es el motor del sistema y la que hace que el programa y los contadores avancen. 




Referencias
Microcontroladores

1 comentario: