Vistas de página en total

miércoles, 18 de mayo de 2011

Microcontroladores

INTRODUCCIÓN:

Existen 3 líderes en marcar de microcontroladores:
-Microchip
-AVR - Atmel
- Freescave

Anteriormente en Atmel el que mas se vendia era el 8051 , pero en la actualidad es el ATMEGA8. En Freescave era el 684HC705 , ahora el mas vendido es el 684C908.
Dentro de Microchip , existen los PIC, que a su vez se dividen en tre clases , las cuales estan compuestas TODAS por 8 bits:

-BAJA "12F"
-MEDIA "16F"
-ALTA "18F"

Esta clasificación esta relacionada con la longitud de Bits y con la cantidad de intrucciones que procesa cara microcontrolador. El de ALTA puede procesar hasta 77 intrucciones , y el de MEDIA para 35 intrucciones. Al de clasificación MEDIA se dice que es del codigo RISC , esto significa que procesa poca cantidad de instrucciones. En cambio , Freescave esta clasificado bajo las siglas CISC , es decir que los microcontroladores estos estan preparados para procesar 150 intrucciones.

PICS mas conocidos , y que utilizaremos y manupularemos:
PIC12F683 (la sigla 12F , nos indica de que clase es , en este caso MEDIA)
PIC16F84 (MEDIA)
PIC16F88 (MEDIA)
PIC16F877 (MEDIA)
PIC18F887 (ALTA)
PIC18F4620 (ALTA)
PIC18F4550 (ALTA)
PIC18F2550 (ALTA)

Normalmente los fabricantes sacan al mercado un microcontrolador. Al comienzo no se vende mucho , pero cuando llega al tope de ventas , le suben el precio y sacan al mercado uno mejor. Esto lo hacen para que el consumidor compre los nuevos y no los viejos.
Existen tambien dos tipos de arquitecturas de los microcontroladores ( estan determinadas segun la estructura interna ). Estas arquitecturas son :

-Von Newman : (esta arquitectura la utiliza Freescave)
Es una arquitectura sencilla , donde el CPU , esta conectado a través de un Buss de datos y un Buss de programa juntos , ambos de 8 bits a una Memoria de programa y Datos. Los dos bases trabajan por orden , primero uno y luego el otro , no los dos al mismo tiempo.

Se denomina Reset en frío cuando se le aplica por primera vez la tensión de alimentación , es decir que estaba apagado; y Reset en caliente cuando el microcontrolador ya estaba funcionando
A su vez , el Clock se clasifica en 4 categorias , segun frecuencia a la que funcione:
RC : f < 10 Khz
LP : f < 100Khz
XT : 100Khz < f < 4Mhz
HS : 4Mhz < f < 20Mhz

El Clock que utilizaremos de cristal de cuarzo es de gran presición , pero puede variar entre 4Mhz y 20 Mhz , es decir que puede ser de clase XT o de clase HS( que son las clases mas usadas) . Esto varía segun las propiedades de oscilación del material , ya que al ser cortado de diferente forma esto puede variar bastante. Nuestro clock será conectado exactamente como muestra nuestra imagen.

El PIC16F84 posee a su vez dos puertos , que estan determinados de la siguiente forma:
RAX : puerto A
RBX : puerto B

Los pines del PIC pueden estar de dos modos :
Sink ( es cuando el micro. produce corriente , es decir que la corriente es entrante)
Source ( es cuando el micro consume corriente , es decir que la corriente es saliente)

A su vez , los pines del micro pueden soportar :
Modo source : menor igual a 20mA
Modo silk : menor igual a 25 mA

Sin embargo , la sumatoria de las corrientes maximas que circulan en el Puerto B son:
150 mA si está en modo Sink
100 mA si está en modo Source

En el puerto A :
80 mA si esta en modo Sink
50 mA si esta en modo Source




-Harvard : ( es la utilizada por Atmel y Microchips)
Es una arquitectura mas compleja , donde la CPU esta conectada a una memoria de datos a través de un Buss de 8 bits , y a una de programa vinculados por un Buss de 14 bits . Ambas memorias y busses se encuentran separadas , y pueden funcionar al mismo tiempo , por eso tienen mas rapidez a la hora de ejecutar un programa.
Nosotros analizaremos el PIC16F84 , que es el siguiente:
Las 3 cosas que deben tener SI o SI un microcontrolador , son las siguientes :
1) Vcc (fuente conectada a 5V)
2) el Restet ( MCRL)               
3) el Clock ( es lo que provoca la ejecucion del programa).
Estas patas estan marcadas en el esquema del pic , y corresponden a las patas 4 (MCLR) , donde conectaremos a su vez dos resistencias y un pulsador , para provocar un 0 logico cuando se pulsa ( ya que hacemos contacto con masa que equivale a 0).Con eso se acticva el master clear. En la pata 14 conectaremos Vcc , pero entre esta y el la pata irá un estabilizador denominado 7805. La pata 5 estará conectada a tierra. Entre las patas Osc1 y Osc2 conectaremos al Clock ( nosotros utilizaremos el de Cuarzo)

Memoria de un microcontrolador (RAM)

Vamos a especificarnos en el PIC16F84A

Como vemos en el esquema la memoria del PIC se divide en 2 GPR con 68 posiciones de memoria y SFR con 16 posiciones de memoria divididas en 2: Banco 0 y Banco 1.Para declarar en que posición de memoria va cada variable o función se utiliza el sistema hexadecimal, y se le pone de prefijo 0X seguido del numero ejemplo 0X0F  

GPR (registro de propósito general):
El GPR va desde la posición 0X0C hasta la 0X4F, es decir que tiene 68 posiciones de memoria para guardar variables con 8 bits cada una.

SFR(registro de funciones especiales ):
El SFR va desde la posición de memoria 0X00 hasta la 0X0B.Esta parte de la memoria contiene registros que permiten controlar el funcionamiento interno de los periféricos del microcontrolador.
Como dijimos esta parte se divide en Banco 0 y Banco 1 , el banco 0 es de trabajo y el 1 es de configuración.
Cada banco posee una cantidad de 8 bits por cada posición.
El PORT A se encuentra en la posición 0X05 y el TRIS A en la 0X85 ,es decir que los dos bancos son espejo teniendo en cuenta que se cambia el bit mas significativo por un 8 en el banco 1 y que es un 0 en el banco 0.
Las posiciones marcadas en el esquema controlan los pines de entrada y salido ¿Cómo?.
De la siguiente manera :
El PORT A es el numero hexadecimal 08 es decir que en binario es el 00001000 , en cada lugar en donde halla un 1 será una entrada y un 0 una salida. Esto quiere decir que RB0,RB1,RB2,RB4,RB5,RB6,RB7 serán todos pines de salida y RB3 será un pin de entrada 





No hay comentarios:

Publicar un comentario