Esquema lógico de Arduino

La manera en que funciona un microcontrolador, internamente, se explica diagramando un esquema lógico, en el cual se verán reflejados cada uno de los bloques y las unidades internas del microcontrolador.

Este diagrama se compone de 3 bloques principales, los cuales son el CPU, la Memoria, sea ROM o RAM, y las entradas y salida.

Los bloques anteriormente mencionados se conectan mediante uniones de grupos de líneas llamadas pistas o pines.

Estos pines pueden poseer directrices, en pocas palabras, si llegan a transportar las direcciones que son de entrada y salida.

También pueden ser de datos, los cuales pueden transportar las instrucciones o los datos. O pueden ser de control, los cuales son los que transportan las diferentes señales de control.

La cabeza o “cerebro” de este esquema es la CPU, esta actúa controlada por los programas que residen en la memoria del microcontrolador. Tiene la función básica de llevar las instrucciones dadas por el programa hasta la memoria.

Esquema lógico de Arduino

Luego esta información será interpretada y entendida por la memoria para luego ser ejecutada como una acción.

La CPU Contiene también algunos circuitos usados para operar aritméticamente y con lógica elemental, utilizando los datos binarios, que se encuentran en la ALU, o Unidad Aritmética y Lógica.

El sistema de reloj determina la velocidad de trabajo del microcontrolador

Este es un sistema que con 16 MHZ se puede procesar una información en menos de 63 nanosegundos, lo que significa el ciclo de máquina. El esquema lógico tiene diferentes opciones de sistema de reloj.

Registrando la parte interna de los microcontroladores se pueden observar 5 opciones distintas, del sistema de reloj, que son elegidas por un Multiplexor.

Es aquí se envía la señal del reloj por todo el esquema, esta tiene que atravesar un prescaler, el cual debe ser utilizado en la reducción de la frecuencia, además de la disminución del consumo energético.

Este prescaler posee un factor que va de 1 a 256, mediante potencias de 2. Con Arduino, no está activado por defecto, lo que ocasiona que entre en labor un oscilador externo.

La señal de reloj se va a esparcir por la mayoría de los bloques que existes, como la CPU, los pines de salida y entrada, los timers o controladores, la memoria ROM y RAM, el SPI, entre otros.

Existe un microcontrolador llamado ATmega328 el cual posee tres timers (timer 0, timer 1, timer 2) los cuales pueden laborar perfectamente, también, como contadores.

Los 3 timers no son iguales, ya que el 0 y el 2 son de 8 bits, en cambio, el timer 1 es de 16 bits.

Estos poseen un módulo de pre escalado para su propia señal de reloj que puede tener procedencia de su propio sistema o traído por pines externos.

Esquema lógico de Arduino

Estos poseen un funcionamiento en paralelo en la CPU, pero trabajan de manera independiente. Básicamente, su manera de funcionar es subir su valor del registro al ritmo de la señal que marca el reloj.

Usando el reloj interno o un cristal externo puede ser utilizado para medir tiempos puesto que utiliza una señal periódica, precisa y de frecuencia conocida.

Mientras que si la señal viene de un pin externo puede contar eventos que se produzcan en el exterior y que se reflejen en cambios de nivel de tensión de los pines.

Trabajar con registros de memoria puede ser difícil si sólo se escribe un programa en lenguaje ensamblador.

Al utilizar el lenguaje de programación de alto nivel como es C basta con escribir el nombre del registro y su dirección de memoria, a partir de esa información, el compilador selecciona el registro necesario.

Las instrucciones apropiadas para la selección del registro serán incorporadas en el código durante el proceso de la compilación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

catorce − tres =