Vistas de página en total

martes, 24 de julio de 2018

GENERALIDADES DE LOS PIC






La sigla  PIC significa ”Peripheral Interface Controller” (Controlador de Interfaz de periféricos), aunque cabe mencionar que muchos usuarios prefieren interpretar PIC como “Programmable Integrated Circuit” (Circuito Integrado Programable). La expresión PIC es empleada para designar una amplia gama de microcontroladores de la empresa americana Microchip Technology  (www.microchip.com), es decir, no sería apropiada la expresión “tengo un PIC MOTOROLA”, pues la expresión PIC es inherente a la empresa Microchip.

GENERALITIES OF THE PIC

The acronym PIC stands for "Peripheral Interface Controller", although it is worth mentioning that many users prefer to interpret PIC as "Programmable Integrated Circuit". The expression PIC is used to designate a wide range of microcontrollers of the American company Microchip Technology (www.microchip.com), that is, the expression "I have a PIC MOTOROLA" would not be appropriate, since the expression PIC is inherent to the company Microchip

ARQUITECTURA DE MICROPROCESADORES


 ARQUITECTURA VON NEUMANN: propuesta por John Von Neumann, es la arquitectura tradicional de sistemas digitales programables. En este modelo la unidad central de procesamiento (CPU) está conectada a una memoria única que contiene las instrucciones del programa y los de datos. El tamaño de la unidad de datos o instrucciones está fijado por el ancho del bus de datos de la memoria exterior utilizada, que es de 8 bits. Un μP con un bus de 8 bit que lo conecta con la memoria deberá manejar datos e instrucciones de una o más unidades de 8 bit de longitud. Cuando deba acceder a una instrucción o dato de más de 1 byte (8bit) de longitud, deberá realizar más de un acceso a la memoria (lentitud del proceso). Por otro lado, este bus único limita la velocidad de operación del microprocesador, ya que no se puede buscar en la memoria una nueva instrucción antes de que finalicen las transferencias de datos que pudieran resultar de la instrucción anterior. Los μC Motorola, Intel, Atmel emplean esta arquitectura en sus uP y uC. La principal ventaja de esta arquitectura es que simplifica la lógica interna del μP.

Resumiendo, las principales desventajas de la arquitectura Von Neumann son:

1.    La longitud de las instrucciones está limitada por la unidad de longitud de los datos, por lo tanto, el μP debe hace varios accesos a memoria para buscar instrucciones complejas (con longitud superior a 8 bit).

2.    La velocidad de operación está limitada por el efecto cuello de botella que significa un único bus para datos e instrucciones, que impide superponer ambos tiempos de acceso.


 ARQUITECTURA HARVARD: es la mejora de la arquitectura Von Neumann, su nombre obedece a la primera computadora que utilizó esta arquitectura. Se caracteriza por implementar dos memorias separadas con buses independientes para la memoria de instrucciones (memoria de programa) y para la memoria de datos (variables y constantes). 

Ambos buses son totalmente independientes y pueden ser de distintos anchos (Wide) (léase uaid), esto permite que la CPU pueda acceder de forma independiente y simultánea (mayor velocidad) a la memoria de datos y a la de instrucciones, consiguiendo que las instrucciones se ejecuten en menos ciclos de reloj.

Resumiendo, las principales ventajas de la arquitectura Harvard son:

1.    El tamaño de las instrucciones no está 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. Así se logra una mayor velocidad y una menor longitud del programa.

2.    El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operación.

CLASES DE CPU’S (UNIDAD CENTRAL DE PROCESAMIENTO)


Las CPU’s atendiendo al tipo de instrucciones que utilizan pueden clasificarse fundamentalmente en:

CISC (Complex Instruction Set Computer): Son Procesadores con un juego de instrucciones complejo. Su repertorio o número de instrucciones es elevado (más de 90) y algunas de ellas son muy sofisticadas y potentes (ejemplo multiplicar, dividir) . Su problema es que requieren de muchos ciclos de reloj para ejecutar dichas instrucciones, haciendo lento rendimiento general del uP. Un ejemplo de estos μP son los empleados en los μC motorola gama media que tienen un repertorio de alrededor de 90 instrucciones (en contraste con los PIC que sólo tienen 35 la gama media y 75 la gama alta) y algunas son muy sofisticadas como DIV, MULT. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas y potentes que actúan como macros.

RISC (Reduced Instruction Set Computer): Son μP con un repertorio o número de instrucciones reducido (ejemplo los PIC sólo usan 35 instrucciones para gama media y 75 para gama alta). Las instrucciones son muy simples y suelen ejecutarse en un ciclo de máquina. Los μP RISC suelen tener una estructura pipeline y ejecutar casi todas las instrucciones en el mismo tiempo (4 ciclos de reloj para los PIC). Los μP RISC representan un importante avance en el desarrollo de la arquitectura de los microcontroladores. MICROCHIP decidió diseñar sus μC PIC con procesadores RISC optimizado para ejecutar a muy alta velocidad un reducido número de instrucciones. Cuando se requieran instrucciones sofisticadas o potentes (dividir, multiplicar, etc) se logran ejecutando un conjunto de instrucciones disponibles en lugar de una única instrucción como en los μP CISC. Tanto la industria de los computadores comerciales como la de los microcontroladores están decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.

