TECNOLOGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE PUEBLA
Nombre:
Pérez Sánchez Francisco Manuel
No. De control: 18221794
Especialidad: TIC´S
Nombre de la materia:
Arquitectura de Computadoras
Unidad
Microcontroladores
Horario:
Lunes y miércoles 11:00-13:00
Nombre del docente:
Rafael Meza García
SEMESTRE ENERO – JUNIO 2021
INTRODUCCIÓN
Desde la invención del circuito integrado, el desarrollo constante de la electrónica digital
ha dado lugar a dispositivos cada vez más complejos. Entre ellos los
microprocesadores y los microcontroladores.
Los microcontroladores están conquistando el mundo. Están presentes en nuestro
trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar
controlando el funcionamiento de los ratones y teclados de los computadores, en los
teléfonos, en los hornos microondas y los televisores de nuestro hogar.
En las aplicaciones sencillas resultan preferibles las soluciones no programables que no
requieren desarrollo de software. Escribir software consume mucho tiempo por lo que
resulta más costoso y en aplicaciones sencillas y/o de poca tirada a menudo es más
razonable efectuar tareas en hardware. Sin embargo, conforme aumenta la complejidad
del sistema, aumentan las ventajas del uso de sistemas programables.
Una de las principales ventajas de los sistemas programables es su flexibilidad, lo que
permite actualizar el funcionamiento de un sistema tan sólo mediante el cambio del
programa sin tener que volver a diseñar el hardware. Esta flexibilidad es muy
importante, al permitir que los productos se actualicen con facilidad y economía.
OBJETIVO GENERAL
Conocer y aplicar las tendencias actuales en el uso de los microcontroladores
para diseños de mediana complejidad basados en sistemas de desarrollo.
OBJETIVOS ESPECIFICOS
Conocer las características generales de los controladores.
Identificar las partes integrantes de un microcontrolador y su interconexión en un
sistema de desarrollo.
Dominar el repertorio de instrucciones para un microcontrolador en específico.
Desarrollar programas sencillos para explotar las diferentes interfaces de un
microcontrolador.
Desarrollar aplicaciones de mediana complejidad que exploten las facilidades de
interrupción y comunicación de un microcontrolador.
¿Qué es un Microcontrolador?
Un microcontrolador es un circuito integrado que contiene todos los componentes de un
computador. Se emplea para controlar el funcionamiento de una tarea determinada y,
debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que
gobierna. Esta última característica es la que le confiere la denominación de
«controlador incrustado» (embedded controller). Se dice que es “la solución en un chip”
porque su reducido tamaño minimiza el número de componentes y el costo.
El microcontrolador es un computador dedicado. En su memoria sólo reside un
programa destinado a gobernar una aplicación determinada; sus líneas de
entrada/salida soportan la conexión de sensores y actuadores del dispositivo a
controlar. Una vez programado y configurado el microcontrolador solamente sirve para
gobernar la tarea asignada.
“Un microcontrolador es un computador completo, aunque de limitadas prestaciones,
que está contenido en el chip de un circuito integrado y se designa a gobernar una sola
tarea” [UNI1998].
Diferencia entre Microcontrolador y Microprocesador.
Un controlador es el dispositivo que se emplea para el gobierno de uno o varios
procesos. Aunque el concepto de controlador ha permanecido invariable a través del
tiempo, su implementación física ha variado frecuentemente. Hace tres décadas, los
controladores se construían exclusivamente con componentes de lógica discreta,
posteriormente se emplearon los microprocesadores, que se rodeaban con chips de
memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los
elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de
microcontrolador. Realmente consiste en un sencillo pero completo computador
contenido en el corazón (chip) de un circuito integrado.
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora
la mayor parte de los elementos que configuran un controlador.
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(CPU), también llamada procesador de un computador. Al microprocesador se le
conecta la Memoria y Módulos de E/S para configurar un computador implementado por
varios circuitos integrados.
Un microprocesador es un sistema abierto (configuración variable) con el que puede
construirse un computador con las características que se desee, acoplándole los
módulos necesarios. Un microcontrolador es un sistema cerrado que contiene un
computador completo y de prestaciones limitadas que no se pueden modificar.
Decidirse por construir el sistema con el microprocesador, o utilizar directamente el
microcontrolador dependerá de la economía. Si el microcontrolador está limitado por su
propia CPU, es necesario elegir un microprocesador potente y añadir los buffers,
drivers, decodificadores, memorias, etc. Generalmente, salvo que la aplicación exija
grandes prestaciones, el microcontrolador será una solución válida, con la ventaja de
que reduce el espacio y el hardware.
Arquitectura Básica
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).
Figura 3: 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.
Figura 4: Arquitectura Harvard de microcontrolador (acceso a memorias).
Arquitectura Harvard vs. la Arquitectura Tradicional
La arquitectura tradicional de computadoras y microprocesadores 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 está fijado por el ancho del bus de la
memoria. Es decir que un microprocesador de 8 bits, que tiene además un bus de 8 bits
que lo conecta con la memoria, deberá manejar datos e instrucciones de una o más
unidades de 8 bits (bytes) de longitud. Cuando deba acceder a una instrucción o dato
de más de un byte de longitud, deberá realizar más de un acceso a la memoria. Por
otro lado, este bus único limita la velocidad de operación del microprocesador, ya que
no se puede buscar de memoria una nueva instrucción, antes de que finalicen las
transferencias de datos que pudieran resultar de la instrucción anterior. Es decir que las
dos principales limitaciones de esta arquitectura tradicional son:
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,
que 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.
COMUNICACIÓN PARA MICROCONTROLADORES
Puertos de Entrada y Salida
En las aplicaciones de control y comunicaciones, en las que se utilizan los
microcontroladores, se deben de ejecutar gran cantidad de tareas de entrada y
salida, por lo cual es necesario que se disponga de un gran número de terminales
dedicados a esto. Los Microcontroladores contienen en su interior diversos circuitos
de interfaz tales como puertos paralelos, puerto serie y circuitos de control de la
transferencia.
Comunicación
Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros
dispositivos externos, otros buses de microprocesadores, buses de sistemas,
buses de redes y poder adaptarlos con otros elementos bajo otras normas y
protocolos, fueron creados lo puertos de comunicación.
Tipos de puertos
Algunos modelos disponen de recursos que permiten directamente realizar las tareas
relacionadas con la comunicación, entre los que destacan:
UART, adaptador de comunicación serie asíncrona.
USART, adaptador de comunicación serie síncrona y asíncrona
Puerta paralela esclava para poder conectarse con los buses de otros
microprocesadores.
USB (Universal Serial Bus), que es un moderno bus serie para los PC.
Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.
CAN (Controller Area Network), para permitir la adaptación con redes de
conexionado multiplexado desarrollado conjuntamente por Bosch e Intel
para el cableado de dispositivos en automóviles. En EE. UU. se usa el
J185O.
Programación
Las principales herramientas de ayuda al desarrollo de sistemas basados en
microcontroladores son:
Ensamblador: Los fabricantes suelen proporcionar el programa ensamblador de
forma gratuita y en cualquier caso siempre se puede encontrar una versión gratuita
para los microcontroladores más populares.
Compilador: Las versiones más potentes suelen ser muy caras, aunque para
los microcontroladores más populares pueden encontrarse versiones demo
limitadas e incluso compiladores gratuitos.
Depuración: Debido a que los microcontroladores van a controlar dispositivos
físicos, los desarrolladores necesitan herramientas que les permitan comprobar el
buen funcionamiento del microcontrolador cuando es conectado al resto de circuitos.
Simulador: Son capaces de ejecutar en un PC programas realizados para el
microcontrolador. Los simuladores permiten tener un control absoluto sobre la
ejecución de un programa, siendo ideales para la depuración de los mismos
Placas de evaluación: Se trata de pequeños sistemas con un microcontrolador ya
montado y que suelen conectarse a un PC desde el que se cargan los programas
que se ejecutan en el microcontrolador. Las placas suelen incluir visualizadores
LCD, teclados, LEDs, fácil acceso a los pines de E/S, etc.
Emuladores en circuito: Se trata de un instrumento que se coloca entre el PC
anfitrión y el zócalo de la tarjeta de circuito impreso donde se alojará el
microcontrolador definitivo. El programa es ejecutado desde el PC, pero para la
tarjeta de aplicación es como si lo hiciese el mismo microcontrolador que luego irá
en el zócalo.
CONCLUSIONES
Los puertos en los microcontroladores brindan las funciones relativas que tienen que
ver con la entrada que reciben estos dispositivos y a la salida que otorgan. Mediante
estos, el microcontrolador se dota de una forma comunicarse.
Estos puertos son programables con diversos lenguajes de programación. Se les puede
dotar de características especiales o restringirlos para evitar ciertas entradas.
Los buses funcionan como puente entre el microcontrolador y el periférico con el que se
desea conectar. Su principal aplicación es la del transporte de datos, instrucciones, etc.
Existen tres tipos de buses, los de Dirección, los de Control y los de Datos. Los buses
pueden ser internos, conectando piezas internas del microcontrolador; y externos,
conectando del microcontrolador hacia algún periférico.
BIBIOGRAFÍA:
Estructura y diseño de Computadores David A. Patterson, John L.
Hennessy Ed. Reverté S.A. 2000
Luis Duran Rodríguez, El gran libro del PC
interno/Alfaomega Marcombo, 2007.
Nicholas Carter, Arquitectura de computadores 1a. Edición, McGraw-
Hill 2004.
A.S. Tanenbaum / Organización de computadoras, enfoque
estructurado / Prentice Hall