Nothing Special   »   [go: up one dir, main page]

Programacion 3 - Unidad 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

UNIDAD 1.

MICROCONTROLADORES

MICROPROCESADORES
Resulta evidente la enorme importancia que tienen los dispositivos digitales de cálculo en la
sociedad moderna; así, no es una exageración mencionar que el mundo sería muy distinto si estos
componentes no hubieran sido desarrollados. De hecho, la historia de los microprocesadores es
una larga sucesión de acontecimientos afortunados, iniciados por dos grandes empresas a
principios de la década de los setenta del siglo pasado: Intel y Busicom, la primera fabricante de
circuitos integrados, y la segunda de calculadoras electrónicas. Entre ambas empresas,
desarrollaron el primer microprocesador de la historia: el Intel 4004, un dispositivo de cuatro bits
que servía como “cerebro” de toda una línea de calculadoras de escritorio. Seguramente, quienes
diseñaron tan modesto dispositivo, el cual apenas contaba en su interior con poco más de dos mil
transistores, nunca imaginaron que en unas cuantas décadas se tendrían microprocesadores
corriendo a miles de millones de ciclos por segundo, y que en su interior contendrían cientos de
millones de transistores trabajando al unísono.

Intel 4004, el primer microprocesador del mundo.

Lo que hace tan especiales a los microprocesadores es precisamente su capacidad de manejar en


diversas formas una serie de datos binarios, realizando una gran cantidad de operaciones lógicas
basadas en un programa preestablecido, y buscando con ello obtener un resultado final
satisfactorio para el usuario.

Aspecto típico de un microprocesador común: el Z-80 de Zilog.

Si observamos el exterior de un microprocesador típico, no tiene diferencia con otros circuitos


integrados comunes; lo que lo hace especial es su estructura interna, que está diseñada para
proporcionar al dispositivo una flexibilidad que no tienen otro tipo de componentes, la cual
permite aplicar exactamente el mismo microprocesador en una computadora pequeña, en una
consola de videojuegos, en el control de un automóvil, en el panel de un proceso industrial, etc.
Aspecto interno de un microprocesador básico

En la figura, se observa el diagrama interno típico de un microprocesador; en el extremo derecho


se ubica una etapa identificada como ALU, siglas de Aritmetic-Logic Unit o Unidad Aritmética-
Lógica, este es el bloque en donde se llevan a cabo las operaciones dentro del microprocesador, y
es el que determina la potencia de cálculo de este dispositivo. La ALU está conectada al resto del
dispositivo por medio de un bus de comunicación interno, que lleva y trae señales de los otros
bloques desde y hacia a la ALU; por ejemplo, para alimentar los datos con los cuales trabajará la
ALU, existen una serie de registros, que son pequeños bloques de memoria interna, donde se
almacenan temporalmente los bits y bytes que usará la ALU para sus cálculos, y también ahí se
colocan los resultados parciales antes de enviarse a la etapa adecuada. Generalmente, en estos
registros también se guarda información adicional que agiliza la realización de los cálculos que
lleva a cabo el microprocesador, como banderas de estado, bits que indican que una operación ha
rebasado la capacidad del registro, etc.; adicionalmente, aquí se lleva el control de la lectura de
memoria, de los saltos en la programación, de los puntos de retorno, etc. Estos registros están
conectados al bus de comunicación interno, lo que permite cargar y leer datos de ellos con gran
facilidad y rapidez.

También existe un bus de control, que sirve para expedir o introducir instrucciones al
microprocesador, dependiendo de la operación que se vaya a realizar; por ejemplo, aquí se
encuentran las líneas que determinan si un dato se va a leer o a grabar en la memoria RAM,
también se ubican las líneas de interrupción para detener un programa que haya entrado en un
ciclo interminable, etc. Como su nombre lo indica, estas líneas de instrucción ejercen diversas
tareas de control desde el microprocesador hacia sus periféricos y viceversa, así que resultan
fundamentales para la correcta operación del dispositivo.

El bus de datos es la puerta de entrada y salida de los bits que se procesarán dentro del
microprocesador; por aquí se introducen las instrucciones de programación que le indican a cada
momento qué hacer al dispositivo, también entran los datos que se usarán para realizar los
cálculos deseados, y por ahí salen los resultados obtenidos para ser almacenados en memoria o
expedidos por el puerto correspondiente. Se puede decir que este bus es por donde circula toda la
información con la que trabaja el microprocesador, tanto la que entra como la que sale.