SISC (Specific Instruction Set Computer): Poseen un juego de instrucciones específico para cada aplicación. Están destinados a aplicaciones muy concretas.  En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es “específico”, o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Específico).

ARQUITECTURA, CPU Y CARACTERISTICAS FUNCIONALES DEL PIC


            ARQUITECTURA HARVARD: Bus y memoria separado para memoria de programa (bus 16 hilos o Wide instructions = 16 bit para 18FXXXX, bus 14 hilos para 16FXXX) y bus y memoria separado para memoria de dato (bus de 8 hilos u ocho bits).  Los PIC 12XXX, 16XXX, 18XXXX manejan una longitud de 8 bit  para la memoria de datos.

            CPU TIPO RISC

            PROCESADOR SEGMENTADO O PIPELINE: realiza simultáneamente la ejecución de una instrucción y la búsqueda de código de la siguiente, de esta manera se puede ejecutar una instrucción en un ciclo. (recuerde que un ciclo de máquina equivale a 4 ciclos de reloj para un PIC). Es obvio que esta característica insufla alta velocidad de procesamiento al o μC. Se aplica la técnica de segmentación (“pipe-line”) en la ejecución de las instrucciones. La segmentación permite al procesador realizar al mismo tiempo la ejecución de una instrucción y la búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo (un ciclo de instrucción equivale a cuatro ciclos de reloj). Las instrucciones de salto ocupan dos ciclos al no conocer la dirección de la siguiente instrucción hasta que no se haya completado la de bifurcación.

            ARQUITECTURA ORTOGONAL: en un μP con arquitectura ortogonal una instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino. Esto se evidencia en el uso del registro W  (Work) para los PIC y el uso del registro A (acumulador) para los demás tipos de μC (Atmel, Motorola, Intel). Como consecuencia el PIC tiene una gran ventaja por tener arquitectura ortogonal y poder guardar el resultado de una operación aritmética en el registro de trabajo W o directamente en cualquier registro de la memoria de dato. Los demás μC siempre guardan el resultado de una operación ALU en el registro acumulador, teniendo que emplear otro comando o instrucción para pasarla a una variable de la memoria de dato, esto implica mayor demora o lentitud en el proceso.

            FORMATO DE INSTRUCCIONES – ANCHO DE INSTRUCCIONES (WIDE INSTRUCTIONS). El formato de todas las instrucciones es de la misma longitud. Todas las instrucciones de los microcontroladores de la gama baja tienen una longitud de 12 bits. Las de la gama media tienen 14 bits y 16bit los de la gama alta 18FXXXX. Esta característica es muy ventajosa en la optimización de la memoria de instrucciones y facilita enormemente la construcción de ensambladores y compiladores.

            JUEGO DE INSTRUCCIONES DEL PIC: Los modelos de la gama baja disponen de un repertorio de 33 instrucciones, 35 los de la gama media y 75 los de la alta.

            ARQUITECTURA BASADA EN UN “BANCO DE REGISTROS”: Esto significa que todos los objetos del sistema (puertas de E/S, temporizadores, posiciones de memoria, etc.) están implementados físicamente como registros.

            MODOS DE DIRECCIONAMIENTO DE UN PIC: Los modos de direccionamiento aluden a las diferentes formas de acceder a la memoria de datos e instrucciones de un uP.

1.    Direccionamiento Inmediato: El valor del dato inmediato (su valor como constante) lo contiene el mismo código de operación que, en la ejecución de la instrucción, se carga en el registro W para su posterior procesamiento. Por ejemplo:   IORLW .5

2.    Direccionamiento Directo: La dirección de memoria RAM se encuentra en el mismo código de operación. Por ejemplo:   ADDWF   VAR1.

3.    Direccionamiento de Bit: Procesa datos de un bit. La dirección del dato es un bit. Por ejemplo:

BCF   STATUS,RP0.

4.    Direccionamiento Indexado: Utilizado para el manejo de tablas mediante la instrucción:

ADDWF  PCL,F.

5.    Direccionamiento Indirecto: La dirección del dato se encuentra contenida en el registro INDF. Cada vez que se hace referencia éste, se utiliza el contenido del registro FSR para direccionar el operando.

TIPOS DE DATOS DE UN MICROCONTROLADOR SEGÚN LA LONGITUD:
1)    Bit: 1 ó 0
2)    Nibble: 4 bit : 0 a 15 en decimal
3)    Byte: 8 Bit: 2 Nibble : 0 a 255 en decimal
4)    Word: 16 bit: 4 nibble: 2 Byte : 0 a 65535 en decimal
5)    Double Word: 32 bit: 8 Nibble: 2 Byte: 2 Word : 0 a 4.294’967.296 en decimal
6)    ASCII: 7 bit
Todas las variables en un PIC son tipo byte por naturaleza en lenguaje assembler, es decir, el máximo valor permitido es 255.



MICROCONTROLADORES PIC

GENERALIDADES DE LOS PIC

1 comentario:

  1. Cuando publicas una nueva entrada relacionada con microcontroladores PIC?

    ResponderEliminar