lunes, 11 de julio de 2022

Microcontrolador y microprocesador

 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.