Microcontroladores PIC – Su arquitectura

Una breve introducción a los Microcontroladores PIC – Su arquitectura. Sabemos que Arduino tiene fuerza en el mercado, pero los adeptos al PIC sabemos que difícilmente podrá reemplazarlo.

Microcontroladores PIC - su arquitectura

Microcontroladores PIC – Su arquitectura y diseño

El PIC es un Circuito Integrado Programable, básicamente, un Microcontrolador que fue desarrollado en el año 1993 por General Instruments (Un fabricante con proyectos muy avanzados en microelectrónica). Está controlado por software y programado de tal manera que realiza diferentes tareas y controla una línea de generación. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico) en muchos proyectos.

Los microcontroladores PIC se utilizan en diferentes aplicaciones nuevas y algunas ya viejas, como teléfonos inteligentes, accesorios de audio y dispositivos médicos avanzados.

Hay muchos modelos de PIC disponibles en el mercado que van desde el popular PIC16F84 a PIC16C84 (son obsoletos pero aún se utilizan). Estos tipos de PIC son PIC con memoria flash asequibles. Microchip introdujo hace ya algún tiempo diferentes tipos, como el 16F628, 16F877 y 18F452. El 16F877 cuesta el doble del precio del antiguo 16F84, pero es ocho veces más que el tamaño del código, con más RAM y muchos más pines de E / S, un convertidor UART, A / D y muchas más funciones.

Un PIC muy apreciado por sus generosas prestaciones es el PIC18F2550.

Microcontrolador PIC 18F2550

El diagrama de bloques del Microcontrolador PIC 18F2550:

DIAGRAMA DE BLOQUES PIC 18F2550

Características del Microcontrolador PIC 18F2550:

Procesador: microcontrolador de alto rendimiento, multifunciones PIC18F2550-I/SP de 48 Mhz, 28 pines encapsulado DIP, de Microchip.

Arquitectura: Harvard, memoria de código de 16 bits, separada de la memoria de datos de 8 bits.  Procesamiento “pipeline”.

Tecnología: RISC (reduced instruction set computer), con 75 instrucciones.

Puerto USB v2.0: transceptor integrado al microcontrolador. 12 Mb/s

Memoria: 16K localidades de 16 bits de FLASH (ó 32 Kbytes), 2 Kb localidades (8 bits) de RAM, 256 localidades (8 bits) de EEPROM.

Autoprogramación de la memoria FLASH: a través del puerto USB, por medio de un firmware bootloader residente.

Puertos digitales: puerto A de 5 bits, puerto B de 8 bits, puerto C de 8 bits un total de 21 bits programables como entradas o como salidas.

Capacidad de salidas: cada bit de salida puede tomar (“sink”), ó generar (“source”), hasta 25 miliamperes.

Puertos seriales: USART compatible RS232. SSP Puerto serial síncrono  con 2 modos de operación: SPI (Serial Peripheral Interface, modos Master/Slave) e I2C (Integrated, Integrated Circuit. Modo Slave)

Temporizadores: 4 temporizadores de 16 bits.  Un generador de PWM

Convertidores A/D: 10 canales, con 10 bits de resolución.

Funciones adicionales: power-on reset,  brown out reset, power up timer, watch dog, code protection , sleep (bajo consumo).

Arquitectura de los Microcontroladores PIC

El microcontrolador PIC se basa en la arquitectura RISC. Su arquitectura de memoria sigue el patrón de Harvard de memorias separadas para programas y datos, con buses separados.

arquitectura microcontrolador PIC

Aquitectura del microcontrolador PIC 16F887 (Imagen cortesía de mikroe)

1. Estructura de la memoria

La arquitectura PIC consta de dos memorias: la memoria de programa y la memoria de datos.

