Vous êtes sur la page 1sur 21

ARQUITECTURA INTERNA DE UN PIC

EQUIPO 3

Qu es un PIC?

Son circuitos integrados de Microchip Technology Inc, que pertenece a la categora de microcontroladores es decir, aquellos componentes que integran en un nico dispositivo todos los circuitos necesarios para realizar un completo sistema digital programable

El rea de Programa y Register File

La memoria EEPROM es una memoria especial, utilizada en el PIC para memorizar el programa a seguir. La capacidad de memorizacin es de 1024 posiciones de memoria, cada una en grado de contener un opcode de 14 bit es decir, una instruccin base del PIC. Por lo tanto, el mas complejo que podemos realizar no podr ser mayor de 1024 instrucciones. Para escribir, leer y borrar estas posiciones es necesario un dispositivo externo denominado programador.

El REGISTER FILE es un conjunto de posiciones de memoria RAM denominadas registros. Contrariamente a la memoria EEPROM destinada a contener el programa, el rea de memoria RAM es directamente visible por el programa mismo. Por lo tanto, podemos escribir, leer y modificar tranquilamente cada posicin del REGITER FILE en nuestro programa cada vez que sea necesario.

ALU y el Registro W

La ALU es la componente ms compleja de los PIC por cuanto contiene toda la circuitera delegada a desarrollar las funciones de calculo y manipulacin de los datos durante la ejecucin de un programa. Esta es un componente presente en todos los microprocesadores Y de ella depende directamente la potencia de calculo del micro mismo. La diferencia sustancial entre el registro W y las otras localizaciones de memoria consisten en el hecho que, referenciando el registro W, la ALU no debe entregar ninguna direccin de memoria, pero si puede acceder directamente. El registro de trabajo W (Working Register) es un registro relevante especial de 8 bits que participa en la mayora de instrucciones. A diferencia de los SFR, se encuentra dentro de la misma CPU, y puede ser accedido tanto para lectura como para escritura.

El Programa Counter y el Stack

El Programa Counter y del Stack son dos componentes importantes para la comprensin de las instrucciones de salto y llamada a subrutinas.

El Programa Counter es un registro del procesador de un computador que indica la posicin donde est el procesador en su secuencia de instrucciones. Dependiendo de los detalles de la mquina particular, contiene o la direccin de la instruccin que es ejecutada, o la direccin de la prxima instruccin a ser ejecutada. El contador de programa es incrementado automticamente en cada ciclo de instruccin de tal manera que las instrucciones son ledas en secuencia desde la memoria. Ciertas instrucciones, tales como las bifurcaciones y las llamadas y retornos de subrutinas, interrumpen la secuencia al colocar un nuevo valor en el contador de programa.

Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el rea de informtica debido a su simplicidad y ordenacin implcita de la propia estructura.
Para el manejo de los datos se cuenta con dos operaciones bsicas: apilar (push), que coloca un objeto en la pila, y su operacin inversa, retirar (o desapilar, pop), que retira el ltimo elemento apilado. En cada momento slo se tiene acceso a la parte superior de la pila, es decir, al ltimo objeto apilado (denominado TOS, Top of Stacken ingls). La operacin retirar permite la obtencin de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS.

Contador TMR0 y el PRESCALER

El registro TMR0 es un contador, es decir un particular tipo de registro cuyo contenido es incrementado con una cadencia regular y programable directamente por el hardware del PIC.
A diferencia de los otros registros, el TMR0 no mantiene inalterado el valor que tiene memorizado, sino que lo incrementa continuamente. Si, por ejemplo, despus de haber insertado un valor en el registro TMR0, ejecutamos un bucle infinito. Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automticamente reemprendiendo entonces el conteo no desde el valor originariamente cargado sino desde cero. La frecuencia de conteo es directamente proporcional a la frecuencia de reloj aplicada al chip y puede ser modificada programando adecuadamente algunos bits de configuracin.

En la figura siguiente est representada la cadena de bloques internos del PIC que determinan el funcionamiento del registro TMR0

Los bloques Fosc/4 y T0CKI, mostrados en azul, representan las dos posibles fuentes de seal de reloj, para el contador TMR0.
Fosc/4 es una seal generada internamente por el PIC tomada del circuito de reloj y que es igual a la frecuencia del oscilador dividida por cuatro. T0CKI es una seal generada por un posible circuito externo y aplicada al pin T0CKI correspondiente al pin 3 en el PIC16F84. Los bloques T0CS y PSA mostrados en verde son dos conmutadores de seal en cuya salida se presenta una de las dos seales de entrada en funcin del valor de los bits T0CS y PSA del registro OPTION.

Comenzamos programando el bit T0CS a 0 y PSA a 1. La configuracin de funcionamiento que obtendremos est representada en la siguiente figura:

Las partes en rojo evidencian el recorrido que efecta la seal antes de llegar al contador TMR0.

Supongamos ahora que cambiamos el estado del bit T0CS de 0 a 1 la configuracin que obtendramos es la siguiente:

Esta vez ser la seal aplicada al pin TOCKI del PIC la que ser enviada directamente al contador TMR0 determinando esta la frecuencia de conteo. La presencia de la puerta lgica XOR (OR exclusiva) en la entrada TOCKI del PIC permite determinar por medio del bit T0SE del registro OPTION si el contador TMR0 debe ser incrementado en correspondencia con el flanco de bajada (T0SE=1) con el flanco de subida (T0SE=0) de la seal externa aplicada.

En la figura siguiente se representa la correspondencia entre el camino de la seal externa y el valor que toma el contador TMR0 en ambos casos:

El PRESCALER
El ultimo bloque para poder utilizar completamente el registro TMR0 s el PRESCALER. Si configuramos el bit PSA del registro OPTION a 0 enviamos al registro TMR0 la seal de salida del PRESCALER como se puede ver en la siguiente figura:

El PRESCALER consiste en la practica, en un divisor programable de 8 bits a utilizar en el caso de que la frecuencia de conteo enviada al contador TMR0 sea demasiado elevada para nuestros propsitos.

Funcionamiento del Power Down Mode


El Power Down Mode o Sleep Mode, es un estado particular de funcionamiento del PiCmicro utilizado para reducir el consumo de corriente en los momentos en que el PICmicro no realiza ninguna tarea est a la espera de un suceso externo. La instruccin SLEEP La instruccin SLEEP es utilizada para colocar el PICmicro en Power Down Mode y reducir, en consecuencia, la corriente absorbida.

El Watch Dog Timer


cuya funcin es la de mejorarla confiabilidad de nuestros circuitos basados en el PIC.

El Watch Dog Timer es, en la prctica, un oscilador interno al PIC, pero completamente independiente del resto de la circuitera, cuya funcin es eliminar eventuales bloqueos de la CPU del PIC y resetearlo para que retome la ejecucin normal del programa.

Vous aimerez peut-être aussi