viernes, 5 de diciembre de 2008

MICROCONTROLADOR PIC


Microcontrolador PIC

Los 'PIC' son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instruments.

El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (Controlador de Interfaz Periférico).

El PIC original se diseñó para ser usado con la nueva UCP de 16 bits CP16000. Siendo en general una buena UCP, ésta tenía malas prestaciones de E/S, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la UCP. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.

En 1985, dicha división de microelectrónica de General Instruments se convirtió en una filial y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluidos (módulos de comunicación serie, UARTs, núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en ensamblador, y puede ser 12, 14 o 16 bits, dependiendo de la familia específica de PICmicro).

Programación del PIC

Para transferir el código de un ordenador al PIC normalmente se usa un dispositivo llamado programador. La mayoría de PICs que Microchip distribuye hoy en día incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 como reloj y datos y el MCLR para activar el modo programación aplicando un voltaje de 13 voltios. Existen muchos programadores de PICs, desde los más simples que dejan al software los detalles de comunicaciones, a los más complejos, que pueden verificar el dispositivo a diversas tensiones de alimentación e implementan en hardware casi todas las funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las órdenes al PIC que se desea programar. Uno de los programadores más simples es el TE20, que utiliza la línea TX del puerto RS232 como alimentación y las líneas DTR y CTS para mandar o recibir datos cuando el microcontrolador está en modo programación. El sofware de programación puede ser el ICprog, muy común entre la gente que utiliza este tipo de microcontroladores. Se pueden obtener directamente de Microchip muchos programadores/depuradores (octubre 2005):

Programadoresr

PICStart Plus (puerto serie y USB)
Promate II (puerto serie)
MPLAB PM3 (puerto serie y USB)
ICD2 (puerto serie y USB)
PICKit 1 (USB)
IC-Prog 1.06BPICAT 1.25 (puerto USB2.0 para PICs y Atmel)
WinPic 800 (puerto paralelo, serie y USB
)Terusb1.0Eclipse (PICs y AVRs. USB.)

Depuradores integrados

ICD (Serie)
ICD2 (USB)

Emuladores

Proteus - ISISICE2000 (puerto paralelo, convertidor a USB disponible)
ICE4000 (USB)
PIC EMUPIC CDlite visual basic

Tamaño de palabra

El tamaño de palabra de los microcontroladores PIC es fuente de muchas confusiones. Todos los PICs (excepto los dsPIC) manejan datos en trozos de 8 bits, con lo que se deberían llamar microcontroladores de 8 bits. Pero a diferencia de la mayoría de UCPs, el PIC usa arquitectura Harvard, por lo que el tamaño de las instrucciones puede ser distinto del de la palabra de datos. De hecho, las diferentes familias de PICs usan tamaños de instrucción distintos, lo que hace difícil comparar el tamaño del código del PIC con el de otros microcontroladores. Por ejemplo, un microcontrolador tiene 6144 bytes de memoria de programa: para un PIC de 12 bits esto significa 4096 palabras y para uno de 16 bits, 3072 palabras.

Características

Los PICs actuales vienen con una amplia gama de mejoras hardware incorporadas:
Núcleos de UCP de 8/16 bits con Arquitectura Harvard modificada
Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes
Puertos de E/S (típicamente 0 a 5,5 voltios)
Temporizadores de 8/16 bits
Tecnología Nanowatt para modos de control de energía
Periféricos serie síncronos y asíncronos: USART, AUSART, EUSART
Conversores analógico/digital de 8-10-12 bits
Comparadores de tensión
Módulos de captura y comparación PW
MControladores LCD
Periférico MSSP para comunicaciones I²C, SPI, y I²S
Memoria EEPROM interna con duración de hasta un millón de ciclos de lectura/escritura
Periféricos de control de motores
Soporte de interfaz USB
Soporte de controlador Ethernet
Soporte de controlador CAN
Soporte de controlador LIN
Soporte de controlador Irda

Variaciones del PIC PICs modernos

Los viejos PICs con memoria PROM o EPROM se están renovando gradualmente por chips con memoria Flash. Así mismo, el juego de instrucciones original de 12 bits del PIC1650 y sus descendientes directos ha sido suplantado por juegos de instrucciones de 14 y 16 bits. Microchip todavía vende versiones PROM y EPROM de la mayoría de los PICs para soporte de aplicaciones antiguas o grandes pedidos.

Se pueden considerar tres grandes gamas de MCUs PIC en la actualidad: Los básicos (Linebase), los de medio rango (Mid Range) y los de alto desempeño (high performance). Los PIC18 son considerandos de alto desempeño y tienen entre sus miembros a PICs con módulos de comunicación y protocolos avanzados (USB, Ethernet, Zigbee por ejemplo).

Clones del PIC

Por todos lados surgen compañías que ofrecen versiones del PIC más baratas o mejoradas. La mayoría suelen desaparecer rápidamente. Una de ellas que va perdurando es Ubicom (antiguamente Scenix) que vende clones del PIC que funcionan mucho más rápido que el original. OpenCores tiene un núcleo del PIC16F84 escrito en Verilog.

PIC vs. wireless

El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip con la capacidad de comunicación wireless UHF para aplicaciones RF de baja potencia. Estos dispositivos ofrecen un diseño muy comprimido para ajustarse a los cada vez más demanadados requerimientos de miniaturización en aparatos electrónicos. Aún así, no parecen tener mucha salida en el mercado.

PICs para procesado de señal (dsPICs)

Los dsPICs son el penúltimo lanzamiento de Microchip, comenzando a producirlos a gran escala a finales de 2004. Son los primeros PICs con bus de datos inherente de 16 bits. Incorporan todas las posibilidades de los anteriores PICs y añaden varias operaciones de DSP implementadas en hardware, como multiplicación con suma de acumulador (multiply-accumulate, o MAC), barrel shifting, bit reversion o multiplicación 16x16 bits.

PICs de 32 bits (PIC32)

Microchip Technology lanzo en noviembre de 2007 los nuevos microcontroladores de 32 bits con una velocidad de procesamiento de 1.5 DMIPS/MHz con capacidad HOST USB. Estos MCUs permiten un procesamiento de información increíble con un núcleo de procesador de tipo M4K.

PICs más comúnmente usados

PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno, popular en pequeños diseños como el iPod remote)
PIC16F84 (Considerado obsoleto, pero imposible de descartar y muy popular)
PIC16F84A (Buena actualización del anterior, algunas versiones funcionan a 20 MHz, compatible 1:1)
PIC12F629/675
PIC16F628
PIC16F88 (Nuevo sustituto del PIC16F84A con más memoria, oscilador interno, PWM, etc que podría convertirse en popular como su hermana menor)
La familia PIC16F87X y PIC16F87XA (los hermanos mayores del PIC16F84 y PIC16F84A, con cantidad de mejoras incluidas en hardware. Bastante común en proyectos de aficionados)
PIC18F2455 y similares con puerto USB2.0
PIC18F2550
PIC18F452
PIC18F4550dsPIC30F3011 (Ideales para control elecronico de motores electricos de induccion)
PIC32 (Nueva gama de PIC de 32 bits)

1 comentario:

Unknown dijo...

No solo interesante sino q aclaran de una manera facil los pic's
Gracias