fbpx
Wikipedia

Microcontrolador PIC

Un PIC es un circuito integrado programable (Programmable Integrated Circuit), el cual contiene todos los componentes para poder realizar y controlar una tarea, por lo que se denomina como un microcontrolador. 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 Instrument.

General Instrument PIC1650.
Viejos microcontroladores PIC (EPROM).

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 CPU de 16 bits CP16000. Siendo en general una buena CPU, esta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de entrada/salida a la CPU. 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 la división de microelectrónica de General Instrument se separa como compañía independiente que es incorporada como filial (el 14 de diciembre de 1987 cambia el nombre a Microchip Technology y en 1989 es adquirida por un grupo de inversores) 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 PIC vienen con varios periféricos incluidos (módulos de comunicación serie, UART, 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 lenguaje ensamblador, y puede ser de 12, 14, 16 o 32 bits, dependiendo de la familia específica de PICmicro).

Juego de instrucciones y entorno de programación

El PIC usa un juego de instrucciones, cuyo número puede variar desde 35 para PIC de gama baja a 70 para los de gama alta. Las instrucciones se clasifican entre las que realizan operaciones entre el acumulador y una constante, entre el acumulador y una posición de memoria, instrucciones de condicionamiento y de salto/retorno, implementación de interrupciones y una para pasar a modo de bajo consumo llamada sleep.

Microchip proporciona un entorno de desarrollo freeware llamado MPLAB que incluye un simulador software y un ensamblador. Otras empresas desarrollan compiladores C y BASIC. Microchip también vende compiladores para los PIC de gama alta ("C18" para la serie F18 y "C30" para los dsPIC) y se puede descargar una edición para estudiantes del C18 que inhabilita algunas opciones después de un tiempo de evaluación.

Para el lenguaje de programación Pascal existe un compilador de código abierto, JAL, lo mismo que PicForth para el lenguaje Forth. GPUTILS es una colección de herramientas distribuidas bajo licencia GPL que incluye ensamblador y enlazador, y funciona en Linux, MacOS y Microsoft Windows. GPSIM es otra herramienta libre que permite simular diversos dispositivos hardware conectados al PIC.

Uno de los más modernos y completos compiladores para lenguaje C es [mikroC], que es un ambiente de desarrollo con editor de texto, bibliotecas con múltiples funciones para todos los módulos y herramientas incorporadas para facilitar enormemente el proceso de programación.

Arquitectura central

La arquitectura del PIC es sumamente minimalista. Está caracterizada por las siguientes prestaciones:

  • Área de código y de datos separadas (Arquitectura Harvard).
  • Un reducido número de instrucciones de longitud fija.
  • Implementa segmentación de tal modo que la mayoría de instrucciones duran 1 tiempo de instrucción (o 4 tiempos de reloj). Puede haber instrucciones de dos tiempos de instrucción (saltos, llamadas y retornos de subrutinas y otras) o inclusive con más tiempo de instrucción en PIC de gama alta. Esto implica que el rendimiento real de instrucciones por segundo del procesador es de al menos 1/4 de la frecuencia del oscilador.
  • Un solo acumulador (W), cuyo uso (como operador de origen) es implícito (no está especificado en la instrucción).
  • Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de operaciones matemáticas y otras funciones.[1]
  • Una pila de hardware para almacenar instrucciones de regreso de funciones.
  • Una relativamente pequeña cantidad de espacio de datos direccionable (típicamente, 256 bytes), extensible a través de manipulación de bancos de memoria.
  • El espacio de datos está relacionado con el CPU, puertos, y los registros de los periféricos.
  • El contador de programa está también relacionado dentro del espacio de datos, y es posible escribir en él (permitiendo saltos indirectos).

A diferencia de la mayoría de otros CPU, no hay distinción entre los espacios de memoria y los espacios de registros, ya que la RAM cumple ambas funciones, y esta es normalmente referida como "archivo de registros" o simplemente, registros.

Espacio de datos (RAM)