Memoria de programa: este es un espacio de memoria 4K * 14. Se utiliza para almacenar instrucciones de 13 bits o el código del programa. Se accede a los datos de la memoria del programa mediante el registro del contador del programa que contiene la dirección de la memoria del programa. La dirección 0000H se usa como espacio de memoria de reinicio y 0004H se usa como espacio de memoria de interrupción.

Memoria de datos: la memoria de datos consta de 368 bytes de RAM y 256 bytes de EEPROM. Los 368 bytes de RAM consisten en múltiples bancos. Cada banco consta de registros de propósito general y registros de funciones especiales.

Los registros de funciones especiales consisten en registros de control para controlar diferentes operaciones de los recursos del chip, como temporizadores, convertidores analógicos a digitales , puertos serie, puertos de E / S, etc. Por ejemplo, el registro TRISA cuyos bits se pueden cambiar para alterar la entrada o operaciones de salida del puerto A.

Los registros de propósito general consisten en registros que se utilizan para almacenar datos temporales y procesar resultados de los datos. Estos registros de propósito general son cada uno registros de 8 bits.

Registro de trabajo: consiste en un espacio de memoria que almacena los operandos para cada instrucción. También almacena los resultados de cada ejecución.

Registro de estado: los bits del registro de estado denotan el estado de la ALU (unidad lógica aritmética) después de cada ejecución de la instrucción. También se utiliza para seleccionar cualquiera de los 4 bancos de la RAM.

Registro de selección de archivos: actúa como un puntero a cualquier otro registro de uso general. Consiste en una dirección de archivo de registro y se usa en direccionamiento indirecto.

Otro registro de propósito general es el registro del contador del programa, que es un registro de 13 bits. Los 5 bits superiores se usan como PCLATH (Programa de bloqueo del contador) para funcionar independientemente como cualquier otro registro, y los 8 bits inferiores se usan como los bits del contador del programa. El contador del programa actúa como un puntero a las instrucciones almacenadas en la memoria del programa.

EEPROM: consta de 256 bytes de espacio de memoria. Es una memoria permanente como la ROM, pero su contenido puede borrarse y modificarse durante el funcionamiento del microcontrolador. Los contenidos en EEPROM pueden leerse o escribirse en ellos, utilizando registros de funciones especiales como EECON1, EECON2, EEDATA, etc.

2. Puertos de E / S

La serie PIC16 consta de cinco puertos, como Puerto A, Puerto B, Puerto C, Puerto D y Puerto E.

Puerto A: es un puerto de 16 bits, que se puede utilizar como puerto de entrada o salida según el estado del registro TRISA.

Puerto B: es un puerto de 8 bits, que se puede utilizar como puerto de entrada y salida. 4 de sus bits cuando se usan como entrada se pueden cambiar en las señales de interrupción.

Puerto C: es un puerto de 8 bits cuya operación (entrada o salida) está determinada por el estado del registro TRISC.

Puerto D: es un puerto de 8 bits, que además de ser un puerto de E / S, actúa como un puerto esclavo para la conexión al bus del microprocesador.

Puerto E: es un puerto de 3 bits que sirve la función adicional de las señales de control al convertidor A / D.

3. Temporizadores

Los microcontroladores PIC consisten en 3 temporizadores , de los cuales el Temporizador 0 y el Temporizador 2 son temporizadores de 8 bits y el Tiempo-1 es un temporizador de 16 bits, que también se puede usar como contador .

4. Convertidor A / D

El microcontrolador PIC consta de 8 canales, convertidor analógico a digital de 10 bits. El funcionamiento del convertidor A / D está controlado por estos registros de funciones especiales: ADCON0 y ADCON1. Los bits inferiores del convertidor se almacenan en ADRESL (8 bits), y los bits superiores se almacenan en el registro ADRESH. Requiere un voltaje de referencia analógico de 5V para su funcionamiento.

5. Osciladores

