lunes, 28 de febrero de 2011

MICROCONTROLADOR PIC 16F84



PRINCIPALES CARACTERÍSTICAS:
  • Repertorio de 35 Instrucciones.
  • Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos.
  • Versiones para bajo consumo (16LF84A), de 4 MHz (PIC16F84A-04) y 20 MHz (PIC16F84A-20). Un ciclo máquina del PIC son 4 ciclos de reloj, por lo cual si tenemos un PIC con un cristal de 4 MHz, se ejecutarán 1 millón de instrucciones por segundo.
  • Memoria de programa Flash de 1 K x 14 bits.
  • Memoria RAM dividida en 2 áreas: 22 registros de propósito específico (SFR) y 68 de propósito general (GPR) como memoria de datos.
  • 15 registros de funciones especiales.
  • Memoria de datos RAM de 68 bytes (68 registros de propósito general).
  • Memoria de datos EEPROM de 64 bytes.
  • Contador de programa de 13 bit (lo que en teoría permitiría direccionar 4 KB de memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada).
  • Pila con 8 niveles de profundidad.
ARQUITECTURA.
 Arquitectura interna
Las altas prestaciones de los microcontroladores PIC derivan de las características de su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean más rápidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman.
Otra característica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayoría se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos. Posee una ALU (Unidad Aritmético Lógica) de 8 bits capaces de realizar operaciones de desplazamientos, lógicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.

Dependiendo de la instrucción ejecutada, la ALU puede afectar a los bits de Acarreo, Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS).

Procesador segmentado "pipe-line": quiere decir que aplica la técnica de segmentación que permite al procesador realizar simultáneamente la ejecución de una instrucción y la búsqueda de código de la siguiente. De esta manera, se puede ejecutar una instrucción en un ciclo. (Cada ciclo de instrucción son http://laramicrocontroladores.blogspot.com/b/post-preview?token=RhIjcS4BAAA.bOprsunTYdQ3mAtF70LSew.ka8rBTyKHbf52SQkqPJT2g&postId=6585568605350719086&type=POSTcuatro ciclos de reloj).
Procesador tipo RISC: Las CPU´s atendiendo al tipo de instrucciones que utilizan pueden clasificarse en:
  • CISC: (Complex Instruction Set Computer) Computadores de juego de instrucciones complejo, que disponen de un repertorio de instrucciones elevado (unas 80), algunas de ellas muy sofisticadas y potentes, pero que como contrapartida requieren muchos ciclos de máquina para ejecutar las instrucciones complejas.
  • RISC: (Reduced Instruction Set Computer) Computadores de juego de instrucciones reducido, en los que el repertorio de instrucciones es muy reducido (en nuestro caso 35), las instrucciones son muy simples y suelen ejecutarse en un ciclo máquina. Además los RISC deben tener una estructura pipeline y ejecutar todas las instrucciones a la misma velocidad.
ARQUITECTURA SEGÚN EL MODELO HARVARD
Tradicionalmente los microprocesadores se basan en la estructura de Von Neumann, como la de la figura siguiente, que se caracteriza por disponer de una única memoria principal en la que se almacenan los datos y las instrucciones. A esta memoria se accede a través de un sistema de buses único:
  • Bus de datos
  • Bus de direcciones
  • Bus de control  
Arquitectura OrtogonalArquitectura Ortogonal: Cualquier instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino.
Arquitectura basada en banco de registrosArquitectura basada en banco de registros: Implica que todos los elementos del sistema, es decir, temporizadores, puertos de entrada/salida, posiciones de memoria, etc, están implementados físicamente como registros

El Contador de Programas (PC)
Los microcontroladores de la gama media disponen de un Contador de Programa (PC) de 13 bits, cuyos bits de menor peso corresponden a los 8 bits del registro PCL, implementado en la posición de memoria RAM 02h (y duplicado en la posición 82h),y los cinco bit de mayor peso del PC corresponden con los 5 bits de menor peso del registro PCLATCH, implementado en la posición de memoria RAM 0Ah (y duplicado en la posición 8Ah), lo que le permite direccionar hasta 8 K x 14 bits dividido en páginas de 2 K x 14 bits.
La pila es una zona de memoria, que se encuentra separada tanto de la memoria de programa como de la de datos. Tiene una estructura LIFO (Last In First Out), por lo que el último valor que se guarda es el primero que sale. Dispone de 8 niveles de profundidad cada uno de ellos con una longitud de 13 bits. Su funcionamiento es como el de un buffer circular, de tal forma que el valor que se obtiene al realizar nueve desplazamientos, es igual al primer desplazamiento