You are on page 1of 10

Unidad I, Arquitectura de microcontroladores

Generalidades (definiciones, arquitecturas y puertos)

Programa: secuencia o listado de instrucciones necesarias para realizar una tarea específica
Instrucción: datos ordenados en una secuencia que el procesador debe ejecutar (asociada a
comandos)
Código de operación: parte de una instrucción que especifica una operación a ejecutar
Operador: símbolo que indicará como se llevará a cabo una operación, tiene una función
predefinida (pueden ser matemáticos o lógicos)
Operando: entrada, argumento o valor de un operador
Operación: orden ya ejecutada

Ejemplo (programa en su totalidad) de brazo robótico (pseudocódigo: descripción informal de


un programa)

INICIO
Tomar objeto Toma objeto
Levantar 45º Se levanta 45º
Girar base 90º Gira la base en 90º
Bajar 45º Baja 45º
Mostrar en pantalla “Hola” Hola en pantalla
Mostrar en pantalla (= 2 + 1) 3 en pantalla
Soltar objeto Soltó objeto
Mostrar en pantalla (= Sensor1 + Sensor2) Sensor 1 + Sensor 2 en pantalla
FIN

Características básicas de un sistema basado en microprocesador: Microprocesador;


Unidad de memoria, dispositivos de entrada y salida; Buses de Dirección, datos y control

Los microprocesadores son circuitos integrados que contienen millones de transistores en su


interior, los cuales crean circuitos complejos encargados de realizar diferentes tareas. También
se los denomina unidad de procesamiento central o CPU, ya que muchos de ellos pueden actuar
como el “cerebro” de un sistema computacional, administrando todas las tareas que este realice
y llevando a cabo las operaciones con los datos.

Esquema de un microprocesador

El elemento principal es la ALU (unidad aritmética lógica), que se encarga de llevar a cabo todas
las operaciones lógicas y aritméticas que requieran los procesos que se ejecuten (suma, resta,
multiplicación, división, and, or, not desplazamiento de bits), el computador sólo sabe sumar, la
resta la hace sumando en complemento 2
El Registro temporal es para almacenar información o datos de forma temporal mientras se
necesite para ejecutar una operación, datos que están contenidos por la memoria de programa
y que son cargados en el bus de datos, el acumulador es el encargado de almacenar el
resultado de las operaciones realizadas por la ALU siempre y cuando estas no sean
almacenadas en una unidad de memoria, este registro también puede ser utilizado como un
operando, lo que permite ganar tiempo en ejecución
El código de la operación se almacena en el Registro de instrucciones, luego esas
instrucciones se decodifican en el Decodificador de instrucciones para poder ser
interpretadas, así el bloque de control le indicará a la ALU la operación a realizar permitiéndole
la entrada y salida de datos, la unidad de control también enviará señales de lectura por el bus
de control a la memoria de programa para saber qué es lo que se debe hacer
El contador de programa es un contador que se incrementa para volver a buscar la siguiente
instrucción, siempre que se ejecute una instrucción sumará 1 para buscar la dirección en la
memoria de programa de la siguiente instrucción a través del bus de direcciones, este contador
se inicializa en cero después de un reset o se puede fijar en otro valor para crear saltos hacia
rutinas que estén en lugares específicos

Suma de dos datos, 2 + 3


Memoria de programa
Memoria externa al microprocesador donde se aloja el programa, es quién le indica al
microprocesador instrucción por instrucción los pasos que debe cumplir, no debe perder su
contenido cuando el sistema carece de energía. Normalmente, se utilizan memorias ROM de
solo lectura para grabar un programa (PROM), porque poseen esta característica tan preciada,
aunque tienen la desventaja de que solo pueden ser escritas una sola vez.
Gracias al avance de la tecnología, hoy podemos utilizar memorias EEPROM (Puede borrarse y
regrabarse eléctricamente) y Flash (mejora de las EEPROM, más rápidas y de mayor capacidad)
para almacenar código, con la ventaja adicional de que es posible borrar su contenido
eléctricamente.

Memoria de datos
Es también una memoria externa al microprocesador, pero que se encarga de almacenar la
información que precisa el procesador para ejecutar las operaciones que le indiquemos
(temporal). El tipo de memoria que se emplea para los datos es la RAM (memoria de acceso
aleatorio), porque puede almacenar datos temporales que pueden ser escritos y leídos una
infinidad de veces.
También es posible querer almacenar datos que no se pierdan luego de que el sistema se quede
sin alimentación. En este caso, se pueden utilizar memorias no volátiles, como las EEPROM de
baja capacidad, ideales para guardar contraseñas o nombres de usuarios.