Los osciladores se utilizan para generar el tiempo. Los microcontroladores PIC consisten en osciladores externos como cristales u osciladores RC. En el caso de los osciladores de cristal, el cristal está conectado entre dos pines del oscilador, y el valor del condensador conectado a cada pin determina el modo de funcionamiento del oscilador. Los diferentes modos son el modo de baja potencia, el modo cristal y el modo de alta velocidad. En el caso de osciladores RC, el valor de la resistencia y el capacitor determinan la frecuencia del reloj. La frecuencia del reloj oscila entre 30 KHz y 4 MHz.

6. Módulo CCP:

Un módulo CCP funciona en los siguientes tres modos: 

Modo de captura: este modo captura el tiempo de llegada de una señal, o en otras palabras, captura el valor del temporizador 1 cuando el pin CCP sube.

Modo de comparación: actúa como un comparador analógico que genera una salida cuando el valor del temporizador 1 alcanza un cierto valor de referencia.

Modo PWM: proporciona salida modulada por ancho de pulso con una resolución de 10 bits y un ciclo de trabajo programable.

Fuente: elprocus, microe, micros.grup6

Un proyecto real con PIC 12F683

Otros periféricos especiales incluyen un temporizador Watchdog que restablece el microcontrolador en caso de mal funcionamiento del software. Para una mejor comprensión de este microcontrolador PIC, estamos dando un proyecto práctico que utiliza este controlador para su funcionamiento.

sensor-de-movimiento-temporizado con PIC 12F683

Sensor de movimiento temporizado con PIC 12F683 que incorpora un PIR y cuando detecta el movimiento humano activa un rele de salida y después de un tiempo ajustable por software desconecta el relé.

Este proyecto es muy útil para automatizar luces en escaleras y pasillos.

El Microcontrolador PIC 16F887

Una pequeña descripción de la características del PIC 16F887

  • Arquitectura RISC
    • El microcontrolador cuenta con solo 35 instrucciones diferentes
    • Todas las instrucciones son uni-ciclo excepto por las de ramificación
  • Frecuencia de operación 0-20 MHz
  • Oscilador interno de alta precisión
    • Calibrado de fábrica
    • Rango de frecuencia de 8MHz a 31KHz seleccionado por software
  • Voltaje de la fuente de alimentación de 2.0V a 5.5V
    • Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)
  • Ahorro de energía en el Modo de suspensión
  • Brown-out Reset (BOR) con opción para controlar por software
  • 35 pines de entrada/salida
    • alta corriente de fuente y de drenador para manejo de LED
    • resistencias pull-up programables individualmente por software
    • interrupción al cambiar el estado del pin
  • Memoria ROM de 8K con tecnología FLASH
    • El chip se puede re-programar hasta 100.000 veces
  • Opción de programación serial en el circuito
    • El chip se puede programar incluso incorporado en el dispositivo destino.
  • 256 bytes de memoria EEPROM
    • Los datos se pueden grabar más de 1.000.000 veces
  • 368 bytes de memoria RAM
  • Convertidor A/D:
    • 14 canales
    • resolución de 10 bits
  • 3 temporizadores/contadores independientes
  • Temporizador perro guardián
  • Módulo comparador analógico con
    • Dos comparadores analógicos
    • Referencia de voltaje fija (0.6V)
    • Referencia de voltaje programable en el chip
  • Módulo PWM incorporado
  • Módulo USART mejorado
    • Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
    • Auto detección de baudios
  • Puerto Serie Síncrono Maestro (MSSP)
    • Soporta los modos SPI e I2C

Los proyectos de microcontroladores PIC se pueden usar en diferentes aplicaciones, como periféricos de videojuegos, accesorios de audio, etc. Además de esto, para cualquier ayuda con respecto a cualquier proyecto, puede contactarnos comentando en la sección de comentarios.

 

Admin

Me llamo Joan Mengual y durante toda mi vida he sido Electrónico. llevo tiempo escribiendo en este blog y de manera altruista voy impartiendo mis conocimientos y mi pasión por la electrónica.

Deja un comentario

+ 77 = 84

Cerrar menú