RMCCM195mic

RMCCM195mic
RMCCM195mic

jueves, 3 de marzo de 2011

Microcontroladores

Origen de microcontroladores
En el año 1969, un equipo de ingenieros japoneses de la compañía
BUSICOM llegó a Estados Unidos con una idea, ellos deseaban usar para sus
proyectos pocos circuitos integrados de los que se usaban en las calculadoras.
La proposición se hizo a INTEL, y Marcian Hoff era el responsable del proyecto.
Ya que él era quien tenia experiencia trabajando con una computadora (PC)
PDP8, se le ocurrió pensar en una solución fundamentalmente diferente en lugar
de la construcción sugerida. Esta solución presumía que la función del circuito
integrado se determinaría por un programa almacenado en él. Eso significaba
que la configuración sería más simple, pero que requeriría mucho más memoria
de lo que requería el proyecto que propusieron los ingenieros japoneses.
Después de un tiempo, aunque los ingenieros japoneses probaron soluciones
más fáciles, la idea de Marcian ganó, y el primer microprocesador nació. Para
transformar esta idea en un producto ya fabricado, Federico Faggin, se unió a
INTEL, y en sólo 9 meses tuvo éxito. INTEL obtuvo los derechos para vender
este "bloque integrado" en 1971. Primero, compraron la licencia de la compañía
BUSICOM, que no tenía idea del tesoro que poseían. Durante ese año, apareció
en el mercado un microprocesador que se llamó 4004, este fue el primer
microprocesador de 4 bits con velocidad de 6 000 operaciones por segundo. No
mucho tiempo después de eso, la compañía americana CTC pidió a INTEL y
Texas Instruments que hiciera un microprocesador de 8 bits. Aunque después a
CTC no le interesó mas la idea, Intel y Texas Instruments siguieron trabajando
en el microprocesador y el primero de abril de 1972, el microprocesador de 8 bits
aparece en el mercado con el nombre de 8008. Podía direccionar 16 Kb de
memoria, con un set de 45 instrucciones y una velocidad de 300 000
operaciones por segundo. Este microprocesador es el predecesor de todos los
microprocesadores de hoy. Intel mantuvo sus desarrollos y saco al mercado el
procesador de 8 bits bajo el nombre 8080, el cual podía direccionar 64Kb de
memoria, con 75 instrucciones, a un precio de 360 dlls.
En otra compañía americana, Motorola, comprendieron rápidamente lo
que estaba sucediendo, así que ellos sacaron al mercado su microprocesador
de 8 bits, el 6800. Su constructor principal era Chuck Peddle, y junto con el
procesador, Motorola fue la primera compañía en hacer otros periféricos como el
6820 y el 6850. En ese momento muchas compañías reconocieron importancia
de los microprocesadores y empezaron sus propios desarrollos. Chuck Peddle
abandonó Motorola para unirse a la Tecnología MOS y se mantuvo trabajando
intensamente en el desarrollo de los microprocesadores.
Un evento muy importante tuvo lugar en la historia de microprocesadores
en una exhibición de WESCON en 1795 en Estados Unidos. La Tecnología MOS
anunció que estaba comercializando los microprocesadores 6501 y 6502 a 25
dlls. cada uno, y que los compradores podrían adquirirlos inmediatamente. Esto
era tan extraordinario, que algunas personas creyeron que era un escándalo,
considerando que los competidores estaban vendiendo el 8080 y el 6800 a 179
dlls. cada uno. Intel y Motorola bajaron sus precios en el primer día de la
exhibición como una respuesta a su competidor, 69.95 por microprocesador.
Motorola reclama a la Tecnología de MOS y a Chuck Peddle el haberles copiado
su 6800. La Tecnología MOS suspende la fabricación del 6501, pero siguen
produciendo el 6502. Los 6502 eran microprocesadores de 8 bits, 56
instrucciones y la capacidad de direccionar 64Kb de memoria directamente. Para
reducir el costo, el 6502 se vuelve muy popular, así que se instala en las
computadoras tales como: KIM-1, Apple I, Apple II, Atari, Comodore, Acorn, Oric,
Galeb, Orao, Ultra, y muchas otras. Y muy pronto aparecieron varios fabricantes
del 6502 (Rockwell, Sznertek, GTE, NCR, Ricoh, y Comodore quienes toman la
Tecnología MOS) el cual estaba en su momento de apogeo y se vendía a una
velocidad de 15 millones de procesadores por año. Otros, sin embargo, no se
rindieron. Federico Faggin deja Intel, y empieza su propio Zilog Inc.
En 1976, Zilog anuncia el Z80. Durante la fabricación de este
microprocesador, Faggin toma una decisión giratoria. Sabiendo que ya se han
desarrollado muchos programas para 8080, Faggin sabia que muchos se
quedarían fieles a ese microprocesador. Así que decide diseñar un nuevo
procesador que pueda ser compatible con 8080, o que sea capaz de desarrollar
todos los programas que ya se habían escrito para el 8080. Además de estas
características, se agregaron muchas otras para que el Z80 fuera un
microprocesador muy poderoso. Podía direccionar 64 Kb de memoria, tenía 176
instrucciones, un gran número de registros, una opción para refresco de
memoria dinámica de la RAM, mayor velocidad de trabajo etc. El Z80 fue un
gran éxito y todos cambiaron del 8080 al Z80. Puede decirse que el Z80 fue el
microprocesador comercializado más exitoso de ese tiempo. Además de Zilog,
también aparecieron otros nuevos fabricantes como Mostek, NEC, SHARP, y
SGS. Z80 estaba en el corazón de muchas computadoras como en Spectrum,
Partner, TRS703, Z-3 etc.
En 1976, Intel propone una versión mejorada del microprocesador de 8
bits, al cual nombró 8085. Sin embargo, el Z80 era tan bueno que Intel perdió la
batalla. Aunque más procesadores aparecían en el mercado (6809, 2650,
SC/MP etc.), ya todo estaba decidido. Ya no había grandes mejoras departe
de los fabricantes para hacer algo nuevo, así que el 6502 y el Z80 junto con el
6800 permanecieron como los representantes principales de los
microprocesadores de 8 bits de ese tiempo.
MICROCONTROLADORES CONTRA MICROPROCESADORES
Un microcontrolador difiere de un microprocesador de muchas maneras.
Lo primero y lo más importante es su funcionalidad. Para que un
microprocesador sea usado, otros componentes como la memoria e interfaces,
deben agregarse para recibir y enviar datos. En resumen, el microprocesador
es el corazón de una computadora. Por otro lado, el microcontrolador fue
diseñado para ser todo eso en un solo chip. Ningún otro componente externo se
necesita para su aplicación, porque todos los periféricos necesarios ya se
construyen en él. Así, nosotros ahorramos el tiempo y el espacio que se
necesitan para construir los dispositivos.