Los microcontroladores PIC tienen una serie de registros que funcionan como una RAM de propósito general. Los registros de propósito específico para los recursos de hardware disponibles dentro del propio chip también están direccionados en la RAM. La direccionabilidad de la memoria varía dependiendo de la línea de dispositivos, y todos los dispositivos PIC tienen algún tipo de mecanismo de manipulación de bancos de memoria que pueden ser usados para acceder memoria externa o adicional. Las series más recientes de dispositivos disponen de funciones que pueden cubrir todo el espacio direccionable, independientemente del banco de memoria seleccionado. En los dispositivos anteriores, esto debía lograrse mediante el uso del acumulador.

Para implementar direccionamiento indirecto, se usa un registro de "selección de registro de archivo" (FSR) y uno de "registro indirecto" (INDF): Un número de registro es escrito en el FSR, haciendo que las lecturas o escrituras al INDF serán realmente hacia o desde el registro apuntado por el FSR. Los dispositivos más recientes extienden este concepto con post y preincrementos/decrementos para mayor eficiencia al acceder secuencialmente a la información almacenada. Esto permite que se pueda tratar al FSR como un puntero de pila.

La memoria de datos externa no es directamente direccionable excepto en algunos microcontroladores PIC 18 de gran cantidad de pines.

Tamaño de palabra

