Introducción a los Microcontroladores

Introducción a los Microcontroladores:

Un microcontrolador es un chip o circuito integrado que contiene todos los elementos de una CPU ( Procesador, RAM, ROM, E/S). Estos dispositivos nacieron a finales de la década del 70′ para brindar una solución a los caros y complejos sistemas basados en lógica discreta. 

Cotidianamente vemos cientos de aplicaciones donde se usan los microcontroladores tales como los hornos eléctricos digitales, los automóviles, los PLC en la industria, etc. 

En este curso aprenderemos a usar 2 familias o marcas de dispositivos: los PIC de la empresa MICROCHIP y los AVR de la empresa ATMEL, ambos muy utilizados dentro del ámbito del aficionado y también dentro de la industria.

Estas 2 familias de dispositivos son del tipo RISC ( conjunto de instrucciones reducido ). Esto quiere decir que su conjunto de instrucciones es muy reducido en el orden de 30 a 200 instrucciones que se ejecutarán, salvo alguna de ellas, en el orden de 1 ciclo de máquina.

En las siguientes fotografías podemos ver 2 dispositivos: Un PIC16F877A de Microchip y un ATmega328P de ATMEL respectivamente.

PIC16F877

ATmega328p

Estructura básica de un microcontrolador:

En la imagen podemos ver los componentes básicos de cualquier microcontrolador. Los componentes que componen cada dispositivo suelen variar según el fabricante y la arquitectura que posea.

Arquitectura del dispositivo

Arquitectura de un Microcontrolador:

Básicamente existen 2 tipos de arquitecturas:

 

 

  • Von Neumann
  • Hardvard

 

Arquitectura Von Neumann:

la unidad de proceso o CPU está conectada a una memoria única que contiene las instrucciones del programa y los datos.  La longitud de las instrucciones está limitada por la unidad de longitud de los datos, por lo tanto el microprocesador debe hacer varios accesos a la memoria para buscar instrucciones complejas.

La velocidad de operación está limitada por el efecto cuello de botella que significa un único bus para datos e instrucciones, lo que impide superponer ambos tiempos de acceso.

Arquitectura Hardvard:

En este tipo de arquitectura, la memoria de datos está separa de la memoria de programa por lo que están conectadas a la CPU mediante buses separados totalmente independientes que pueden ser de distinto ancho. Debido a esto el tamaño de las instrucciones no está relacionado con el de datos y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa. Así se logra mayor velocidad y una menor longitud del programa.

Otras de las características es que el tiempo de acceso a las instrucciones puede superponerse con el de datos, logrando una mayor velocidad de operación.

Tanto los microcontroladores de la firma microchip como los microcontroladores de la firma ATMEL son de arquitectura Hardvard.

Características principales de los PIC:  

 

  • Reducido número de instrucciones.
  • 1 solo acumulador W de uso implícito. 
  • Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de operaciones matemáticas y otras funciones.
  • Una pila de hardware para almacenar instrucciones de regreso de funciones.
  • El espacio de datos está relacionado con el CPU, puertos, y los registros de los periféricos.
  • Las instrucciones se ejecutan en 1 ciclo de máquina ( 4 ciclos de reloj ).

 

Características principales de los AVR:  

 

  • Ejecución eficiente de código C compilado.
  • registros X,Y,Z para el manejo de punteros.
  • Núcleo multiacumulador.
  • Todas las instrucciones salvo algunas instrucciones de salto ocupan 1 ciclo de máquina que equivale a 1 o 2 ciclos de reloj.
  • Herramientas de desarrollo gratuitas bajo GNU.
  • Permite la programación IN – CIRCUIT.
Ya hemos visto las principales características que definen a los microcontroladores PIC y AVR. En la próxima veremos que herramientas necesitamos para trabajar con los mismos.

 


Deja un comentario

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