La historia y antecedentes de microcontroladores
Las circunstancias con las que nos encontramos hoy en el campo de los
microcontroladores tienen sus raíces en el desarrollo de la tecnología de los
circuitos integrados. Este desarrollo ha hecho posible contener cientos de miles
de transistores en un solo chip. Ése era uno de los requisitos previos para la
producción de los microprocesadores, y las primeras computadoras eran hechas
agregando periféricos externos como la memoria, timers etc. lo que aumentaba
el volumen de los circuitos integrados. Estos circuitos integrados contenían
procesador y periféricos. Así es cómo se desarrollo el primer chip que contenía
una microcomputadora, o lo que después se llegaría a conocer como un
microcontrolador.

Inicialmente cuando no existían los microprocesadores las personas se ingeniaban en diseñar sus circuitos electrónicos y los resultados estaban expresados en diseños que implicaban muchos componentes electrónicos y cálculos matemáticos. Un circuito lógico básico requería de muchos elementos electrónicos basados en transistores, resistencias, etc; pero en el año 1971 apareció el primer microprocesador el cual originó un cambio decisivo en las técnicas de diseño de la mayoría de los equipos. Al principio se creía que el manejo de un microprocesador era para aquellas personas con un coeficiente intelectual muy alto; por lo contrario con la aparición de este circuito integrado todo sería mucho mas fácil de entender y los diseños electrónicos serian mucho mas pequeños y simplificados. Entre los microprocesadores mas conocidos tenemos el popular Z-80 y el 8085. Los diseñadores de equipos electrónicos ahora tenían equipos que podían realizar mayor cantidad de tareas en menos tiempo y su tamaño se redujo considerablemente; sin embargo, después de cierto tiempo aparece una nueva tecnología llamada microcontrolador que simplifica aun mas el diseño electrónico.
1.2-. Diferencias entre un Microprocesador y un Microcontrolador.
Si usted tuvo la oportunidad de realizar un diseño con un microprocesador pudo observar que dependiendo del circuito se requerían algunos circuitos integrados adicionales ademas del microprocesador como por ejemplo: memorias RAM para almacenar los datos temporalmente y memorias ROM para almacenar el programa que se encargaría del proceso del equipo, un circuito integrado para los puertos de entrada y salida y finalmente un decodificador de direcciones.
Un microcontrolador es un solo circuito integrado que contiene todos los elementos electrónicos que se utilizaban para hacer funcionar un sistema basado con un microprocesador; es decir contiene en un solo integrado la Unidad de Proceso, la memoria RAM, memoria ROM, puertos de entrada, salidas y otros periféricos.
1.3-. Ventajas de un Microcontrolador Vs. un Microprocesador.
Estas ventajas son reconocidas inmediatamente para aquellas personas que han trabajado con los microprocesadores y después pasaron a trabajar con los microcontroladores. Estas son las diferencias mas importantes:
Por ejemplo la configuración mínima básica de un microprocesador estaba constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 pines; pero un microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores: En el ciruito impreso por su amplia simplificación de circuiteria, el costo para un sistema basado en microcontrolador es mucho menor y, lo mejor de todo, el tiempo de desarrollo de su proyecto electrónico se disminuye considerablemente.
Existen unos microcontroladores mas avanzados que otros por los componentes especiales que estos incluyen. Algunos solamente contienen puertos de entrada y de salida, otros incluyen pines hasta de 12 Bits para conversiones analógicas digitales entre otros. Podemos mencionar algunas características especiales que poseen los microcontroladores actuales: Modulación por ancho de pulso, Comunicación Serial Sincrona, Comunicacion Serial Asincrona, Temporizadores, Contadores, etc.
1.4-. Los Microcontroladores, aspecto básico general.
En la actualidad existen muchos microcontroladores de diferentes empresas reconocidas mundialmente, pero nuestra meta especifica es tratar el microcontrolador de la empresa Microchip Tecnologies modelo PIC16F84. El archivo tiene una longitud de 1.6 Mega Byte y contiene 100 hojas en formato PDF que podrás observar con el Acrobat Reader. En ese archivo encontraras cualquier mínimos detalle que necesites conocer del microcontrolador PIC16F84
1.5-. Que es un Microcontrolador ?.                                                             
Un microcontrolador es un circuito integrado programable que contiene internamente todos los componentes de un computador. Este se utiliza para controlar el funcionamiento de una tarea determinada. Sus pines de entradas y salidas se utilizan para conectar motores, relays, actuadores, etc. Una vez que el microcontrolador esta programado, se encargara de ejecutar al pie de la letra la tarea encomendada.
PIC 16F84
Conociendo al Microcontrolador PIC16F84.
El microcontrolador PIC16F84 es un circuito integrado fabricado por la empresa Microchip Tecnologies y es actualmente uno de los mas utilizados a nivel mundial, la razón de esto es por que son sencillos, rápidos, modernos y principalmente baratos, se podrán escribir los programas y borrarlos muchísimas veces, poseen gran documentación a nivel mundial en la Red de Internet y esta accesible para la mayoría de los bolsillos. Existen microcontroladores que una vez programados con el programa de control estos tienen que ser borrados con luz ultra violeta en el caso de requerir borrar el programa. Para el caso del PIC16F84, este podrá ser programado Eléctricamente con una circuiteria que proporciona la empresa Microchip Tecnologies. Este programador es sumamente sencillo y debe ser conectado al puerto paralelo de su computador.
1.7-. Características Básicas del PIC16F84.
El Microcontrolador PIC16F84 es un circuito integrado de 18 pines fabricado con tecnología CMOS, existen en diferentes versiones de encapsulado como por ejemplo el DIP (Version convensional ) y el SOIC ( Montaje superficial ). La frecuencia de trabajo esta entre 4 Mhz y 20 Mhz. Las versiones que se estipulan en una frecuencia de trabajo de 4 Mhz podrán trabajar sin ningún problema hasta los 10 Mhz, prueba que hemos realizado muchas veces en nuestros diseños. Observemos la siguiente imagen que muestra como están organizados los pines del microcontrolador PIC16F84:

1.8-. Identificación de los Pines utilizados para los puertos de entrada y salidas.
En la imagen anterior se podrá observar claramente que el microcontrolador tiene dos puertos denominados "A" y "B". El puerto "A" tiene 5 lineas disponibles (RA0, RA1, RA2, RA3, RA4 ) y el puerto "B" tiene 8 lineas disponibles (RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 ). Ambos Puertos suman un total de 13 lineas que podrá ser programadas independientemente como entradas o como salidas. Estas son las lineas que estarán destinadas para comunicar el microcontrolador con el mundo exterior, como por ejemplo: Un motor Paso a Paso, Diodos Luminosos "Leds", Módulos LCD, Teclados Matriciales, etc. También observe que el Pin No. 3 perteneciente al puerto "A" = RA4 también tiene otra nomenclatura denominada "TOCKI" lo cual quiere decir que esta linea podrá ser programada como entrada, salida y temporizador/contador.
1.9-. Identificación de los pines de alimentación del Microcontrolador.
El microcontrolador trabaja con una tensión de 5 Vlts. DC y los pines para ello son el Pin No. 14 (+) y el Pin No. 5 (-).
1.10-. Oscilador para el PIC16F84.
Todo microprocesador o microcontrolador requiere de un circuito que le indique a que velocidad debe trabajar. Este circuito es conocido por todos como un oscilador de frecuencia. Este oscilador es como el corazón del microcontrolador por lo tanto, este pequeño circuito no debe faltar. En el caso del microcontrolador PIC16F84 el Pin No. 15 y el Pin No. 16 son utilizados para introducir la frecuencia de reloj.
Existen microcontroladores que tienen su oscilador internamente y no requieren de pequeños circuitos electrónicos externos. El microcontrolador PIC16F84 requiere de un circuito externo de oscilación o generador de pulsos de reloj. La frecuencia de reloj máxima es de 20 Mhz; sin embargo, nosotros le recomendamos que comience a trabajar con una frecuencia de reloj de 4 Mhz. debido a que todos nuestros experimentos estarán basados en esta frecuencia.
El microcontrolador PIC16F84 utiliza cuatro periodos completos de reloj por cada instrucción por lo tanto si usted tuviera un cristal que estuviera 4 Mhz, internamente en el microcontrolador se esta corriendo a 1 Mhz debido a que se toman 4 pulsos de reloj completos para cada instrucción.
El PIC16F84 puede utilizar cuatro tipo diferentes de reloj oscilador externos. El tipo de oscilador dependerá de la precisión (ej: para las rutinas de tiempo), velocidad y potencia que usted necesite; por otro lado los costos que serian un aspecto significativo en una producción en serie de algún tipo de proyecto electrónico y la velocidad de proceso mínima requerida para su proyecto electrónico. Podemos resumir entonces los diferentes tipos de osciladores:
- MEMORIA DE PROGRAMA
Es una memoria de 1 K byte de longitud con palabra de 14 bits. Como es del tipo FLASH se puede programar y borrar eléctricamente, en otras palabras, se puede programar o borrar sin necesidad de un borrador de luz ultravioleta, lo que facilita el desarrollo de programas y la experimentación. Como el PIC 16F84 tiene un contador de programa de 13 bits, tiene una capacidad de direccionamiento de 8K x 14, pero solamente tiene implementado el primer 1K x 14 (000h hasta 03FFh). Si se direccionan posiciones de memoria superiores a 3FFh se causará un solapamiento o desborde con el espacio del primer 1K.
- VECTOR DE RESET
Cuando ocurre un reset o se enciende el microcontrolador, el contador de programa se pone en ceros (000h). Por esta razón, en la primera dirección del programa se debe escribir todo lo relacionado con la iniciación del mismo.
- VECTOR DE INTERRUPCION
Cuando el microcontrolador recibe una señal de interrupción el contador de programa apunta a la dirección 04h de la memoria de programa, por eso allí se debe escribir toda la programación necesaria para atender dicha interrupción.
- REGISTROS (Memoria RAM)
El PIC 16F84 puede direccionar 128 posiciones de memoria RAM, pero solamente tiene implementado físicamente los primeros 80 (0 a 4Fh). De estos los primeros 12 son registros que cumplen un propósito especial en el control del microcontrolador y los 68 siguientes son registros de uso general que se pueden usar para guardar los datos temporales de la tarea que se esta ejecutando. Los registros están organizados como dos bancos (paginas) de 128 posiciones de 8 bits cada una (128 x 8); todas las posiciones se pueden accesar directa o indirectamente (estas ultimas a través del registro FSR). Para seleccionar que pagina de registro se trabaja en un momento determinado se utiliza el bit RP0 del registro STATUS.
- PINES Y FUNCIONES
Los PUERTOS son el puente entre el microcontrolador y el mundo exterior. Son líneas digitales que trabajan entre cero y cinco voltios y se pueden configurar como entradas o como salidas.
El PIC 16F84 tiene dos puertos. El puerto A con 5 líneas y el puerto B con 8 líneas. Cada pin se puede configurar como entrada o como salida independiente programado por un par de registros diseñados para tal fin. En ese registro un "0" configura el pin del puerto correspondiente como salida y un "1" lo configura como entrada.
- LA ARQUITECTURA
- LA ARQUITECTURA TRADICIONAL
La arquitectura tradicional de computadoras y microprocesadores se basa en el esquema propuesto por John Von Neumann, en el cual la unidad central de proceso, o CPU, esta conectada a una memoria única que contiene las instrucciones del programa y los datos (ver figura). El tamaño de la unidad de datos o instrucciones esta fijado por el ancho del bus de la memoria. Es decir que un microprocesador de 8 bits, que tiene además un bus de 8 bits que lo conecta con la memoria, deberá manejar datos e instrucciones de una o más unidades de 8 bits (bytes) de longitud. Cuando deba acceder a una instrucción o dato de más de un byte de longitud, deberá realizar más de un acceso a la memoria. Por otro lado este bus único limita la velocidad de operación del microprocesador, ya que no se puede buscar de memoria una nueva instrucción, antes de que finalicen las transferencias de datos que pudieran resultar de la instrucción anterior. Es decir que las dos principales limitaciones de esta arquitectura tradicional son :
  Que la longitud de las instrucciones esta limitada por la unidad de longitud de los datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para buscar instrucciones complejas.
  Que la velocidad de operación (o ancho de banda de operación) esta limitada por el efecto de cuello de botella que significa un bus único para datos e instrucciones que impide superponer ambos tiempos de acceso.
La arquitectura von Neumann permite el diseño de programas con código automodificable, práctica bastante usada en las antiguas computadoras que solo tenían acumulador y pocos modos de direccionamiento, pero innecesaria, en las computadoras modernas.
Arquitectura von Neumann
- La arquitectura Harvard y sus ventajas
La arquitectura conocida como Harvard, consiste simplemente en un esquema en el que el CPU esta conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria de Datos. Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set de instrucciones y el bus de la memoria de programa pueden diseñarse de manera tal que todas las instrucciones tengan una sola posición de memoria de programa de longitud. Además, como los buses son independientes, el CPU puede estar accediendo a los datos para completar la ejecución de una instrucción, y al mismo tiempo estar leyendo la próxima instrucción a ejecutar. Se puede observar claramente que las principales ventajas de esta arquitectura son:
Que el tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.
  Que el tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operación.
Una pequeña desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran físicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador).
Arquitectura Harvard
Los microcontroladores PIC 16C5X, 16CXX y 17CXX poseen arquitectura Harvard, con una memoria de datos de 8 bits, y una memoria de programa que, según el modelo, puede ser de 12 bits para los 16C5X, 14 bits para los 16CXX y 16 bits para los 17CXX.




IMPORTANTE---


VIDEOCLIP DE PROYECTO CON PIC 16F84

No hay comentarios:

Publicar un comentario