Finalmente, está el bus de direcciones, que sirve para que el microprocesador pueda leer su
memoria externa, o para determinar exactamente qué dispositivo externo se utilizará en un
momento dado. Por ejemplo, cuando se está leyendo un programa, normalmente se inicia la
operación desde cierta dirección de memoria, y luego el control interno del microprocesador va
leyendo celdillas consecutivas de la memoria para reunir todas las instrucciones necesarias para
ejecutar lo que desea el usuario, a menos que entre las instrucciones haya alguna que indique un
“salto” a otra dirección de memoria distinta.

Para funcionar, lo anterior necesita de una fuente de poder externa, y también de una señal de
reloj que sirva como referencia para la ejecución de todas las operaciones internas. Esta es la
estructura típica de un microprocesador sencillo, aunque con el enorme desarrollo que han tenido
últimamente estos dispositivos, en los microprocesadores más novedosos se han incrementado
considerablemente el número y variedad de bloques internos. Sólo como referencia, en la figura
anexa se muestra el diagrama a bloques de un microprocesador ARM-Cortex moderno, que se
utiliza en teléfonos inteligentes o en computadoras tipo tablilla.

Diagrama a bloques de un microprocesador moderno. (Imagen cortesía de ARM)

Al observar la estructura de un microprocesador, se puede distinguir una de sus grandes


fortalezas, pero también una gran debilidad: el microprocesador por sí mismo no sirve
absolutamente para nada, ya que no posee los elementos para realizar ninguna tarea. Para
convertirse en un dispositivo completamente funcional, requiere de una serie de elementos
externos, los cuales pueden ser elegidos cuidadosamente para adaptarse a la aplicación específica
que se esté buscando. Así, si el microprocesador se usara para controlar un proceso industrial,
puede conectarse a sensores y actuadores que permitan el monitoreo continuo y el control de los
distintos pasos del proceso; si se usa para una consola de videojuegos se rodea de los elementos
necesarios para leer el juego que se desee ejecutar, recibir las órdenes del usuario, y expedir la
señal de audio y video resultante hacia el televisor; y así sucesivamente. Esto significa que, a pesar
de que por sí mismo el microprocesador es prácticamente inútil, cuando se rodea de los
periféricos adecuados se convierte en una poderosa herramienta, completamente flexible y que
puede aplicarse en múltiples situaciones muy distintas entre sí.

Sin embargo, existen muchas aplicaciones en las que los requerimientos de entrada y salida de
datos están perfectamente identificadas, y que no se requiere de flexibilidad, sino de economía
(económica y de espacio).

Por ejemplo, el microprocesador que controla el funcionamiento de un horno de microondas, lo


único que tiene como entrada son las órdenes que el usuario le indica a través del teclado, y su
única salida es el control del calentamiento dentro del horno. En estos casos, usar un
microprocesador convencional, con todos los periféricos necesarios para que pueda funcionar,
resultaría completamente inadecuado. Precisamente, para cubrir este tipo de necesidades más
limitadas se han desarrollado nuevos dispositivos denominados “microcontroladores”, que se
describen a continuación.

ACTIVIDAD: REALIZAR UN CUADRO COMPARATIVO DE LAS


CARACTERÍSTICAS DE LAS PRINCIPALES FAMILIAS DE MICROPROCESADORES
EN LA ACTUALIDAD.
MICROCONTROLADORES

Como ya se mencionó, los microprocesadores han invadido casi todos los aspectos de la vida
diaria; se encuentran en los televisores, en los equipos de audio, en los teléfonos celulares, en los
relojes de pulsera, en el control remoto, en las calculadoras de bolsillo, en fin, prácticamente en
cualquier aparato electrónico en el hogar o la oficina; sin embargo, estos aparatos tienen
necesidades tan específicas que resultaría un verdadero desperdicio colocar un microprocesador
convencional, con todos sus periféricos asociados, para realizar siempre las mismas tareas una y
otra vez; por ejemplo, en un control remoto, el microprocesador dentro de este dispositivo lo
único que tiene que hacer es monitorear su teclado, y cuando detecta que una tecla se ha
presionado, identifica cuál orden está indicando el usuario, de este modo, busca en su memoria el
código correspondiente a esta orden, y expide los pulsos correspondientes para que el LED
infrarrojo se encienda en cierta secuencia para enviar el comando hacia el aparato. Todo esto
puede hacerlo fácilmente un microprocesador, pero rodearlo de periféricos diversos para que
pueda funcionar haría que los controles remotos fueran grandes y estorbosos, además de poco
eficientes.

Bloques internos de un microcontrolador típico (El número y variedad de bloques cambia según)