Circuitería de interfaces y dispositivos periféricos


Transistores o circuitos integrados utilizados para adaptar señales o niveles de tensión, como es
el caso de un transistor que activará un relé para encender un motor eléctrico de 220 V o un
amplificador operacional para recibir una señal de 4 a 20 mA de un transmisor de presión
Los periféricos de entrada se encargarán de codificar los mensajes o señales del exterior para
que el microprocesador pueda interpretarlos (teclados o sensores), los periféricos de salida
permiten observar los resultados arrojados por el procesador de una manera más cómoda que
si se presentaran como unos y ceros (pantallas, display, impresoras, actuadores como motores
y relés)
Estructura Von Newman y estructura Harvard
Definen el manejo de la memoria y la cantidad de buses que se utilizan para comunicarlas con
el microprocesador, son modelos generales de hardware
En la memoria de un ordenador, un microcomputador o un microcontrolador, se almacenan
instrucciones y datos. Las instrucciones deben pasar secuencialmente a la CPU para su
descodificación y ejecución, en tanto que algunos datos en memoria son leídos por la CPU y
otros son escritos en la memoria desde la CPU. Puede intuirse que la organización de la memoria
y su comunicación con la CPU son dos aspectos que influyen en el nivel de prestaciones del
ordenador

Von Newman

Toma el nombre del matemático John von Newman, utiliza una memoria única para programa
(instrucciones) y datos, es decir, por el mismo bus se localizan (direccionan) y transitan
instrucciones y datos, la misma señal que emite la CPU para leer un dato sirve para leer una
instrucción, es una señal única, memoria ROM y RAM forman un conjunto único
La arquitectura von Newman requiere de menos líneas entre la conexión de la CPU y la memoria
dando simpleza en su hardware, sin embargo es imposible manejar datos e instrucciones al
mismo tiempo

Harvard

Toma el nombre del lugar donde Howard Aiken diseñó los ordenadores Mark, los que fueron los
primeros en utilizar memorias separadas, es así que la memoria de programa tiene su propio bus
de direcciones, instrucciones y control. Para la memoria de datos sucede lo mismo, tiene su
propio bus de direcciones, datos y control.
La arquitectura Harvard requiere de más conexiones en su hardware, pero al manejar
instrucciones y datos de forma simultánea, gana velocidad en la ejecución de programas
Esta arquitectura es la utilizada en microcontroladores, debido a que todos los componentes
vienen dentro del circuito integrado, por lo tanto, no es un problema el manejar más conexiones
entre el microprocesador y las memorias (caso que tiende a discrepar en su mayoría con los
microcomputadores, donde las conexiones son externas a cada componente)
Programación de microprocesadores
La programación de microprocesadores puede realizarse entre tres tipos de niveles básicos de
lenguajes: en código máquina, ensamblador y de alto nivel.
Fabricantes, modelos conocidos y características

- Microchip: Con su línea PIC de 8 bits, aunque en la actualidad cuenta con dispositivos
de gamas mayores, uno de sus dispositivos conocidos es el PIC 16F84A, dispositivo
simple y de fácil manejo, por otra parte, también está el PIC 16F88, dispositivo con más
memoria que el 16F84A y cuenta con puerto serial, conversores A/D y oscilador interno
(será utilizado en la asignatura)
- Atmel: Conocida por la fabricación de microcontroladores incorporados en las placas de
desarrollo Arduino (Atmega 328) y por la elaboración de semiconductores como
memorias EEPROM
- Intel: Fabricación de microprocesadores y microcontroladores, fabrica el primer
microprocesador comercial, el Intel i4004, y en los 80 fabrica el microcontrolador P8051,
modelo que hoy es base de otros fabricantes

Circuito de entradas y salidas discretas

El microcontrolador PIC: Características, memorias; niveles de voltaje, asignación de


terminales, Puertos de Entrada y salida, Oscilador, protección de códigos, terminal de
reset o Master Clear, bancos de la memoria de datos

