Estructuras Y Caracteristicas De Un PIC
jessiramirez17 de Noviembre de 2012
2.808 Palabras (12 Páginas)503 Visitas
ESTRUCTURA Y CARACTERISTICAS
DE UN PIC
¿QUÉ ES UN PIC?
Los circuitos integrados programables (Programmable Integrated Circuits = PIC) son
componentes sumamente útiles en la Electrónica de Consumo. Aun cuando son conocidos desde hace
más de veinte años, existen en la actualidad nuevos tipos que cumplen con una serie de requisitos y características
sumamente útiles. Como una primera aproximación podemos definir a un PIC como “un
chip que me permite obtener un circuito integrado a mi medida”, es decir puedo hacer que el PIC se
comporte como un procesador de luminancia o un temporizador o cualquier otro sistema mediante un
programa que le grabo en una memoria ROM interna.
Los microcontroladores PIC son, en el fondo, procesadores similares a otros tipos, como por ejemplo
la familia de los microprocesadores X86, 80486, Pentium y muchos otros que usan una arquitectura interna
del tipo Von Neumann. En este tipo de arquitectura los datos y la memoria del programa se encuentran
en el mismo espacio de direcciones.
En realidad, un microprocesador y un microcontrolador no son la misma cosa. Los
PICs son microcontroladores, es decir, una unidad que posee en su interior al microprocesador
y a los elementos indispensables para que pueda funcionar como una minicomputadora
en un solo chip.
Un microprocesador es solamente la unidad central de procesos o CPU, la memoria, los puertos y
todos los demás periféricos son exteriores. La programación de un microprocesador es, por lo tanto, una
tarea compleja porque deben controlarse todos estos dispositivos externos.
Un microcontrolador integra la CPU y todos los periféricos en un mismo chip. El programador se desentiende
de una gran cantidad de dispositivos y se concentra en el programa de trabajo. Esta circunstancia
da lugar a una gran pérdida de tiempo porque los datos tienen que ser retirados de la memoria
y llevados a la CPU (Central Processor Unit) y viceversa. Esto significa que la computadora dedica la
mayor parte del tiempo al transporte de datos de ida o de vuelta, en lugar de usar este tiempo para trabajar
sobre los datos.
Los PICs emplean un conjunto de instrucciones del tipo RISC (Reduced Instruction Set Computer). Con
el RISC se suele ejecutar la mayoría de las instrucciones con un solo pulso del clock. Con las instrucciones
que se usan en otros equipos del tipo CISC (Complex Instruction Set Computer), se logran instrucciones
más poderosas, pero a costa de varios ciclos del clock. En el bien conocido procesador 68HC11
de Motorola se requieren a veces hasta 5 ciclos del clock para ejecutar una instrucción.
A los fines prácticos, nos vamos a referir a los microcontroladores como bloques que poseen una
memoria de programa, que es el lugar donde deben alojarse los datos que le indiquen al chip qué es
lo que debe hacer; una memoria de datos donde ingresen
las señales que debe procesar el programa,
una unida aritmética y lógica donde se desarrollen todas
las tareas, una unidad de control que se encargue
de supervisar todos los procesos y puertos de entrada
y salida para que el PIC tenga contacto con el exterior
(figura 1).
Un microcontrolador, como cualquier circuito integrado
analógico, tiene entradas, salidas y algunos componentes
exteriores necesarios para procesar las señales
de entrada y convertirlas en las señales de salida
(figura 2). El 16F84 requiere un
cristal con dos capacitores y como
mínimo un resistor para el reset.
Por supuesto necesita una tensión
de fuente de 5V (VDD) aplicada
con respecto al terminal de
masa (VSS). Posee dos puertos de
salida, el A y el B, cuyos terminales
son marcados RA0 al RA4 y
RB0 al RB7. Estos puertos pueden
ser programados como de entrada
o de salida. El terminal 4 opera
como reset pero también cumple
funciones de carga de memoria
de programa cuando es excitado
con pulsos de 15V. El terminal RA4 (pata 3) también tiene funciones como entrada de un temporizador
y RBO (pata 6) cumple también funciones como entrada de interrupción.
Ahora bien, la mayoría de los microcontroladores (sean de Microchip, o de National, Motorola, Philips,
etc.) se comportan de forma similar, por ello nos vamos a referir a los microcontroladores PIC16F84
cuya arquitectura interna puede observarse en la figura 3.
Observe primero los bloques externos. Existe un cristal que se conecta en OSC1 y OSC2 para generar
el CLOCK del sistema. Luego una señal de entrada llamada MCLR negada, que es un nombre de
fantasía para nuestro conocido RESET (debido a que esa pata tiene un doble uso) y, por último, dos
puertos paralelos de I/O (entrada o salida) llamados puerto A y puerto B. Una de las patas del puerto
A puede ser utilizada como entrada de interrupciones (esta pata especial hace que el microprocesador
deje de realizar la tarea que estaba ejecutando y pase a realizar otra tarea alternativa; cuando la termina
vuelve a su programa original).
Analicemos el bloque más grande (temporizadores), en éste observamos un grupo de bloques dedicados
a mejorar el funcionamiento pero sin influir directamente en el flujo de señales. Vemos un temporizador
de encendido, un temporizador de arranque del oscilador de CLOCK, un circuito de reset y un
circuito llamado de vigilancia o WATCHDOG. Los dos primeros bloques procuran un arranque ordenado
para no producir una carga al mismo tiempo sobre la fuente. Por último, existe un circuito con un
nombre curioso: “perro guardián”. Su función es estar vigilante el máximo de tiempo que tarda el mi-
ESTRUCTURA Y CARACTERÍSTICAS DE UN PIC
4 CURSO DE MICROCONTROLADORES PICS 1ER NIVEL
Figura 1
Figura 2
croprocesador en completar su programa (o mejor sería decir, la derivación más larga de su programa)
y en caso de superarse ese tiempo, provocar un reset automático porque el microprocesador se quedó
trabado en alguna parte de su programa. También se dice que el microprocesador se quedó colgado
o congelado.
Este bloque de circuitos no trabaja independientemente sino que requiere conexiones al exterior y al
interior del dispositivo. Por ejemplo, no siempre son utilizados y es el programa quien determina su utilización
y además ajusta sus parámetros. Esto se realiza a través del bloque de control o decodificador
de instrucciones.
Analicemos ahora la sección de arriba a la izquierda en donde observamos la memoria de programa,
el contador de programa, el registro de instrucciones y la pila o STACK de 8 niveles. Cuando hablamos
de registros nos referimos a pequeñas unidades de memoria transitoria, construida por lo general
con un registro de desplazamiento. Son memorias volátiles que se utilizan para guardar información
por un tiempo mínimo, con el fin de realizar una operación compleja de varios pasos.
El contador de programa es el responsable de que el microprocesador vaya analizando las instrucciones
en orden ascendente. Este guarda el número de instrucción en el STACK y la instrucción misma
la pasa al registro de instrucciones desde donde se envía al resto del microprocesador. El STACK es, en
realidad, una pila de registros (en nuestro ejemplo hay 8), debido a que el programa puede tener derivaciones
(en la jerga LOOPS, rulos o subprogramas). Cuando se termina de ejecutar un loop se debe
ESTRUCTURA Y CARACTERÍSTICAS DE UN PIC
CURSO DE MICROCONTROLADORES PICS 1ER NIVEL 5
Figura 3
volver al mismo punto del programa en donde se había producido la bifurcación y eso es posible porque
ese número de instrucción quedó guardado en uno de los registros de la pila. Es común que un loop
tenga, a su vez, un loop secundario y cuando se ejecuta ese loop secundario se debe volver al mismo
punto del loop primario, eso se consigue con guardar ese número de instrucción del loop secundario en
otro registro de la pila.
Analicemos ahora la sección inferior derecha. En ese sector se ubican los bloques responsables de
efectuar operaciones matemáticas y lógicas binarias; recordemos que el nombre ALU proviene de Aritmetic
Logic Unite (unidad arimética y lógica). En este sector es imprescindible utilizar un registro ya que
una operación aritmética o lógica siempre se efectúa entre dos números. Los números binarios que deben
procesarse se toman de la memoria de datos, el primero se acumula en el registro de trabajo o registro
W (de Work = trabajo) el segundo es el presente en el instante en que se invoca la memoria de
datos. Como las operaciones pueden ser encadenadas (cuando el resultado sirve como operando de la
siguiente operación, tal como el caso de un producto) el registro W tiene un retorno a la ALU. Vemos
además que la ALU está comandada por el bloque MUX (MUltipleXador). En efecto, la ALU requiere
que se le envíen números para procesar que le lleguen desde la memoria de datos, pero antes se la debe
predisponer para que efectúe la operación requerida (comparación, rotación de dígitos, etc.).
El registro de estado o estatus
...