Microcontroladores PIC
DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.1

Índice / Introducción Microcontroladores Familia de productos PIC

Microcontroladores PIC

Índice de contenidos


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.2

Características relevantes de los PIC

1ª. La arquitectura del procesador sigue el modelo Harvard.

    La repercusión más importante del empleo de la arquitectura Harvard en los microcontroladores PIC se manifiesta en la organización de la memoria del sistema. La memoria de programa o instrucciones es independiente de la de los datos, teniendo tamaños y longitudes de palabra diferentes.

    La arquitectura Harvard permite a la CPU acceder simultáneamente a las dos memorias. Además, propicia numerosas ventajas al funcionamiento del sistema.

    En los PIC, el formato de las instrucciones es de 12 bits, 14 bits o 16 bits según el modelo y, en consecuencia, la longitud de las palabras de la memoria de instrucciones o programa corresponde con esa longitud. Este tamaño permite codificar en una palabra el código de operación de la instrucción junto al operando o su dirección.

    Para adaptarse a las necesidades de las aplicaciones del usuario hay modelos con 512 posiciones para la memoria de instrucciones y otros que tienen 1 k, 2 k , y hasta 64 k posiciones de memoria.

    Existen varias versiones de memoria de instrucciones para los PIC:


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.3

    Los modelos con memoria OTP sólo pueden ser grabados una vez por el usuario.

    Puesto que los datos y operandos que manejan las instrucciones son de 8 bits, la longitud de las palabras de la memoria de datos tiene ese tamaño.

    La capacidad de la SRAM varía entre 16 y 3968 posiciones, según el modelo.

    A continuación se presenta el esquema general de adaptación de la CPU a las memorias de los PIC16X84. El bus que direcciona las posiciones de la memoria de programa tiene un tamaño de 13 líneas. El bus que direcciona la memoria de datos dispone de siete líneas para seleccionar 68 bytes.

2ª. Se aplica la técnica de segmentación ("pipe-line") en la ejecución de las instrucciones.

    La segmentación permite al procesador realizar al mismo tiempo la ejecución de una instrucción y la búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo (en los PIC cada ciclo de instrucción son cuatro ciclos de reloj).

    Durante la fase de búsqueda, la dirección de la instrucción la proporciona el PC, el cual normalmente se autoincrementa en la mayoría de las instrucciones, excepto en las de salto.

Ejemplo: 2 Ciclos 1 Ciclo 2 Ciclos 1 Ciclo
1. MOVLW 55h Búsqueda 1ª Ejecuta 1ª
2 .MOVWF PB Búsqueda 2ª Ejecuta 2ª
3. CALL SUB Búsqueda 3ª Ejecuta 3ª
4. MOVLW 03h Búsqueda 4ª NOP
Bús 1ª SUB Eje 1ª SUB

DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.4

    Las instrucciones de salto ocupan dos ciclos al no conocer la dirección de la siguiente instrucción.

3ª. El formato de todas las instrucciones tiene la misma longitud.

    Las instrucciones de los microcontroladores mas sencillos tienen una longitud de palabra de 12 bits. Los medianos tienen 14 bits y los de mayor complejidad tienen más longitud. Esta característica es muy ventajosa en la optimización de la memoria de instrucciones y facilita enormemente la construcción de ensambladores y compiladores.

4ª. Procesador RISC (Computador de Juego de Instrucciones Reducido).

    Las CPU´s atendiendo al tipo de instrucciones que utilizan pueden clasificarse en:

    El número de instrucciones de los PIC mas simples es 33, llegando a 60 en los mas complejos. La familia PIC16X84 dispone de un repertorio de 35 instrucciones.

5ª. Todas las instrucciones son ortogonales.

    Cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o como destino.

    En los PIC el manejo del banco de registros, que participan activamente en la ejecución de las instrucciones, es muy interesante al ser ortogonales.

6ª. Arquitectura basada en un banco de registros.

    La arquitectura 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.

    En la figura siguiente se muestra como la ALU (Unidad Aritmético-Lógica) efectúa sus operaciones con dos operandos, uno que proviene del registro W (Work), que en otras CPUs recibe el nombre de Acumulador, y el otro que se encuentra en cualquier otro registro o desde el propio código de instrucción.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.5

7ª. Prácticamente todos los PIC se caracterizan por poseer unos mismos recursos mínimos:

8ª. Modelos de arquitectura cerrada y de arquitectura abierta.

    Entre los fabricantes de microcontroladores hay dos tendencias para resolver las demandas de los usuarios:

    1ª. Microcontroladores de arquitectura cerrada.
    Cada modelo se construye con una determinada CPU, cierta capacidad de memoria de datos, cierto tipo y capacidad de memoria de instrucciones, un número de E/S y un conjunto de recursos auxiliares muy concreto. El modelo no admite variaciones ni ampliaciones.
