April 19, 2012

Microcontroladores PIC

En la anterior publiqué sobre los microcontroladores en general, ahora traigo información sobre los microcontroladores PIC específicamente.

Los PIC pertenecen a la familia de microcontroladores tipo RISC y al igual que muchos microcontroladores son fabricados por la compañía Microchip Technology Inc. RISC (Reduced Instruction Set Computer, Computacion de Juego de Instrucciones Reducidas) es un tipo de microprocesador que posibilita la segmentación y el paralelismo en la ejecución de instrucciones y reduce los procesos a memoria; tiene 2 caracteristicas fundamentales:

  • Sus instrucciones son de tamaño fijo y tienen un reducido número de formatos 
  • Las únicas instrucciones que tienen acceso a la memoria de datos son las de carga y almacenamiento. 

El nombre real de los PIC es PICmicro, pero se conoce como Peripheral Interface Controller (Controlador de Interfaz Periférico)

El PIC original se diseñó para ser usado con la CPU de 16 bits para mejorar el rendimiento en cuanto a entradas y salidas. Este PIC utilizaba microcódigo simple que se encontraba almacenado en ROM para realizar las tareas de entrada y salida.

A comparación de ese PIC, actualmente existen gran cantidad de PICs, los cuales ya tienen periféricos integrados y con memoria que va desde los 512 a 32 000 palabras (palabra = instrucción en lenguaje ensamblador).


Características más destacadas de los PIC

  • Siguen una arquitectura del modelo Harvard. 
La característica más importante de utilizar esta arquitectura es en la organización de la memoria del sistema, ya que la memoria del programa o las instrucciones son independientes de la memora de datos.

Además de la memoria, el procesador tiene buses los buses segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.

La principal ventaja de la arquitectura Harvard es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria y debido a esto el PIC acceder simultáneamente a las dos memorias; y esto se traduce en un aumento en la velocidad de procesamiento. Los sistemas con esta arquitectura son dos veces mas rápidos que los que tienen una arquitectura Von Neumann

En general la arquitectura Harvard tiene la desventaja de que consume muchas líneas de E/S del procesador, pero en los PIC y sistemas integrados no es un problema serio.

  • Su arquitectura es un banco de registros. 
Esto implica que todos los elementos del sistema están implementados físicamente como registros.

  • Sus modelos son de arquitectura cerrada y arquitectura abierta. 
Arquitectura Cerrada. 
Este modelo no admite variaciones ni ampliaciones ya que tiene una determinada CPU, cierta capacidad de memoria de datos, un tipo y capacidad de instrucciones definida, un numero de E/S establecido y un conjunto de recursos auxiliares concreto. Este modelo es el que elige Micrchip como principal.


Arquitectura Abierta 
Los PIC con esta arquitectura se caracterizan por 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.
  • Utiliza la 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.




  • Utilizan un Procesador RISC. 
El repertorio de instrucciones es muy reducido, las instrucciones son muy simples y suelen ejecutarse en un ciclo máquina. Estos procesadores tienen una estructura pipeline y ejecutan todas las instrucciones a la misma velocidad.

  • El formato de las instrucciones tiene la misma 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.
  • Las instrucciones son ortogonales 
Cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o como destino.

  • Sus recursos son mínimos. 
  • Sistema POR ( POWER ON RESET). 
Todos los PIC tienen la facultad de generar una autoreinicialización o autoreset al conectarles la alimentación.
  • Perro guardián (Watchdog) 
Existe un temporizador que produce un reset automáticamente si no es recargado antes de que pase un tiempo prefijado. Así se evita que el sistema se quede "colgado" puesto que dada esa situación el programa no recargaría dicho temporizador y se generaría un reset.
  • Código de protección. 
Cuando se procede a realizar la grabación del programa, puede protegerse para evitar su lectura. También disponen de posiciones reservadas para registrar números de serie, códigos de identificación, prueba, etc.
  • Modo de reposo (bajo consumo o SLEEP). 
Ejecutando una instrucción (SLEEP), el CPU y el oscilador principal se detienen y se reduce notablemente el consumo.




Versiones de memoria de instrucciones para los PIC

  • Flash 
Utiliza una memoria EEPROM tipo Flash, que puede grabarse y borrarse muchas veces.




  • OTP ("One Time Programmable") "Programable una sola vez"
Sólo se puede grabar una vez por el usuario sin la posibilidad de borrar lo que se graba. Resulta mucho más económica en la implementación de prototipos y pequeñas series.


  • Versión QTP. 
Es el propio fabricante el que se encarga de grabar el código en todos los chips que configuran pedidos medianos y grandes.
  • Versión SQTP. 
El fabricante solo graba unas pocas posiciones de código para labores de identificación, numero de serie, palabra clave, checksum, etc.


Qué podemos hacer con ellos?
  • Son muy útiles para controlar con muchísima facilidad los displays de cristal liquido LCD

  • En muchas aplicaciones se requieren teclados especiales que se adapten exactamente a ciertas necesidades, como por ejemplo una cerradura electrónica, cambiar el menssje de alguna pantalla LCD, etc. Los Pic se puedan utilizar para realizar secuencias de rastreo y así saber que tecla se ha oprimido.


  • Como los PIC incluyen convertidores Analógico / Digitales el control de variables como temperatura, presión y flujo pueden realizarse con circuitos simples. Con unas cuantas resistencias y un buen sensor de temperatura se puede hacer un Termostato o un controlador de Flujo.

  • Tambíen los podemos encontrar en un robot y asi se puede asegurar que no hay Robot que no incluya un PIC en alguna de sus tantas funciones. Son muy importantes en control de servomecanismos, reconocimiento de voz, tareas secuenciales, etc.

  • Como dice en el punto anterior, son muy útiles para controlar motores de distintos tipos, como por ejemplo: de pasos, de corriente directa, servos, etc

Fuentes

No comments:

Post a Comment