El tamaño de palabra de los microcontroladores PIC es fuente de muchas confusiones. Todos los PIC (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 las CPU, 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 PIC 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.

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 PIC 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 (En algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1) como reloj y datos y el MCLR para activar el modo programación aplicando un voltaje de 13 voltios. Existen muchos programadores de PIC, 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 PIC 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 RS-232 como alimentación y las líneas DTR y CTS para mandar o recibir datos cuando el microcontrolador está en modo programación. El software de programación puede ser el ICprog, muy común entre la gente que utiliza este tipo de microcontroladores. Entornos de programación basados en intérpretes BASIC ponen al alcance de cualquiera proyectos que parecieran ser ambiciosos.

Se pueden obtener directamente de Microchip muchos programadores/depuradores (octubre de 2005):

Programadores

  • PICStart Plus (puerto serie y USB)
  • Promate II (puerto serie)
  • MPLAB PM3 (puerto serie y USB)
  • ICD2 (puerto serie y USB)
  • ICD3 (USB)
  • PICKit 1 (Obsoleto)
  • IC-Prog 1.06B
  • PICAT 1.25 (puerto USB2.0 para PIC y Atmel)
  • WinPic 800 (puerto paralelo, serie y USB)
  • PICKit 2 (USB)
  • PICKit 3 (USB)
  • Terusb1.0
  • Eclipse (PIC y AVR. USB)
  • MasterProg (USB)
  • PICKit 4 (USB)

Depuradores integrados

  • ICD (Serie)
  • ICD2 (Serie o full speed USB - 2 Mbits/s)
  • ICD3 (High speed USB - 480 Mbits/s)

Emuladores

  • Proteus - ISIS
  • ICE2000 (puerto paralelo, convertidor a USB disponible)
  • ICE4000 (USB)
  • PIC EMU
  • ISEC
  • PIC CDlite
  • PIC Simulator
  • Crocodrile Clips

Características

Los PIC actuales vienen con una amplia gama de mejoras hardware incorporadas:

  • Núcleos de CPU de 8/16 bits con Arquitectura Harvard modificada
  • Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes
  • Puertos de entrada/salida (típicamente 0 a 5.5 voltios)
  • Temporizadores de 8/16/32 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 PWM
  • Controladores 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

PIC modernos

Los viejos PIC 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 PIC para soporte de aplicaciones antiguas o grandes pedidos.

Se pueden considerar tres grandes gamas de MCU PIC en la actualidad: Los básicos (Linebase), los de medio rango (Mid Range) y los de alto rendimiento (high performance). Los PIC18 son considerados de alto rendimiento y tienen entre sus miembros a PIC 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 inalámbricos

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

PIC para procesado de señal (dsPIC)

Los dsPIC son el penúltimo lanzamiento de Microchip, comenzando a producirlos a gran escala a finales de 2004. Son los primeros PIC con bus de datos inherente de 16 bits. Incorporan todas las posibilidades de los anteriores PIC 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.

PIC de 32 bits (PIC32)

Microchip Technology lanzó en noviembre de 2007 los nuevos microcontroladores de 32 bits con una velocidad de procesamiento de hasta 1.6 DMIPS/MHz con capacidad HOST USB. Sus frecuencias de reloj pueden alcanzar los 80MHz a partir de cuarzos estándares de 4 a 5MHz gracias a un PLL interno. Funcionan a 3.3V en sus puertos de entrada y salida, aunque el fabricante indica que salvo en los pines con función analógica, en la mayoría se toleran tensiones de hasta 5V. Disponen de una arquitectura optimizada con alto grado de paralelismo y núcleo de tipo M4K y una elevada capacidad de memoria RAM y FLASH ROM. Todo ello hace que estos MCUs permiten un elevado procesamiento de información.

PIC más comúnmente usados

  • PIC12C508/509 (Encapsulamiento reducido de 8 pines, oscilador interno, popular en pequeños diseños como el iPod remote).
  • PIC12F629/675
  • PIC16F84 (Considerado obsoleto, pero imposible de descartar y muy popular)
  • PIC16F84A (Actualización del anterior, la A indica que cuenta con módulos de comparación A/D, algunas versiones funcionan a 20 MHz, compatible 1:1)
  • PIC16F628A/648A (Opciones típicas para migrar o actualizar desde diseños antiguos hechos con el PIC16F84A. Poseen módulos de comparación A/D, Capture & Compare CCP (PWM), comunicación en serie USART y oscilador interno, entre otras mejoras)
  • PIC16F88 (Nuevo sustituto del PIC16F84A y superior al PIC16F648A con más memoria, oscilador interno, USART, SSP, comparador y convertidor A/D. Muy popular).
  • PIC16F87X/87XA ("Hermanos mayores" del PIC16F84/84A, con cantidad de mejoras incluidas en hardware. Bastante común en proyectos de aficionados).
  • PIC16F886/887 (Nuevo sustituto del 16F876A y 16F877A con la diferencia que ahora ya incluye oscilador interno, considerados los más cercanos a la familia 18F).
  • PIC16F193x (Nueva gama media de PIC optimizado y con mucha RAM, ahora con 49 instrucciones frente al conjunto de 35 más común).
  • PIC18F452
  • PIC18F2455 Con manejo de puerto USB 2.0
  • PIC18F2520/4520 Múltiples comparadores y convertidores A/D.
  • PIC18F2550/4550 Manejo de puertos USB 2.0 y muy versátil. Por ello, es muy común en el ámbito académico.
  • dsPIC30F2010
  • dsPIC30F3014
  • dsPIC30F3011 (Ideales para control electrónico de motores eléctricos de inducción, control sobre audio, etc).
  • PIC32 (Nueva gama de PIC de 32 bits, los más modernos son compatibles con USB 2.0).

PIC en Internet

Se puede encontrar extensa información y documentación sobre PIC en Internet, principalmente por dos motivos:[cita requerida] el primero, porque han sido muy usados para romper los sistemas de seguridad de varios productos de consumo masivo (televisión paga, PlayStation, etc), lo que atrae la atención de los cracker; y segundo, porque el PIC16C84 fue uno de los primeros microcontroladores fácilmente reprogramables para aficionados. Hay muchos foros y listas de correo dedicados al PIC, en los que un usuario puede proponer sus dudas y recibir respuestas.

Monitorización y control vía Internet

Con estos se pueden desarrollar sistemas sistemas SCADA, para adquirir y enviar datos al puerto serial de un computador utilizando, por ejemplo, transmisión UART y el protocolo RS-232, o implementando el protocolo TCP/IP directamente para construir un sistema completamente embebido.[2]

Referencias

  1. Hoja de datos de un 16F84 (pdf), definición de instrucciones de lenguaje ensamblador de PIC16 e información sobre la RAM y su direccionabilidad.
  2. PIC wifi projects

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre Microcontrolador PIC.
  • Sitio web oficial (en inglés)
  • Tutorial de programación de PIC en Ensamblador en la Asociación de Robótica y Domótica de España.
  • (en inglés).
  • YaPIDE Entorno de desarrollo y simulador para el PIC16F628 liberado bajo licencia GPL-2
  • PicForth
  • Grupo de discusión sobre el PIC
  • Small Device C Compiler, an Open Source compiler for microcontrollers, PIC 16x and 18x support is a WIP.
  • (en inglés).
  •   Datos: Q650553
  •   Multimedia: PIC microcontrollers / Q650553

microcontrolador, circuito, integrado, programable, programmable, integrated, circuit, cual, contiene, todos, componentes, para, poder, realizar, controlar, tarea, denomina, como, microcontrolador, familia, microcontroladores, tipo, risc, fabricados, microchip. Un PIC es un circuito integrado programable Programmable Integrated Circuit el cual contiene todos los componentes para poder realizar y controlar una tarea por lo que se denomina como un microcontrolador Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc y derivados del PIC1650 originalmente desarrollado por la division de microelectronica de General Instrument General Instrument PIC1650 Viejos microcontroladores PIC EPROM El nombre actual no es un acronimo En realidad el nombre completo es PICmicro aunque generalmente se utiliza como Peripheral Interface Controller controlador de interfaz periferico El PIC original se diseno para ser usado con la nueva CPU de 16 bits CP16000 Siendo en general una buena CPU esta tenia malas prestaciones de entrada y salida y el PIC de 8 bits se desarrollo en 1975 para mejorar el rendimiento del sistema quitando peso de entrada salida a la CPU El PIC utilizaba microcodigo simple almacenado en ROM para realizar estas tareas y aunque el termino no se usaba por aquel entonces se trata de un diseno RISC que ejecuta una instruccion cada 4 ciclos del oscilador En 1985 la division de microelectronica de General Instrument se separa como compania independiente que es incorporada como filial el 14 de diciembre de 1987 cambia el nombre a Microchip Technology y en 1989 es adquirida por un grupo de inversores y el nuevo propietario cancelo casi todos los desarrollos que para esas fechas la mayoria estaban obsoletos El PIC sin embargo se mejoro con EPROM para conseguir un controlador de canal programable Hoy en dia multitud de PIC vienen con varios perifericos incluidos modulos de comunicacion serie UART nucleos de control de motores etc y con memoria de programa desde 512 a 32 000 palabras una palabra corresponde a una instruccion en lenguaje ensamblador y puede ser de 12 14 16 o 32 bits dependiendo de la familia especifica de PICmicro Indice 1 Juego de instrucciones y entorno de programacion 2 Arquitectura central 2 1 Espacio de datos RAM 2 2 Tamano de palabra 3 Programacion del PIC 3 1 Programadores 3 2 Depuradores integrados 3 3 Emuladores 4 Caracteristicas 5 Variaciones del PIC 5 1 PIC modernos 5 2 Clones del PIC 5 3 PIC inalambricos 5 4 PIC para procesado de senal dsPIC 5 5 PIC de 32 bits PIC32 6 PIC mas comunmente usados 7 PIC en Internet 8 Monitorizacion y control via Internet 9 Referencias 10 Enlaces externosJuego de instrucciones y entorno de programacion EditarEl PIC usa un juego de instrucciones cuyo numero puede variar desde 35 para PIC de gama baja a 70 para los de gama alta Las instrucciones se clasifican entre las que realizan operaciones entre el acumulador y una constante entre el acumulador y una posicion de memoria instrucciones de condicionamiento y de salto retorno implementacion de interrupciones y una para pasar a modo de bajo consumo llamada sleep Microchip proporciona un entorno de desarrollo freeware llamado MPLAB que incluye un simulador software y un ensamblador Otras empresas desarrollan compiladores C y BASIC Microchip tambien vende compiladores para los PIC de gama alta C18 para la serie F18 y C30 para los dsPIC y se puede descargar una edicion para estudiantes del C18 que inhabilita algunas opciones despues de un tiempo de evaluacion Para el lenguaje de programacion Pascal existe un compilador de codigo abierto JAL lo mismo que PicForth para el lenguaje Forth GPUTILS es una coleccion de herramientas distribuidas bajo licencia GPL que incluye ensamblador y enlazador y funciona en Linux MacOS y Microsoft Windows GPSIM es otra herramienta libre que permite simular diversos dispositivos hardware conectados al PIC Uno de los mas modernos y completos compiladores para lenguaje C es mikroC que es un ambiente de desarrollo con editor de texto bibliotecas con multiples funciones para todos los modulos y herramientas incorporadas para facilitar enormemente el proceso de programacion Arquitectura central EditarLa arquitectura del PIC es sumamente minimalista Esta caracterizada por las siguientes prestaciones Area de codigo y de datos separadas Arquitectura Harvard Un reducido numero de instrucciones de longitud fija Implementa segmentacion de tal modo que la mayoria de instrucciones duran 1 tiempo de instruccion o 4 tiempos de reloj Puede haber instrucciones de dos tiempos de instruccion saltos llamadas y retornos de subrutinas y otras o inclusive con mas tiempo de instruccion en PIC de gama alta Esto implica que el rendimiento real de instrucciones por segundo del procesador es de al menos 1 4 de la frecuencia del oscilador Un solo acumulador W cuyo uso como operador de origen es implicito no esta especificado en la instruccion Todas las posiciones de la RAM funcionan como registros de origen y o de destino de operaciones matematicas y otras funciones 1 Una pila de hardware para almacenar instrucciones de regreso de funciones Una relativamente pequena cantidad de espacio de datos direccionable tipicamente 256 bytes extensible a traves de manipulacion de bancos de memoria El espacio de datos esta relacionado con el CPU puertos y los registros de los perifericos El contador de programa esta tambien relacionado dentro del espacio de datos y es posible escribir en el permitiendo saltos indirectos A diferencia de la mayoria de otros CPU no hay distincion entre los espacios de memoria y los espacios de registros ya que la RAM cumple ambas funciones y esta es normalmente referida como archivo de registros o simplemente registros Espacio de datos RAM Editar Los microcontroladores PIC tienen una serie de registros que funcionan como una RAM de proposito general Los registros de proposito especifico para los recursos de hardware disponibles dentro del propio chip tambien estan direccionados en la RAM La direccionabilidad de la memoria varia dependiendo de la linea de dispositivos y todos los dispositivos PIC tienen algun tipo de mecanismo de manipulacion de bancos de memoria que pueden ser usados para acceder memoria externa o adicional Las series mas recientes de dispositivos disponen de funciones que pueden cubrir todo el espacio direccionable independientemente del banco de memoria seleccionado En los dispositivos anteriores esto debia lograrse mediante el uso del acumulador Para implementar direccionamiento indirecto se usa un registro de seleccion de registro de archivo FSR y uno de registro indirecto INDF Un numero de registro es escrito en el FSR haciendo que las lecturas o escrituras al INDF seran realmente hacia o desde el registro apuntado por el FSR Los dispositivos mas recientes extienden este concepto con post y preincrementos decrementos para mayor eficiencia al acceder secuencialmente a la informacion almacenada Esto permite que se pueda tratar al FSR como un puntero de pila La memoria de datos externa no es directamente direccionable excepto en algunos microcontroladores PIC 18 de gran cantidad de pines Tamano de palabra Editar El tamano de palabra de los microcontroladores PIC es fuente de muchas confusiones Todos los PIC excepto los dsPIC manejan datos en trozos de 8 bits con lo que se deberian llamar microcontroladores de 8 bits Pero a diferencia de la mayoria de las CPU el PIC usa arquitectura Harvard por lo que el tamano de las instrucciones puede ser distinto del de la palabra de datos De hecho las diferentes familias de PIC usan tamanos de instruccion distintos lo que hace dificil comparar el tamano del codigo 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 Programacion del PIC EditarPara transferir el codigo de un ordenador al PIC normalmente se usa un dispositivo llamado programador La mayoria de PIC que Microchip distribuye hoy en dia incorporan ICSP In Circuit Serial Programming programacion serie incorporada o LVP Low Voltage Programming programacion a bajo voltaje lo que permite programar el PIC directamente en el circuito destino Para la ICSP se usan los pines RB6 y RB7 En algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1 como reloj y datos y el MCLR para activar el modo programacion aplicando un voltaje de 13 voltios Existen muchos programadores de PIC desde los mas simples que dejan al software los detalles de comunicaciones a los mas complejos que pueden verificar el dispositivo a diversas tensiones de alimentacion e implementan en hardware casi todas las funcionalidades Muchos de estos programadores complejos incluyen ellos mismos PIC preprogramados como interfaz para enviar las ordenes al PIC que se desea programar Uno de los programadores mas simples es el TE20 que utiliza la linea TX del puerto RS 232 como alimentacion y las lineas DTR y CTS para mandar o recibir datos cuando el microcontrolador esta en modo programacion El software de programacion puede ser el ICprog muy comun entre la gente que utiliza este tipo de microcontroladores Entornos de programacion basados en interpretes BASIC ponen al alcance de cualquiera proyectos que parecieran ser ambiciosos Se pueden obtener directamente de Microchip muchos programadores depuradores octubre de 2005 Programadores Editar PICStart Plus puerto serie y USB Promate II puerto serie MPLAB PM3 puerto serie y USB ICD2 puerto serie y USB ICD3 USB PICKit 1 Obsoleto IC Prog 1 06B PICAT 1 25 puerto USB2 0 para PIC y Atmel WinPic 800 puerto paralelo serie y USB PICKit 2 USB PICKit 3 USB Terusb1 0 Eclipse PIC y AVR USB MasterProg USB PICKit 4 USB Depuradores integrados Editar ICD Serie ICD2 Serie o full speed USB 2 Mbits s ICD3 High speed USB 480 Mbits s Emuladores Editar Proteus ISIS ICE2000 puerto paralelo convertidor a USB disponible ICE4000 USB PIC EMU ISEC PIC CDlite PIC Simulator Crocodrile ClipsCaracteristicas EditarLos PIC actuales vienen con una amplia gama de mejoras hardware incorporadas Nucleos de CPU de 8 16 bits con Arquitectura Harvard modificada Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes Puertos de entrada salida tipicamente 0 a 5 5 voltios Temporizadores de 8 16 32 bits Tecnologia Nanowatt para modos de control de energia Perifericos serie sincronos y asincronos USART AUSART EUSART Conversores analogico digital de 8 10 12 bits Comparadores de tension Modulos de captura y comparacion PWM Controladores LCD Periferico MSSP para comunicaciones I C SPI y I S Memoria EEPROM interna con duracion de hasta un millon de ciclos de lectura escritura Perifericos de control de motores Soporte de interfaz USB Soporte de controlador Ethernet Soporte de controlador CAN Soporte de controlador LIN Soporte de controlador IrdaVariaciones del PIC EditarPIC modernos Editar Los viejos PIC con memoria PROM o EPROM se estan renovando gradualmente por chips con memoria Flash Asi 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 todavia vende versiones PROM y EPROM de la mayoria de los PIC para soporte de aplicaciones antiguas o grandes pedidos Se pueden considerar tres grandes gamas de MCU PIC en la actualidad Los basicos Linebase los de medio rango Mid Range y los de alto rendimiento high performance Los PIC18 son considerados de alto rendimiento y tienen entre sus miembros a PIC con modulos de comunicacion y protocolos avanzados USB Ethernet Zigbee por ejemplo Clones del PIC Editar Por todos lados surgen companias que ofrecen versiones del PIC mas baratas o mejoradas La mayoria suelen desaparecer rapidamente Una de ellas que va perdurando es Ubicom antiguamente Scenix que vende clones del PIC que funcionan mucho mas rapido que el original OpenCores tiene un nucleo del PIC16F84 escrito en Verilog PIC inalambricos Editar El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip con la capacidad de comunicacion inalambrica UHF para aplicaciones RF de baja potencia Estos dispositivos ofrecen un diseno muy comprimido para ajustarse a los cada vez mas demandados requerimientos de miniaturizacion en aparatos electronicos Aun asi no parecen tener mucha salida en el mercado PIC para procesado de senal dsPIC Editar Los dsPIC son el penultimo lanzamiento de Microchip comenzando a producirlos a gran escala a finales de 2004 Son los primeros PIC con bus de datos inherente de 16 bits Incorporan todas las posibilidades de los anteriores PIC y anaden varias operaciones de DSP implementadas en hardware como multiplicacion con suma de acumulador multiply accumulate o MAC barrel shifting bit reversion o multiplicacion 16x16 bits PIC de 32 bits PIC32 Editar Microchip Technology lanzo en noviembre de 2007 los nuevos microcontroladores de 32 bits con una velocidad de procesamiento de hasta 1 6 DMIPS MHz con capacidad HOST USB Sus frecuencias de reloj pueden alcanzar los 80MHz a partir de cuarzos estandares de 4 a 5MHz gracias a un PLL interno Funcionan a 3 3V en sus puertos de entrada y salida aunque el fabricante indica que salvo en los pines con funcion analogica en la mayoria se toleran tensiones de hasta 5V Disponen de una arquitectura optimizada con alto grado de paralelismo y nucleo de tipo M4K y una elevada capacidad de memoria RAM y FLASH ROM Todo ello hace que estos MCUs permiten un elevado procesamiento de informacion PIC mas comunmente usados EditarPIC12C508 509 Encapsulamiento reducido de 8 pines oscilador interno popular en pequenos disenos como el iPod remote PIC12F629 675 PIC16F84 Considerado obsoleto pero imposible de descartar y muy popular PIC16F84A Actualizacion del anterior la A indica que cuenta con modulos de comparacion A D algunas versiones funcionan a 20 MHz compatible 1 1 PIC16F628A 648A Opciones tipicas para migrar o actualizar desde disenos antiguos hechos con el PIC16F84A Poseen modulos de comparacion A D Capture amp Compare CCP PWM comunicacion en serie USART y oscilador interno entre otras mejoras PIC16F88 Nuevo sustituto del PIC16F84A y superior al PIC16F648A con mas memoria oscilador interno USART SSP comparador y convertidor A D Muy popular PIC16F87X 87XA Hermanos mayores del PIC16F84 84A con cantidad de mejoras incluidas en hardware Bastante comun en proyectos de aficionados PIC16F886 887 Nuevo sustituto del 16F876A y 16F877A con la diferencia que ahora ya incluye oscilador interno considerados los mas cercanos a la familia 18F PIC16F193x Nueva gama media de PIC optimizado y con mucha RAM ahora con 49 instrucciones frente al conjunto de 35 mas comun PIC18F452 PIC18F2455 Con manejo de puerto USB 2 0 PIC18F2520 4520 Multiples comparadores y convertidores A D PIC18F2550 4550 Manejo de puertos USB 2 0 y muy versatil Por ello es muy comun en el ambito academico dsPIC30F2010 dsPIC30F3014 dsPIC30F3011 Ideales para control electronico de motores electricos de induccion control sobre audio etc PIC32 Nueva gama de PIC de 32 bits los mas modernos son compatibles con USB 2 0 PIC en Internet EditarSe puede encontrar extensa informacion y documentacion sobre PIC en Internet principalmente por dos motivos cita requerida el primero porque han sido muy usados para romper los sistemas de seguridad de varios productos de consumo masivo television paga PlayStation etc lo que atrae la atencion de los cracker y segundo porque el PIC16C84 fue uno de los primeros microcontroladores facilmente reprogramables para aficionados Hay muchos foros y listas de correo dedicados al PIC en los que un usuario puede proponer sus dudas y recibir respuestas Monitorizacion y control via Internet EditarCon estos se pueden desarrollar sistemas sistemas SCADA para adquirir y enviar datos al puerto serial de un computador utilizando por ejemplo transmision UART y el protocolo RS 232 o implementando el protocolo TCP IP directamente para construir un sistema completamente embebido 2 Referencias Editar Hoja de datos de un 16F84 pdf definicion de instrucciones de lenguaje ensamblador de PIC16 e informacion sobre la RAM y su direccionabilidad PIC wifi projectsEnlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre Microcontrolador PIC Sitio web oficial en ingles Tutorial de programacion de PIC en Ensamblador en la Asociacion de Robotica y Domotica de Espana www locxtronic com Tutorial for PIC Programming In BASIC en ingles YaPIDE Entorno de desarrollo y simulador para el PIC16F628 liberado bajo licencia GPL 2 PicForth Grupo de discusion sobre el PIC SDCC Small Device C Compiler an Open Source compiler for microcontrollers PIC 16x and 18x support is a WIP PIC Portal with huge Project database en ingles Datos Q650553 Multimedia PIC microcontrollers Q650553 Obtenido de https es wikipedia org w index php title Microcontrolador PIC amp oldid 143007345, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos