jueves, 3 de marzo de 2011

Partes internas mas importantes de un microcontrolador

El procesador o UCP
Es el elemento más importante del microcontrolador. Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, decodificarlo y ejecutarlo, también realiza la búsqueda de los operandos y almacena el resultado.
Esta vendría a ser la memoria de instrucciones, aquí es donde almacenaremos nuestro programa o código que el micro debe ejecutar. No hay posibilidad de utilizar memorias externas de ampliación. Son 5 los tipos de memoria. pero sólo describiré dos:
  • Memorias EEPROM. (Electrical Erasable Programmable Read Only Memory - Memoria de sólo lectura Programable y borrable eléctricamente) Común en el PIC 16C84. Ésta tarea se hace a través de un circuito grabador y bajo el control de un PC. El número de veces que puede grabarse y borrarse una memoria EEPROM es finito aproximadamente 1000 veces, no es acaso suficiente...?. Este tipo de memoria es relativamente lenta.
  • Memorias FLASH. Disponible en el PIC16F84. Posee las mismas características que la EEPROM, pero ésta tiene menor consumo de energía y mayor capacidad de almacenamiento, por ello está sustituyendo a la memoria EEPROM.
La memoria de programa se divide en páginas de 2,048 posiciones. El PIC16F84A sólo tiene implementadas 1K posiciones es decir de 0000h a 03FFh y el resto no está implementado. (es aquello que se ve en gris)



Cuando ocurre un Reset, el contador de programa (PC) apunta a la dirección 0000h, y el micro se inicia nuevamente. Por esta razón , en la primera dirección del programa se debe escribir todo lo relacionado con la iniciación del mismo (por ejemplo, la configuración de los puertos...).

Ahora, si ocurre una interrupción el contador de programa (PC) apunta a la dirección 0004h, entonces ahí escribiremos la programación necesaria para atender dicha interrupción.

Algo que se debe tener en cuenta es la pila o Stack, que consta de 8 posiciones (o niveles), esto es como una pila de 8 platos el último en poner es el primero en sacar, si seguimos con este ejemplo, cada plato contiene la dirección y los datos de la instrucción que se está ejecutando, así cuando se efectúa una llamada (CALL) o una interrupción, el PC sabe donde debe regresar (mediante la instrucción RETURN, RETLW o RETFIE, según el caso) para continuar con la ejecución del programa.

Recuerda, sólo 8 llamadas "CALL", ten en cuenta las "INTERRUPCIONES".
Tiene dos zonas diferentes:

1. RAM estática ó SRAM: donde residen los Registros Específicos (SFR) con 24 posiciones de tamaño byte, aunque dos de ellas no son operativas y los Registros de Propósito General (GPR) con 68 posiciones. La RAM del PIC16F84A se halla dividida en dos bancos (banco 0 y banco 1) de 128 bytes cada uno (7Fh)



2. EEPROM: de 64 bytes donde, opcionalmente, se pueden almacenar datos que no se pierden al desconectar la alimentación.
O.k., ahora unas cuantas palabras finales y comenzamos con lo más emocionante.

Estas son las funciones especiales de las cuales disponen algunos micros...
  • Conversores análogo a digital (A/D) en caso de que se requiera medir señales analógicas, por ejemplo temperatura, voltaje, luminosidad, etc.
  • Temporizadores programables (Timer's) Si se requiere medir períodos de tiempo entre eventos, generar temporizaciones o salidas con frecuencia específica, etc.
  • Interfaz serial RS-232. Cuando se necesita establecer comunicación con otro microcontrolador o con un computador.
  • Memoria EEPROM Para desarrollar una aplicación donde los datos no se alteren a pesar de quitar la alimentación, que es un tipo de memoria ROM que se puede programar o borrar eléctricamente sin necesidad de circuitos especiales.
  • salidas PWM (modulación por ancho de pulso) Para quienes requieren el control de motores DC o cargas resistivas, existen microcontroladores que pueden ofrecer varias de ellas.
  • Técnica llamada de "Interrupciones", (ésta me gustó) Cuando una señal externa activa una línea de interrupción, el microcontrolador deja de lado la tarea que está ejecutando, atiende dicha interrupción, y luego continúa con lo que estaba haciendo.

No hay comentarios:

Publicar un comentario