Caracteristicas De Pic
wolf240716 de Mayo de 2013
3.378 Palabras (14 Páginas)428 Visitas
Diferencias entre un Microprocesador y un Microcontrolador.
Existen diferencias entre un microcontrolador y un microprocesador, la primera y más importante es la funcionalidad. Para que un microprocesador sea funcional requiere conectarse a una memoria y a dispositivos de entrada y salida (E/S). Para aclarar esto piensen en la tarjeta principal de su computadora personal, además de un buen microprocesador, requiere de memoria RAM y como ustedes saben en la tarjeta principal (motherboard) tenemos un “súper” circuito integrado llamado “chipset” que entre otras cosas se encarga de proporcionar las funciones de entrada y salida, tales como el control de los puertos serial, paralelo, USB, IEEE-1394, Ethernet y de las ranuras ISA, PCI, AGP y más.
En cambio en un microcontrolador tienen tanto las capacidades de procesamiento, almacenamiento de datos e instrucciones (memoria) y de comunicación con el entorno (E/S) dentro de un sólo chip (no requiere de otros componentes para funcionar) y de hecho puede considerarse como una microcomputadora.
Obviamente tiene algunas desventajas, sobre todo derivadas del hecho de que se trata de un sistema cerrado con características que no pueden modificarse, de ahí que sea muy importante su selección.
Otra diferencia es la arquitectura (los bloques funcionales internos y la forma en que se conectan), normalmente la de los microprocesadores es la tradicional de Von Neumann, mientras que la de los microcontroladores es la Harvard y aunque ya no hay arquitecturas “puramente” CISC o RISC ya que actualmente comparten muchas características, la de los microcontroladores es RISC. No deben de olvidar que la arquitectura Harvard se distingue por tener una memoria para los datos y otra para las instrucciones, cada una con propio bus y capacidad.
Por ejemplo: podrían hacer con un microcontrolador un sistema de alarma completo para la casa y tendría un costo muy bajo, pero también lo podrían hacer con un microprocesador pero el costo seria altísimo por la cantidad de elementos que necesitaría el mismo de soporte a su alrededor (seria una pc) y además del costo también seria un desperdicio de recursos colocar un microprocesador hacer tal tarea.
Arquitectura Básica de los Microcontroladores.
Básicamente existen dos arquitecturas de computadoras, y por supuesto, están presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexión de la memoria al procesador y en los buses que cada una necesita.
-Arquitectura Von Neumann.
La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos, siendo la que se utiliza en un ordenador personal porque permite ahorrar una buena cantidad de líneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas donde el procesador se monta en algún tipo de zócalo alojado en una placa madre. También esta organización les ahorra a los diseñadores de placas madre una buena cantidad de problemas y reduce el costo de este tipo de sistemas.
En un ordenador personal, cuando se carga un programa en memoria, a éste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales típicamente tendrán los siguientes: código (programa), datos y pila. Es por ello que pueden hablar de la memoria como un todo, aunque existan distintos dispositivos físicos en el sistema (disco duro, memoria RAM, memoria flash, unidad de disco óptico...).
En el caso de los microcontroladores, existen dos tipos de memoria bien definidas: memoria de datos y memoria de programas (ROM, PROM, EEPROM, flash u de otro tipo no volátil). En este caso la organización es distinta a las del ordenador personal, porque hay circuitos distintos para cada memoria y normalmente no se utilizan los registros de segmentos, sino que la memoria está segregada y el acceso a cada tipo de memoria depende de las instrucciones del procesador.
A pesar de que en los sistemas integrados con arquitectura Von Neumann la memoria esté segregada, y existan diferencias con respecto a la definición tradicional de esta arquitectura; los buses para acceder a ambos tipos de memoria son los mismos, del procesador solamente salen el bus de datos, el de direcciones, y el de control. Como conclusión, la arquitectura no ha sido alterada, porque la forma en que se conecta la memoria al procesador sigue el mismo principio definido en la arquitectura básica.
Algunas familias de microcontroladores como la Intel 8051 y la Z80 implementan este tipo de arquitectura, fundamentalmente porque era la utilizada cuando aparecieron los primeros microcontroladores.
-Arquitectura Harvard
La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.
La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento. Típicamente los sistemas con esta arquitectura pueden ser dos veces más rápidos que sistemas similares con arquitectura Von Neumann.
La desventaja está en que consume muchas líneas de E/S del procesador; por lo que en sistemas donde el procesador está ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayoría de los microcontroladores.
Por eso es importante recordar que un microcontrolador se puede configurar de diferentes maneras, siempre y cuando se respete el tamaño de memoria que este requiera para su correcto funcionamiento.
Componentes de los Microcontroladores.
-El acumulador (ACC) es el registro asociado de las operaciones aritméticas y lógicas que se pueden realizar en la ALU. En cualquier operación, uno de los datos debe estar en el ACC y el resultado se obtiene en el ACC. El ACC no existe en los microcontroladores PIC, que tienen en cambio el registro W (Working Register), con características muy parecidas a las del ACC.
-El contador del programa (PC: Program Counter) es el registro de la CPU donde se almacenan direcciones de instrucciones. Cada vez que la CPU busca una instrucción en la memoria, el PC se incrementa, apuntando así hacia la siguiente instrucción. En un instante de tiempo dado, el PC contiene la dirección de la instrucción que será ejecutada a continuación.
-El puntero de la pila (SP: Stack Pointer) es el registro que almacena direcciones de datos en la pila. La pila se usa para almacenar direcciones de instrucciones y, en concreto, para recordar la dirección del retorno al programa principal desde una subrutina. Los microcontroladores PIC carecen de registro SP.
-El perro guardian (WDT: Watchdog Timer) es un recurso disponible en muchos microcontroladores. Consta de un oscilador y un contador binario de N bits. El oscilador puede ser el oscilador principal del microcontrolador, aunque se prefiere un oscilador independiente. La salida de la última etapa del contador va conectada al circuito de reset del microcontrolador. El conteo no se puede detener de ninguna forma, pero el contador se puede borrar desde el programa. El funcionamiento del perro guardian es que el oscilador envía sus pulsos periódica y permanentemente a la entrada del reloj del contador. Si el contador llega a contar los N pulsos, se desborda, su salida se activa y produce el reset del microcontrolador.
-Registro de funciones Especiales (SFR) Los registros de funciones especiales son también parte de la memoria RAM. A diferencia de los registros de propósito general, su propósito es predeterminado durante el proceso de fabricación y no se pueden cambiar. Como los bits están conectados a los circuitos particulares en el chip (convertidor A/D, módulo de comunicación serial, etc), cualquier cambio de su contenido afecta directamente al funcionamiento del microcontrolador o de alguno de los circuitos. Otra característica de estas localidades de memoria es que tienen nombres (tanto los registros como sus bits), lo que simplifica considerablemente el proceso de escribir un programa. Como el lenguaje de programación de alto nivel puede utilizar la lista de todos los registros con sus direcciones exactas, basta con especificar el nombre de registro para leer o cambiar su contenido.
Diferencias y Semejanzas entre los siguientes PIC 16F84, 16F877, 16F887, 18F4550.
Características generales del PIC16F877.
- CPU RISC.
- Sólo 35 instrucciones que aprender.
- Todas las instrucciones se ejecutan en un ciclo de reloj, excepto los
saltos que requieren dos.
- Frecuencia de operación de 0 a 20 MHz (DC a 200 nseg de ciclo de
instrucción).
- Hasta 8k x 14 bits de memoria Flash de programa.
- Hasta 368 bytes de memoria de datos (RAM).
- Hasta 256 bytes de memoria de datos EEPROM.
- Hasta 4 fuentes de interrupción.
- Stack de hardware de 8 niveles.
- Reset de encendido (POR).
-Timer de encendido (PWRT)
- Timer de arranque del oscilador (OST).
...