Los PIC16F son unas de las familias de microcontroladores de 8 bits más populares en el
mercado. Son fabricados por la firma Microchip y se ofrecen con una amplia gama de
funcionalidades, destacándose por su sencillez y bajo consumo
Los microcontroladores PIC16F pertenecen a la familia de rango medio de los micros de 8 bits
de Microchip.
Poseen un repertorio de 35 instrucciones, procesador de filosofía RISC (Set de instrucciones
reducidas), buses de arquitectura Harvard, construidos en pastillas de tecnología CMOS,
frecuencia de operación hasta 20MHz, hasta 8KB de memoria Flash de programa, conversores
A/D integrados y manejo de interrupciones.
Estos microcontroladores PIC son ideales para aprender las bases de la programación de estos
dispositivos.
Su nivel de tensión es TTL, se alimenta con 5V (Vss con 0V y Vdd con 5V), el cero lógico se
considera con una tensión de 0V, mientras que el uno lógico se considera con 5V
Cuenta con puertos digitales, en los cuales los pines se pueden definir como de entrada o salida,
como es el caso del puerto A y el puerto B (RAX y RBX), cuenta también con canales analógicos
(ANX), puerto serial (TX y RX), puede utilizar osciladores externos como también su oscilador
interno para dejar dos pines más para entradas o salidas
Los tres modos LP, XT y HS usan un cristal resonador externo, la diferencia sin embargo es la
ganancia de los drivers internos, lo cual se ve reflejado en el rango de frecuencia admitido y la
potencia consumida.

Conexión de un cristal oscilador al microcontrolador para pulsos de reloj

Las formas más comunes para hacer un reset son:


- Quitar y volver a establecer la alimentación del microcontrolador. Cuando se conecta la
alimentación se produce automáticamente un reset. Este tipo de reset se lo conoce como
Power-On Reset (POR).
- La segunda opción es aplicar un nivel lógico bajo en el terminal MCLR (Master Clear
Reset). Mediante este terminal podemos provocar externamente un reset en el momento
que queramos, sin necesidad de desconectar el microcontrolador de su alimentación.
Par introducir un nivel bajo en este pin debemos colocar un pulsador que lleve al pin
MCLR a ese estado lógico.
Entradas y salidas

Resistencias pull-up y pull-down


Estas resistencias comúnmente son utilizadas en dispositivos de entrada en electrónica para que
se pueda asegurar el nivel lógico de esta cuando está en reposo, de lo contrario quedaría en un
estado indeterminado ya que cualquier perturbación se puede inducir, una resistencia pull-up
asegurará que se tenga un 1 lógico en estado de reposo y una resistencia pull-down asegurará
que se tenga un 0 lógico en reposo

Pull-down en reposo y activa, pull-up activa y en reposo

Algunos microcontroladores las incluyen, para poder quedar habilitadas se debe ir al registro
que corresponda para activarlas, por lo general los microcontroladores PIC incluyen resistencias
pull-up en el puerto B, las cuales se habilitan en el registro OPTION_REG en el bit ̅̅̅̅̅̅̅̅
RBPU
asignándole un valor de 0

Led y transistores para salidas de relé

El microcontrolador entregará en el pin asignado como salida una tensión de 5V o 3,3V


dependiendo del dispositivo, sin embargo, para mandar señales a periféricos se deberá tener en
cuenta las características que tenga, si es el caso de un dispositivo de señalización similar a un
led se podrá utilizar una resistencia en serie

Conexionado de un LED, en la resistencia el pin, en el cátodo del led GND


Si el dispositivo a manejar es un motor eléctrico (de corriente alterna o continua) el
microcontrolador no podrá activarlo directamente, por lo tanto, se deberá utilizar un transistor y
un relé para energizarlo

Relé activado por un transistor

En la resistencia va conectado el pin de salida del microcontrolador, el emisor va a tierra (NPN)


y el diodo que va en paralelo al relé es para que cuando este último se desactive, la carga que
queda se extinga y no dañe al transistor
La resistencia de base se calcula por la siguiente expresión:

𝑉𝑜𝑙𝑡𝑎𝑗𝑒 − 0,7
𝑐𝑜𝑟𝑟𝑖𝑒𝑛𝑡𝑒
ℎ𝐹𝑒
El voltaje (en volts) es el que entrega el pin del microcontrolador, 0,7 es el voltaje base – emisor
del transistor, normalmente se considera 0,7 si es de silicio (el cálculo será más preciso si se ve
la hoja de datos del dispositivo). La corriente (en amperes) es aquella que circula entre colector
y emisor, es decir, la corriente que consume la carga, y hFe es la ganancia del transistor, también
aparece como β en las hojas de datos, si hay varios valores disponibles, normalmente se elige
el más bajo

Ejemplo
A través de un relé conectado al microcontrolador se desea alimentar la partida de un motor
trifásico de 5 HP, el relé consume 0,5 mA y el microcontrolador entrega en el pin 5V, el transistor
utilizado es un 2N2222 (β = 50)

