Академический Документы
Профессиональный Документы
Культура Документы
Microcontroladores PIC.
Sumario
1 Características y Aplicaciones
2 ¿Por qué los PIC?
3 Tipos de microcontroladores PIC y gama a que pertenecen
Bajo costo
· Bajo consumo de potencia
· Alta inmunidad al ruido
· Distintos modelos adecuados para cada necesidad
· Herramientas de desarrollo gratuitas
· Fácil de empezar a usar
· Abundante información técnica gratuita oficial y de terceros (ambas por Internet)
· Protección del código de programa por encriptación
· Modo SLEEP (estado de reposo o de muy bajo consumo)
· Predisposición para osciladores RC (Resistor/Capacitor), XT (XTal), HS (High Speed) y LP (Low Power)
· Solo 35 instrucciones RISC (Reduced Instruction Set Computer)
· Interrupciones programables
· Circuito de vigilancia tipo perro guardián (watch dog timer o WDT)
· Modelos con conversores A/D
· Modelos con salida PWM (modulación de anchura de pulsos)
· Modelos con varios temporizadores internos
El microcontrolador PIC16F877
Pertenece a la gama media, se le añaden nuevas prestaciones a las que poseían los de la gama baja, haciéndolos más adecuados
en las aplicaciones complejas, los mismos admiten interrupciones, poseen comparadores de magnitudes analógicas,
Convertidores A/D, puerto serie, diversos temporizadores, memorias OTP y EEPROM (Electrical Erasable Programmable Read
OnIy Memory) y 35 instrucciones de 14 bits de ancho.
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 número de pines comprendido entre 40 y 44.
Admiten interrupciones, poseen puerto serie, varios temporizadores y mayores capacidades de memoria que alcanzan las 8 k
palabras en la memoria de instrucciones, para memoria de datos cuentan con 454 a 3968 bytes y disponen de 77 Instrucciones de
16 bits de ancho.
Características Generales
Características Generales
Los microcontroladores seleccionados para el trabajo, están basados en características propias de los PIC pertenecientes a las
gamas baja, media y mejorada. La gama baja de los PIC, encuadra nueve modelos fundamentales en la actualidad.
La memoria de programa puede contener 512 byte, 1 k. y 2 k palabras de 12 bits, y ser de tipo ROM, EPROM. También hay
modelos con memoria OTP, (One Time Programmable) que sólo puede ser grabada una vez por el usuario. La memoria de datos
puede tener una capacidad comprendida entre 25 y 73 bytes.
Arquitectura
Los Microcontroladores PIC, basados en la arquitectura RISC (Set de Instrucciones Reducido), contemplan la mayoría de las
características de esta arquitectura. Entre ellas se pueden destacar, set de instrucciones homogéneo, reducido número de
instrucciones y alta velocidad.
La Arquitectura de Von Neumann se caracteriza por disponer de una sola memoria principal, donde se almacenan datos e
instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y
control).
La arquitectura Harvard empleada en los microcontroladores actuales, dispone de dos memorias independientes: una que contiene
sólo instrucciones y otra sólo datos.
Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura)
simultáneamente en ambas memorias, todo esto propicia que se mejore el ancho de banda con respecto a la arquitectura
tradicional.
Separar los buses de programa y de datos, permite además que el ajuste del tamaño de las instrucciones sea diferente del ancho
de 8 bits en los datos de palabra. Un bus de acceso a la memoria de programa con un ancho de 14 bits, toma una instrucción de
14 bits en un solo ciclo.
Los microcontroladores elegidos para el presente trabajo, pueden dirigirse directa o indirectamente a sus archivos de registros o
memoria de datos.
Todos los registros de funciones especiales, incluyendo el contador del programa, son trazados en un mapa en la memoria de
datos. Estos microcontroladores, tienen un set ortogonal (simétrico) de instrucción, que hace posible que se lleve a cabo cualquier
operación en cualquier registro usando cualquier modo de dirección.
La naturaleza simétrica y la ausencia de situaciones óptimas especiales, hacen la programación con estos microcontroladores
simple y más eficiente.
Organización de Memoria
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 es independiente a la de los datos, accediéndose en el mismo ciclo a ambas memorias, pues cada uno
tiene sus propios buses de acceso, además de tener tamaños y longitudes de palabra diferentes.
En los modelos que sólo disponen de la página 0, bastan los 9 bits de menos peso del PC (A8-A0) para direccionar la instrucción
en curso, que, si no es una de salto, provoca el autoincremento del mismo.
En las instrucciones de salto, el valor del PC se obtiene de diferentes formas según de la instrucción de que se trate.
Error al crear
miniatura: Falta
archivo
Los PIC de rango medio poseen un registro Contador del Programa (PC) de 13 bits, capaz de direccional un espacio de 8K x 14,
como todas las instrucciones son de 14 bits, esto significa un bloque de 8k instrucciones.
El bloque total de 8K x 14 de memoria de programa, está subdividido en 4 páginas de 2K x 14. En la Figura 1.4 se muestra esta
organización.
Los PIC´s de la gama mejorada 18CXX2 y 18F452, tienen un registro Contador del Programa (PC) de 14 bits, poseen mayores
capacidades de memoria que los de la gama media que alcanza hasta 1M palabras.
La mayoría de las instrucciones son de 16 bits, aunque las hay también de 32 bits. El número total de instrucciones es de 77.
El banco 0 tiene un tamaño de 32 bytes, mientras que todos los demás sólo disponen de 16. El banco 0 ocupa las 32 primeras
posiciones de la memoria y lo poseen todos los modelos de la gama baja.
Las 16 posiciones de menos peso de los bancos 1, 2 y 3 no son accesibles y cuando se direcciona desde el valor 00h al 0Fh,
siempre se acude al banco 0. Cuando la dirección está comprendida entre la 10h y la 1Fh, hay que seleccionar a cuál de los cuatro
posibles bancos corresponde con los bits 6 y 5 del registro FSR (File Select Register).
La memoria datos de los PIC de la gama media, consta de dos áreas mezcladas y destinadas a funciones distintas:
• Registros de Propósito Especial (SFR)
• Registro de Propósito General (GPR)
Los SFR, son localidades asociadas específicamente a los diferentes periféricos y funciones de configuración del PIC y tienen un
nombre específico asociado con su función. Mientras que los GPR son memoria RAM de uso general.
Bancos de memoria
Toda la memoria de datos está organizada en 4 bancos numerados: 0, 1, 2 y 3. Para seleccionar un banco, se debe hacer uso de
los bits del registro STATUS<7:5> denominados IRP, RP1 y RP0.
Cada banco se extiende hasta la dirección de memoria 7Fh (128 bytes). Las posiciones inferiores de cada banco están reservadas
para los registros de funciones especiales, a continuación de estos, se ubican los registros de propósito general, implementado
como RAM estática.
Todos los bancos implementados contienen registros de funciones especiales. Uno de los usos más frecuentes de estos registros
Todos los bancos implementados contienen registros de funciones especiales. Uno de los usos más frecuentes de estos registros
con respecto a un banco, puede ser el reflejo en otro para la reducción de código y la vía de entrada más rápida.
Hay dos maneras de acceder a la memoria de datos: Direccionamiento directo e indirecto. La selección de bancos se basa en la
siguiente tabla.
Los PIC´s de la gama mejorada, poseen memoria de datos RAM en todas las versiones hasta 1MB, con MMU y 4 canales de DMA.
También tienen versiones de memoria de datos EEPROM (con protección) de 256 bytes
Dichos puertos, deben soportar las líneas que precisan los distintos periféricos que hay integrados en la cápsula. Cuantos más
periféricos dispone el modelo, exige más líneas de comunicación y mayor número de pines, con más multiplexado de señales.
La mayoría de los pines de los Puertos son multifunción, es decir, soportan diferentes funciones según sean programadas. Así, por
ejemplo, existen pines que a veces funcionan como líneas de E/S digitales y otras como entradas o salidas de señales analógicas
para un comparador.
Sólo son válidos los 4 bits de menos peso que corresponden con las patitas RA3:RA0. Los 4 bits de más peso, no están
implementados y cuando se leen siempre valen 0. El Puerto B, funciona como un registro de E/S de 8 bits bidireccionales, siendo
accesibles todos ellos por las patitas RB7:RB0.
Conversor A/D.
Se trata de un potentísimo periférico, que se halla integrado en todos los microcontroladores del tipo PIC16FXXX, PIC18FXXX y
PIC18CXXX.
El PIC16F877 cuenta con 5 canales. Es un conversor análogo - digital de 8 bits con una tensión de referencia que puede ser
interna (VDD) o externa (entra por el pin AN3/Vref).
En cada momento la conversión solo se realiza con la entrada de uno de sus canales, depositando el resultado de la misma en el
registro ADRES y activándose el señalizador ADIF, que provoca una interrupción si el bit de permiso correspondiente esta
activado.
Además, al terminar la conversión el bit GO/DONE se pone a 0. La tensión de referencia puede provenir de la tensión interna VDD
o de la externa que se introduce por el pin AN3/Vref.
Para gobernar el funcionamiento del CAD (Conversor Análogo-Digital) se utilizan dos registros: ADCON0 y ADCON1. El primero,
selecciona el canal a convertir con los bits CHS, activa al conversor y contiene el señalizador que avisa el fin de la conversión
(ADIF) y el bit GO/DONE; el segundo (ADCON1), establece las entradas que son digitales y analógicas, así como el tipo de tensión
de referencia (interna o externa). El tiempo que dura la conversión, depende de la frecuencia de funcionamiento del PIC y del valor
de los bits ADCS1 y ADCS0
Los PIC´s 18F452 y 18CXX2, de la gama mejorada poseen un conversor análogo digital con una resolución de 10 bits y hasta 13
canales.
Fuentes
Angulo Martínez J., Angulo Usategui J. Ma., y Martín Cuenca E. Microcontroladores PIC, La solución en un chip Editorial
Paraninfo, 1997.
Angulo Martínez J., Angulo Usategui J. Ma., y Martín Cuenca E. Aplicaciones de los microcontroladores PIC de Microchip
Editorial McGraw Hill, 1998.
Campos Cerda Manuel Fernando, Castañeda Pérez Ramiro, Contreras Torres Arturo Cesar. Implementación de un Sistema de
Desarrollo Utilizando Microcontroladores PIC, Microchip Tecnology. Universidad de Guadalajara, 1998.