Microprocesador y microcontrolador
Microprocesador
Es
un circuito electrónico integrado para el cálculo y el control computacional,
comúnmente conocido como unidad central de procesamiento (CPU, central
processing unit). Esta unidad realiza todas las operaciones aritméticas y
lógicas sobre los datos; además, controla todos los procesos que se desarrollan
en la computadora teniendo como componentes las partes lógicas, unidad
aritmético-lógica, unidad de control, memoria caché, registros de
almacenamiento, unidad de ejecución y buses de datos, control y dirección.
Por
ejemplo, para que se ejecute una instrucción, esta debe de estar dentro de la
unidad de control que enviará dicha instrucción por los buses de transmisión de
datos para comunicarse con dispositivos periféricos. Los microprocesadores
suelen tener forma de prisma achatado.
Microcontrolador
Es
un circuito integrado programable que incluye las tres unidades funcionales de
una computadora: CPU, memoria y unidades de entrada y salida.
Para ser utilizado son necesarios, básicamente, unos programas de control y un
cristal de sincronización para controlar cualquier equipo electrónico:
automóviles (control de frenos ABS), hornos de microondas, lavadoras,
teléfonos, etc. Hasta convertirse en una computadora con un mínimo de
dispositivos externos de apoyo.
Para
facilitar su uso, los microcontroladores distribuyen la velocidad y la
flexibilidad.
A. Memoria central
También
denominada memoria interna o memoria principal de la computadora.
En esta memoria se almacenan los programas a ejecutarse. La información que
almacena son las instrucciones que componen los programas que se
utilizan, los datos que se ingresan y, finalmente, la información sobre el
programa que realiza las funciones de control en las operaciones. Hay dos
tipos: RAM y ROM.
B. Memoria RAM (Random Access memory)
Está
compuesta por chips alargados situados en la mainboard (tarjeta madre) contigua
al procesador. Es una memoria de lectura y escritura de datos a gran velocidad.
Es volátil, por lo tanto depende del suministro eléctrico para no perder información.
Es de acceso aleatorio: se puede acceder rápidamente a sus posiciones, pues no
requiere de una lectura secuencial de los datos anteriores.
Al
utilizar un programa, un primer lugar se copia en la memoria RAM. Luego el
procesador lee una a una todas las instrucciones del programa. Finalmente, el
procesador guarda en la memoria RAM todos los resultados de los cálculos. La
memoria RAM determina cuantos programas puede ejecutar la computadora y a que
cantidad de datos puede acceder rápidamente.
C. Memoria caché (memoria oculta)
Es
pequeña y rápida, ubicada entre la memoria principal y el procesador de la
computadora. Es más voluminosa y consume más energía que la memoria RAM, y
tiene características similares a esta.
D. Memoria ROM (Read only memory)
En
las computadoras, se denomina sistema básico de entrada/salida (BIOS, basic
input/output system). Es un conjunto de chips con información sobre la
configuración de dispositivos internos de la computadora y sobre los
dispositivos externos que están conectados para ordenar y controlar la
entrada/salida de datos.
UEFI
(Interfaz de firmware extensible unificada) es el código del firmware de un
chip en la placa base que proporciona funciones adicionales a las del sistema
de entrada/salida básico (BIOS). UEFI ofrece una manera de hacer cosas con el
equipo antes de que se cargue un sistema operativo.
La
memoria ROM no es volátil, es de lectura de datos y de acceso aleatorio; por
ello ya está grabada cuando se fabrica la computadora. Hay distintos tipos de
memoria ROM: PROM, EPROM, EEPROM.
E. Unidad aritmética-lógica (ALU, arithmetic-logic unit)
La
ALU es un circuito digital que se encarga de realizar los cálculos de las
operaciones de suma, resta, multiplicación, división, comparación (>,<,=)
y aquellas que trabajan con dígitos binarios (AND, OR, NOT, NAND, NOR, XOR,
etc.) entre dos números u operandos.
F. Velocidad
Los
factores que determinan la velocidad de la CPU son los siguientes:
- El
indicador de frecuencia (ciclos por segundo) de un microprocesador medido
en Hercios (Hertz).
- El
número de instrucciones que son necesarias para realizar una tarea.
- El
número de instrucciones por ciclo (IPC, instructions per cycle).
G. Pipelining o segmentación
- Usado
para aumentar el rendimiento de los microprocesadores y algunos sistemas
electrónicos digitales. Son cálculos que son sincronizados con el reloj
cada cierto tiempo para que el tramo con más carga o retardo computacional
entre dos registros de reloj se reduzca. Por ello, a mayor tiempo o retraso
entre registros, será menor la frecuencia máxima de trabajo; y a menor
tiempo o retraso, mayor será la frecuencia de trabajo.
H. Unidad de punto flotante (FPU, floating point unit)
- La
FPU también realiza operaciones aritméticas entre dos valores; no obstante,
lo hace para números en representación de punto flotante. Esto es mucho
más complicado que la representación de complemento a dos, empleada en una
típica ALU. Para realizar estos cálculos, una FPU tiene incorporados
varios circuitos complejos. Esto incluye algunas ALU internas.
I. Unidad de control
La
unidad de control (CU, control unit) extrae, decodifica y ejecuta las
instrucciones almacenadas en la memoria principal, genera órdenes para los
diversos componentes del microprocesador, temporiza las distintas operaciones
para su ejecución en función de la instrucción o en la etapa de la instrucción
que se esté ejecutando. Finalmente se prepara para leer la siguiente posición
de memoria y vuelve a extraer la siguiente instrucción.
Existen
unidades de control cableadas (circuito de lógica secuencial, control de
estado, lógica combinacional y emisión de reconocimiento de señales de control)
y unidades de control microprogramadas (almacenadas en una micromemoria con
acceso secuencial para su ejecución) para máquinas sencillas y máquinas más
complejas, respectivamente.
Para
realizar su función, la unidad de control cuenta con los siguientes elementos:
- Contador
de programa.
- Registro
de instrucciones.
- Decodificador.
- Reloj.
- Secuenciador
- Los
microcontroladores y los microprocesadores utilizan los mismos
componentes, pero con distintas características, las cuales son necesarias
de conocer para poder distinguirlos entre sí.
Diferencias entre microcontroladores y
microprocesadores
Por
lo anterior, para una aplicación en la que sea necesario monitorear el exterior
por medio de sensores o controlar algún proceso por medio de motores, lo más
conveniente es usar un microcontrolador; pero si lo que se busca es
procesar un conjunto de datos, implementar una interfaz gráfica de usuario o
transferir información por medio de internet, un microprocesador sería
lo más conveniente, aunque también es posible integrar ambos de ser necesario.
ELECTRÓNICA ANALÓGICA
En
la electrónica analógica encontramos aquellos circuitos que operan con voltajes
continuos y variables en el tiempo, cuyo valor puede ser cualquier número
dentro de cierto rango.
Los
principales componentes que integran este tipo de circuitos son:
Resistencias
Se
oponen al flujo de corriente, liberando el exceso de energía en forma de calor.
Normalmente se utilizan para regular y distribuir la corriente que circula por
un circuito. Su unidad fundamental son los Ohms (Ω).
Condensadores
Son
capaces de almacenar y liberar energía en periodos de carga y descarga según se
requiera. Su unidad fundamental es el Faradio (F). Los principales tipos de
condensadores son:
Inductores
También
conocidos como bobinas o embobinados, son elementos que acumulan energía en
forma de campo magnético y su unidad fundamental son los Henrios (H).
Bloquean
el flujo de corriente en un sentido y en otro no. Normalmente están hechos de
silicio o germanio y suelen emplearse como rectificadores de corriente.
Existen
tres tipos principales:
q Diodo
q Diodo Zener
q Diodo LED
No
cuentan con una unidad fundamental, pero tienen valores característicos de
voltaje y corriente, cuando se encuentran en operación.
Transistores
Pueden
funcionar como interruptores o amplificadores de señales y, de forma similar a
los diodos, no cuentan con alguna unidad fundamental, pero sí con valores
característicos dependiendo de su operación.
ELECTRÓNICA DIGITAL
En
la electrónica digital encontramos aquellos circuitos que operan con valores
discretos en el tiempo; es decir, sólo toman valores bien definidos sin
considerar números intermedios entre cada uno de ellos. A diferencia de la
electrónica analógica que opera con rangos de valores continuos.
Estados
lógicos de la electrónica digital
Estado lógico 1
También
conocido como alto, encendido o verdadero, está definido por cualquier valor de
voltaje que se encuentre entre 2 y 5 volts.
Estado lógico 0
También
conocido como bajo, apagado o falso, está definido por cualquier valor de
voltaje que se encuentre entre 0 y 0.8 V.
Los
rangos de voltaje entre estos dos estados se consideran como un área de
incertidumbre, pues no se puede asegurar que algún valor dentro de este rango
de voltaje corresponda a un estado u otro, por lo que no se usan.
Con
base en estos estados lógicos, existen dos tipos de circuitos digitales:
combinacionales y secuenciales.
Circuitos combinacionales
Son
aquellos cuyas salidas son inmediatas ya que dependen únicamente de la
respuesta que arroje la combinación de sus entradas mediante diferentes tipos
de circuitos integrados como compuertas lógicas, multiplexores, codificadores,
decodificadores, etc.
Para
su diseño y entendimiento se emplean ecuaciones booleanas y tablas de verdad,
como en el siguiente ejemplo, donde se muestra el valor obtenido en la salida
F, en función de las entradas A y B y su combinación con compuertas lógicas.
Circuitos secuenciales
Son
aquellos cuyas salidas dependen de las entradas en el instante y de los estados
anteriores. Para su diseño utiliza diagramas y tablas de estados que describen
el comportamiento lógico de estos mediante circuitos integrados como biestables
(flip-flops) y osciladores, los cuales son cristales de cuarzo que generan
pulsos eléctricos a diferentes frecuencias según su composición.
Por
ejemplo, en el siguiente diagrama y tabla de estados se muestra que partiendo
del estado A, se pasará al estado B y se obtendrá un 1 en la salida sólo cuando
la entrada sea 0, pero si la entrada es 1, se pasará al estado C y se obtendrá
un 0 a la salida. Esta misma lógica se aplica a los siguientes estados según lo
indican el diagrama y la tabla de estados
ESPECIFICACIONES TÉCNICAS DE UN
MICROCONTROLADOR
Al
elegir un microcontrolador se deben tomar en cuenta las especificaciones
técnicas que más se adapten para desarrollar la solución buscada, las
principales son:
Pines de propósito general (GPIO).
Son
las diferentes entradas y salidas con las que cuenta el microcontrolador, se
emplean para obtener los valores de diferentes sensores, establecer
comunicaciones con otros dispositivos y controlar elementos desde LED hasta
motores de gran potencia.
Pueden
ser:
q Entradas y salidas digitales
q Entradas analógicas
q Salidas analógicas o PWM (Pulse Width
Modulation)
q Puertos de comunicación (General
Purpose Input/Output)
Con
relación a los pines GPIO se debe considerar el número de cada tipo de pin que
se requiere al seleccionar el microcontrolador para que este sea capaz de
controlar todos los elementos.
Voltajes de operación
Indican
el tipo de alimentación que debe recibir el microcontrolador y los valores con
los que operan sus pines de propósito general. Es importante conocer estos
valores ya que de lo contario podrían dañarse componentes o bien no funcionar
adecuadamente en caso de no respetarlos. Los valores más comunes son 3.3V y 5V
de modo que si se opera con elementos de mayor consumo de energía se deberán
utilizar etapas de potencia para controlar dichos elementos.
Velocidad de operación
También
se conoce como velocidad de reloj y se refiriere a la frecuencia o rapidez con
la que puede procesar las instrucciones. Se debe tomar en cuenta sobre todo
para aplicaciones que requieran alta velocidad de procesamiento. Algunos de los
valores más comunes son 16MHz, 80MHz y 120MHz.
Resolución del convertidor analógico a digital (ADC)
Se
refiere a la precisión con la que el ADC entrega el resultado de convertir un
valor analógico a su equivalente en digital. Algunos de los valores más comunes
de resolución son 8 bits, 10 bits y 12 bits.
Puertos de comunicación
Se
refiere a los pines que sirven para comunicar dos o más dispositivos entre sí,
bajo un protocolo de comunicación estandarizado. Los protocolos mayormente
empleados son la comunicación serial, I2C y SPI/SSI.