Solución:
Datos:
Corriente: 0,5 mA = 0,0005 A
Voltaje: 5V
Β = hFe = 50

𝑉𝑜𝑙𝑡𝑎𝑗𝑒 − 0,7 5 − 0,7


= = 430000 Ω = 430 𝐾Ω
𝑐𝑜𝑟𝑟𝑖𝑒𝑛𝑡𝑒 0,0005
ℎ𝐹𝑒 50
Si no se encuentra la resistencia precisa, se debe acudir a la más cercana comercialmente
Circuito de entradas analógicas

De las entradas analógicas, la más común es la que entrega un potenciómetro, de la cual los
extremos van con la alimentación y el terminal del medio es el que entrega la tensión según el
recorrido que se tenga, sabe destacar que la alimentación en los extremos del potenciómetro no
debe superar la máxima tensión que puede admitir un microcontrolador (5V en la mayoría de los
casos, depende del dispositivo, ver hoja de datos)

Potenciómetro como entrada analógica

Por otra parte, también se puede encontrar el divisor de tensión, del cual se puede leer una señal
que supere la entrada máxima de tensión del microcontrolador, para esto, es necesario lograr la
combinación de resistencias que asegure que la máxima tensión que saldrá por Vout, sea la
máxima que puede recibir el microcontrolador

Divisor de tensión

Otra utilización de resistencias es colocar una de 250Ω en la entrada del microcontrolador para
leer una señal normalizada de 4 a 20 mA (quedará convertida de 1 a 5V), a pesar que generará
una caída de tensión notoria, esta resistencia se puede reducir y la señal resultante amplificarla
con un amplificador operacional para hacerla ingresar a la entrada analógica del
microcontrolador.
Aplicaciones (control, datalogger, SCADA y RTU)

Control
Un microcontrolador puede cumplir tareas similares a las de un PLC si se le adicionan los
componentes adecuados para conectarse a los periféricos de control, como es el caso de
optoacopladores para leer señales de 24 VDC o puentes rectificadores y reguladores de tensión
para señales de corriente alterna, mientras que para las salidas se puede hacer uso de
transistores (para salidas de corriente continua), transistores y relés (para corriente alterna y
continua) y triacs (para corriente alterna), dentro de todo, esto es lo que tiene un PLC en su
interior y en sus tarjetas (en caso de ser modular)

SCADA
Complementando la función anterior, los microcontroladores incluyen (en algunos casos)
distintos puertos de comunicación, principalmente serial, lo que le permitiría comunicación con
otros dispositivos similares e incluso convertir sus tramas de datos a protocolos industriales,
como es el caso de Arduino con la Ethernet Shield que permite comunicarse a través de Modbus
TCP/IP con plataformas SCADA e incluso con equipos industriales como es el caso de PLC

RTU
Las unidades terminales remotas pueden captar información y transmitirlas a unidades centrales
que la puedan procesar, las RTU tienen en su interior microcontroladores y drivers para el manejo
de señales como también para las comunicaciones

Dataloggers
Los registradores pueden guardar información para posteriormente extraerla y analizarla, esta
información puede ser almacenada en la memoria interna del equipo o en unidades extraíbles,
por lo general estos equipos se montan en lugares remotos, por lo que necesitan dispositivos
adicionales para poder operar, como es el caso de unidades solares para el abastecimiento de
energía. Los dataloggers tienen gran importancia en distintos tipos de estudio, como es el caso
de los ciclos hidrológicos para determinar el precio de la energía eléctrica o en las futuras
explotaciones de un parque eólico, donde se registra la velocidad y dirección del viento

Fuentes bibliográficas:

[1] USERS. (2011). Microcontroladores funcionamiento, programación y usos prácticos.


Argentina: Fox Andina SA.

[2] Valdés F., Pallás R. (2007). Microcontroladores: fundamentos y aplicaciones con PIC.
Barcelona (España): Marcombo.

[3] Hernández A. (2017). Resistencias pull up y pull down en circuitos digitales. 25/01/2018, de
Tallerdeelectrónica.com Sitio web: https://tallerelectronica.com/2017/03/13/resistencias-pull-
uppull-down-en-circuitos-digitales/

[4] Hernández L. (2017). Qué es el divisor de tensión en Arduino. 25/01/2018, de


Programafacil.com Sitio web: https://programarfacil.com/blog/divisor-de-tension-en-arduino-
multiplica-tus-entradas-digitales/

You might also like