La aplicación a la que se destina debe encontrar en su estructura todo lo que precisa y, en caso contrario, hay que desecharlo. Microchip ha elegido principalmente este modelo de arquitectura.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.6

    2ª. Microcontroladores de arquitectura abierta.
    Estos microcontroladores se caracterizan porque, además de disponer de una estructura interna determinada, pueden emplear sus líneas de E/S para sacar al exterior los buses de datos, direcciones y control, con lo que se posibilita la ampliación de la memoria y las E/S con circuitos .integrados externos. Microchip dispone de modelos PIC con arquitectura abierta, sin embargo, esta alternativa se escapa de la idea de un microcontrolador incrustado y se asemeja a la solución que emplean los clásicos microprocesadores.

    Los verdaderos microcontroladores responden a la arquitectura cerrada y permiten resolver una aplicación con un solo circuito integrado y a precio muy reducido.

9ª. Diversidad de modelos de microcontroladores.

    La gran variedad de modelos de microcontroladores PIC (254 dispositivos a noviembre de 2004) permite que el usuario pueda seleccionar el más conveniente para su proyecto:

    La Pila en los PICs:

    La Pila en los PIC 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 varios niveles de profundidad, cada uno de ellos con una longitud de n bits. Su funcionamiento es como el de un buffer circular, de manera que el valor que se obtiene al realizar tantos desplazamientos como niveles mas uno, es igual al primer desplazamiento.

    La única manera de cargar la Pila es a través de la instrucción CALL (llamada a subrutina) o por una interrupción que hacen que con cada una de ellas, se cargue el contenido del PC en el valor superior de la Pila. Para recuperar el contenido de la Pila en el PC hay que ejecutar una instrucción RETURN, RETLW o RETFIE (vuelta del programa de atención a una subrutina o interrupción).

    No se dispone de ningún flag (identificador o bandera) que indique un desbordamiento de la Pila.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.7

    Los dispositivos mas complejos responden a microcontroladores de arquitectura abierta que pueden expandirse en el exterior al poder sacar los buses de datos, direcciones y control. Así se pueden configurar sistemas similares a los que utilizan los microprocesadores convencionales, siendo capaces de ampliar la configuración interna del PIC añadiendo nuevos dispositivos de memoria y de E/S externas. Esta facultad obliga a estos componentes a tener un elevado numero de patillas.

    Con los PIC se dispone de gran diversidad de modelos y encapsulados, pudiendo seleccionar el que mejor se acople a las necesidades de acuerdo con el tipo y capacidad de las memorias, el número de líneas de E/S y las funciones auxiliares precisas. Sin embargo, todas las versiones están construidas alrededor de una arquitectura común, un repertorio mínimo de instrucciones y un conjunto de opciones muy apreciadas, como el bajo consumo y el amplio margen del voltaje de alimentación.

10ª. Amplio margen de alimentación y corrientes de salida elevadas.

    La tensión típica de los PIC es de 5 v, si bien según que modelos se pueden alimentar con tensiones de 2 a 6,25 voltios, lo cual posibilita el funcionamiento mediante pilas corrientes teniendo en cuenta su bajo consumo ( menos de 2 mA a 5 V y 4 MHz ).

    Las líneas de E/S de los PIC pueden proporcionar o absorber una corriente de salida comprendida entre 20 y 25 mA, capaz de excitar directamente ciertos periféricos.

11ª. Herramientas de soporte potentes y económicas.

Información sobre PIC

    La información sobre PIC en libros y revistas de electrónica es grande. Prácticamente no hay un número de una revista de electrónica que no publique al menos un artículo con microcontroladores, sobre todo PIC y para hacer hasta lo mas simple. Pero la información que existe en internet es enorme. Existen multitud de páginas web, foros, grupos de noticias y sitios ftp con aspectos relacionados con los microcontroladores, pero sobre todo con los PIC.

    Libros de interés:

    A continuación se presentan los sitios de Internet que consideramos más interesantes sobre los PIC y el desarrollo de los circuitos que los utilizan:


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.8

Tipos de PIC

    Para resolver aplicaciones sencillas se precisan pocos recursos; en cambio, las aplicaciones grandes requieren numerosos y potentes. Siguiendo esta filosofía, Microchip construye diversos modelos de microcontroladores orientados a cubrir, las necesidades de cada proyecto. Así, hay disponibles microcontroladores sencillos y baratos para atender las aplicaciones simples y otros complejos y más costosos para las de mucha envergadura.

    La mayoría de los sistemas de control incrustados requieren CPU, memoria de datos, memoria de instrucciones, líneas de E/S, y diversas funciones auxiliares como temporizadores, comunicación serie y otras. La capacidad y el tipo de las memorias, el número de líneas de E/S y el de temporizadores, así como circuitos auxiliares, son parámetros que dependen exclusivamente de la aplicación y varían mucho de una situación a otra. Quizás se pueda considerar la decisión más importante del proyecto la elección del modelo de microcontrolador. Para adaptarse de forma óptima a las necesidades de los usuarios, Microchip ofrece diversos tipos de microcontroladores de 8 bits.

    La mejor manera de mantenerse informado sobre los PIC es mediante la página del fabricante, www.microchip.com, en ella se mantiene la información actualizada de todos los dispositivos en producción, se pueden buscar según varios criterios y se ofrecen en formtato PDF (en inglés y chino) las hojas de características de los dispositivos. Aproximadamente, cada seis meses aparece un dispositivo nuevo.

     Pueden tomarse diversas maneras de clasificar los PIC y ninguna puede considerarse definitiva, debido a la rápida evolución de estos dispositivos. A continuación se presentan distintas formas de clasificar a los PIC, según diversos aspectos:

    En la clasificación por familias, las principales diferencias radican en el número de instrucciones y su longitud, el número de puertos y funciones, lo cual se refleja en el encapsulado, la complejidad interna y de programación, y en el número de aplicaciones.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.9

    A continuación exponemos algunas características interesantes de algunos tipos de PIC:

PIC de 8 patillas

    Se trata de un grupo de PIC bastante difundidos en el mercado. Su principal característica es su reducido tamaño, al disponer todos sus componentes de 8 patitas. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones, respectivamente. En la siguiente figura se muestra el diagrama de conexionado de uno de estos PIC.

    Aunque sólo tienen 8 patillas, pueden destinar hasta 6 como líneas de E/S para los periféricos al disponer de un oscilador interno R-C, lo cual es una de su principales características.

    Los modelos 12C5xx tienen instrucciones de 12 bits; mientras que los 12C6xx tienen instrucciones de 14 bits. Los modelos 12F6xx poseen memoria Flash para el programa y EEPROM para los datos.

PIC16C(R)5X con instrucciones de 12 bits

    Se trata de una serie recursos limitados, pero con una buena relación coste/prestaciones. Disponen de 18, 20 o 28 patillas y pueden alimentarse a partir de una tensión de 2,5 V, lo que les hace ideales en las aplicaciones que funcionan con pilas teniendo en cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones cuyo formato consta de 12 bits. No admiten ningún tipo de interrupción y la Pila sólo dispone de dos niveles. Poseen memoria de programa tipo OTP (16C5X) o ROM (16CR5X).


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.10

PIC16XXX con instrucciones de 14 bits

Es la gama más variada y completa de los PIC. Abarca modelos con encapsulado a partir de 18 patillas, cubriendo varias opciones que integran abundantes periféricos. Dentro de esta gama se halla el conocido PIC16X84 y sus variantes. En la siguiente figura se muestra el diagrama de conexionado de uno de estos PIC.

    En esta gama sus componentes añaden nuevas prestaciones a las que poseían los de gamas inferiores, haciéndoles más adecuados en las aplicaciones complejas. Admiten interrupciones, poseen comparadores de magnitudes analógicas, convertidores A/D, puertos serie y diversos temporizadores.

    El repertorio de instrucciones es de 35, de 14 bits cada una y compatible con gamas inferiores. Sus distintos modelos contienen todos los recursos que se precisan en las aplicaciones de microcontroladores de 8 bits. También dispone de interrupciones y una Pila de 8 niveles que permite el anidamiento de subrutinas.

    El temporizador TMR1 que hay en algunos PIC de esta gama tiene un circuito oscilador que puede trabajar asíncronamente y que puede incrementarse aunque el microcontrolador se halle en el modo de reposo (sleep), posibilitando la implementación de un reloj en tiempo real. Las líneas de E/S presentan una carga “pull-up” activada por software.

PIC14000

    Dentro de esta gama se encuentra el PIC14000, que soporta el diseño de controladores inteligentes para cargadores de baterías, pilas pequeñas, fuentes de alimentación ininterrumpibles y cualquier sistema de adquisición y procesamiento de señales que requiera gestión de la energía de alimentación. Los PIC14000 admiten cualquier tecnología de las baterías como Li-Ion, NiMH, NiCd, Ph y Zinc.

PIC17CXXX con instrucciones de 16 bits

    Se alcanzan las 58 instrucciones de 16 bits en el repertorio y sus modelos disponen de un sistema de gestión de interrupciones vectorizadas muy potente. También incluyen variados controladores de periféricos, puertas de comunicación serie y paralelo con elementos externos, un multiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanza los 8 k palabras en la memoria de instrucciones y 454 bytes en la memoria de datos.


DISPOSITIVOS LÓGICOS MICROPROGRAMABLES Microcontroladores PIC 3.11

    Quizás la característica más destacable de los componentes de esta gama es su arquitectura abierta, que consiste en la posibilidad de ampliación del microcontrolador con elementos externos. Para este fin, las patillas sacan al exterior las líneas de los buses de datos, direcciones y control, a las que se conectan memorias o controladores de periféricos. Esta facultad obliga a estos componentes a tener un elevado número de patillas (40 y más). Esta filosofía de construcción del sistema es la que se empleaba en los microprocesadores y no suele ser una práctica habitual cuando se emplean microcontroladores.


Índice / Introducción Microcontroladores Familia de productos PIC