Para evitar este desperdicio de recursos, se han diseñado los microcontroladores, que
básicamente son microprocesadores completos rodeados de ciertos bloques periféricos básicos,
de modo que en un chip único se puedan realizar muchas de las aplicaciones que normalmente
requerirían de un microprocesador, y por lo menos de dos o tres chips adicionales más. En la
figura anexa, se muestra el diagrama a bloques de un microcontrolador típico, en el centro se
ubica un microprocesador completo como el que se presentó en el apartado anterior, pero en el
mismo encapsulado también se encuentra un bloque de memoria de programación, donde se
puede almacenar el programa que se desee ejecutar en el micro; un bloque de memoria RAM para
guardar datos temporales; una serie de puertos I/O (entrada-salida) para conectar directamente
señales externas al microcontrolador, y para que éste pueda comunicarse con los elementos a su
alrededor; un generador de reloj interno, una serie de temporizadores, bloques de comunicación,
etc.

Todo esto se encuentra dentro de un chip sencillo, de modo que en el caso del control remoto que
se expuso como ejemplo, se puede hacer que las teclas lleguen hacia los puertos de entrada del
microcontrolador, y éste por medio de su programa interno reconozca la tecla que fue presionada,
y consulte su memoria para extraer el código correspondiente a la orden, y luego a través de uno
de sus puertos de salida envíe los pulsos necesarios para que se encienda el LED infrarrojo, y así
transmitir los deseos del usuario hacia el aparato en cuestión. Resulta evidente la conveniencia
que representa hacer todo esto con un chip único, en lugar de usar un micro tradicional rodeado
de todos los periféricos necesarios; y es por esto que se pueden encontrar microcontroladores en
prácticamente todos los aparatos electrónicos que posean controles digitales (televisores,
reproductores de DVD, equipos de sonido, hornos de microondas, teléfonos inalámbricos, ¡incluso
tu despertador digital de cabecera posee un pequeño microcontrolador en su interior! De hecho,
no resulta exagerado indicar que por cada microprocesador tradicional que se fabrica en el
mundo, se producen cientos o miles de microcontroladores para aplicaciones específicas, y es
precisamente, por lo económicos y convenientes que resultan estos últimos, que los controles
digitales han llegado a aparatos que antes se controlaban por medios electromecánicos, como
lavadoras, ventiladores, cafeteras, etc.

De hecho, estos dispositivos son tan convenientes, que el chip que se tomará como base para los
ejercicios de este libro, es precisamente un microcontrolador: el PIC16F628, fabricado por la
compañía Microchip, el cual es fácil de conseguir y muy económico, además de que su bloque de
programación interno está formado por celdas de memoria flash, esto significa que incluso si se
cometen errores en la programación, o si se ha terminado con alguna práctica y se comenzará la
siguiente, lo único que se debe hacer es grabarlo otra vez con el nuevo programa. Observa en el
recuadro, las características básicas de este dispositivo; más adelante se detallará el significado de
cada una y su utilidad en la programación.

Características del PIC 16F628A


 Microcontrolador de 8 bits
 Frecuencia máxima: 20MHz
 Terminales I/O: 16
 Memoria Flash interna: 2048 bytes
 RAM: 224 bytes
 EEPROM: 128 bytes
 USART: 1
 Salida PWM: 1
 Timers: 2 (8 bits)/1 (16 bits)
 Comparadores: 2

El µC es un computador completo, aunque de limitadas prestaciones, que está contenido en el


chip de un circuito integrado programable y se destina a gobernar una sola tarea con el programa
que reside en su memoria. Sus líneas de entrada/salida soportan el conexionado de los sensores y
actuadores del dispositivo a controlar.

Las partes principales de un microcontrolador son:


• Procesador: La necesidad de conseguir elevados rendimientos en el procesamiento de las
instrucciones ha desembocado en el empleo generalizado de procesadores de
arquitectura Harvard frente a las tradicionales que seguían la arquitectura Von Neumann.
• Memoria no volatín para contener el programa:

Hay cinco tipo de memoria para soportar estas función, estas son:
o ROM. Se graba el chip durante su fabricación, implica costos altos y solo se
recomienda cuando se produce en serie.
o EPROM. Se graba con un dispositivo que es gobernado mediante un computador
personal,.
o OTP. Se graba por el usuario igual que la memoria EPROM, a diferencia de la EPROM la
OTP se puede grabar solamente una vez.
o EEPROM. La grabación es similar a la de las memorias EPROM y OTP, la diferencia es
que el borrado se efectúa de la misma forma que el grabado, o sea eléctricamente.
o FLASH. Posee las mismas característica que la EEPROM, pero esta tiene menor
consumo de energía y mayor capacidad de almacenamiento.
o Memoria de lectura y escritura para guardar los datos o Algunos microcontroladores
manejan la memoria RAM estática (SRAM), otros como el PIC16F84A disponen de una
memoria de datos del tipo EEPROM.

 Linea de E/S para los controladores de periféricos


o Comunicación paralelo
o Comunicación serial
o Diversas puertas de comunicación

A excepción de dos pines para la alimentación, dos para el cristal de cuarzo y una mas para
provocar el Reset, los restantes pines de un microcontrolador sirven para soportar con los
periférico externos que controla,

RECURSOS AUXILIARES
• Circuito de reloj. Encargado de generar los impulsos que sincronizan el funcionamiento de
todo el sistema.

• Temporizadores. Orientados a controlar tiempos.

• Perro Guardián. Destinado a provocar una inicialización cuando el programa queda bloqueado

• Conversores AD y DA. Para poder recibir y enviar señales analógicas.

• Comparadores analógicos. Para verificar el valor de una señal analógicas.

• Estado de reposo o de bajo consumo: En el que el sistema queda <> y el consumo de energía
se reduce al mínimo.

Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central,
probablemente mas potente, para compartir la información y coordinar sus acciones, como, de
hecho, ocurre ya habitualmente en cualquier PC.
DIFERENCIAS
 La configuración mínima básica de un Microprocesador esta constituida por un Micro de
40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un
decodificador de direcciones de 18 Pines;

 Microcontrolador incluye todo estos elementos del Microprocesador en un solo Circuito


Integrado por lo que implica una gran ventaja en varios factores: En el circuito impreso por
su amplia simplificación de circuitería.

 El costo para un sistema basado en Microcontrolador es mucho menor, mientras que para
del Microprocesador, es muy alto en la actualidad.

 Los Microprocesadores tradicionales se basan en la arquitectura de Von Newmann,


mientras que los microcontroladores trabajan con arquitectura de harvard.

 El tiempo de desarrollo de su proyecto electrónico es menor para los Microcontroladores.

 Se puede observar en las gráficas # 2 y 6, que la principal diferencia entre ambos radica en
la ubicación del registro de trabajo, que para los PIC’s se denomina W (Working Register),
y para los tradicionales es el Acumulador (A).

 En los microcontroladores tradicionales todas las operaciones se realizan sobre el


acumulador. La salida del acumulador esta conectada a una de las entradas de la Unidad
Aritmética y Lógica (ALU), y por lo tanto este es siempre uno de los dos operandos de
cualquier instrucción, las instrucciones de simple operando (borrar, incrementar,
decrementar, complementar), actúan sobre el acumulador.

 En los microcontroladores PIC, la salida de la ALU va al registro W y también a la memoria


de datos, por lo tanto el resultado puede guardarse en cualquiera de los dos destinos.

 La gran ventaja de esta arquitectura(Microcontroladores ) es que permite un gran ahorro


de instrucciones ya que el resultado de cualquier instrucción que opere con la memoria,
ya sea de simple o doble operando, puede dejarse en la misma posición de memoria o en
el registro W, según se seleccione con un bit de la misma instrucción . Las operaciones con
constantes provenientes de la memoria de programa (literales) se realizan solo sobre el
registro W.

Entonces, y resumiendo los dos puntos anteriores, un microprocesador posee en su interior


estrictamente los elementos necesarios para el proceso de información, por lo que requiere de
una serie de bloques funcionales externos para alimentarlo de su programa, guardar datos
temporales, comunicarse con el exterior, etc. Esta estructura modular le da gran potencia y
flexibilidad a un microprocesador, aunque encarece el diseño general. Por otra parte, un
microcontrolador contiene prácticamente todos los elementos necesarios para utilizarse en
aplicaciones específicas, por lo que casi no necesita de componentes externos de apoyo. Esto
reduce flexibilidad y poderío, pero se gana en economía y facilidad en el diseño del circuito en
general.
ACTIVIDAD:

1. DESARROLLAR LOS SIGUIENTES SUBTEMAS DEL COMPONENTES DE UN


MICROCONTROLADOR:
a. EL PERRO GUARDIAN
b. RESET
c. BAJO CONSUMO
d. PROTECCION DEL PROGRAMA FRENTE A COPIAS

2. REALIZAR UN CUADRO COMPARATIVO DE LAS CARACTERISTICAS DE LAS


ARQUITECTURAS DE MICROPROCESADORES Y MICROCONTROLADORE:
a. ARQUITECTURA VON NEUMAN
b. ARQUITECTURA HARVARD
c. ARQUITECTURA CISC
d. ARQUITECTURA RISC

3. REALIZAR UN LISTADO DE PRINCIPALES FABRICANTES DE


MICROCONTROLADORES, MODELOS Y PRINCIPALES USOS.

También podría gustarte