jueves, 2 de diciembre de 2010

MICROCONTROLADORES PIC

Los microcontroladores PIC desarrollados por Microchip Technology son probablemente la mejor opción si es principiante. Hay varias razones por lo que esto es verdadero...
El nombre verdadero de este microcontrolador es PICmicro (Peripheral Interface Controller), conocido bajo el nombre PIC. Su primer antecesor fue creado en 1975 por la compañía General Instruments. Este chip denominado PIC1650 fue diseñado para propósitos completamente diferentes. Diez años más tarde, al añadir una memoria EEPROM, este circuito se convirtió en un verdadero microcontrolador PIC. Hace unos pocos años la compañía Microchip Technology fabricó la 5 billonésima muestra. Si está interesado en aprender más sobre eso, siga leyendo.
If you are interested in learning more about it, just keep on reading.
La idea principal de este libro es proporcionar la información necesaria al usuario para que sea capaz de utilizar los microcontroladores en la práctica después de leerlo. Para evitar explicaciones pesadas y las historias infinitas sobre las características útiles de los microcontroladores diferentes, este libro describe el funcionamiento de un modelo particular que pertenece a la “clase media alta”. Es PIC16F887 - bastante poderoso para ser digno de atención y bastante simple para poder ser utilizado por cualquiera. Así, los siguientes capítulos describen este microcontrolador en detalle y también se refieren a la familia PIC entera.

FamiliaROM [Kbytes]RAM [bytes]PinesFrecuencia de reloj. [MHz]Entradas A/DResolución del convertidor A/DComparadoresTemporizadores de 8/16 bitsComunicación serialSalidas PWMOtros
Arquitectura de la gama baja de 8 bits, palabra de instrucción de 12 bits
PIC10FXXX0.375 - 0.7516 - 246 - 84 - 80 - 280 - 11 x 8---
PIC12FXXX0.75 - 1.525 - 3884 - 80 - 380 - 11 x 8--EEPROM
PIC16FXXX0.75 - 325 - 13414 - 44200 - 380 - 21 x 8--EEPROM
PIC16HVXXX1.52518 - 2020---1 x 8--Vdd = 15V
Arquitectura de la gama media de 8 bits, palabra de instrucción de 14 bits
PIC12FXXX1.75 - 3.564 - 1288200 - 41011 - 2 x 8 1 x 16-0 - 1EEPROM
PIC12HVXXX1.75648200 - 41011 - 2 x 8 1 x 16-0 - 1-
PIC16FXXX1.75 - 1464 - 36814 - 64200 - 138 or 100 - 21 - 2 x 8 1 x 16USART I2C SPI0 - 3-
PIC16HVXXX1.75 - 3.564 - 12814 - 20200 - 121022 x 8 1 x 16USART I2C SPI--
Arquitectura de la gama alta de 8 bits, palabra de instrucción de 16 bits
PIC18FXXX4 - 128256 - 393618 - 8032 - 484 - 1610 or 120 - 30 - 2 x 8 2 - 3 x 16USB2.0 CAN2.0 USART I2C SPI0 - 5-
PIC18FXXJXX8 - 1281024 - 393628 - 10040 - 4810 - 161020 - 2 x 8 2 - 3 x 16USB2.0 USART Ethernet I2C SPI2 - 5-
PIC18FXXKXX8 - 64768 - 393628 - 446410 - 131021 x 8 3 x 16USART I2C SPI2-
Todos los microcontroladores PIC utilizan una arquitectura Harvard, lo que quiere decir que su memoria de programa está conectada a la CPU por más de 8 líneas. Hay microcontroladores de 12, 14 y 16 bits, dependiendo de la anchura del bus. La tabla anterior muestra las características principales de estas tres categorías.
Como se puede ver en la tabla de la página anterior, salvo “los monstruos de 16 bits” PIC 24FXXX y PIC 24HXXX - todos los microcontroladores tienen la arquitectura Harvard de 8 bits y pertenecen a una de las tres grandes grupos. Por eso, dependiendo del tamaño de palabra de programa existen la primera, la segunda y la tercera categoría de microcontroladores, es decir microcontroladores de 12, 14 o 16 bits. Puesto que disponen del núcleo similar de 8 bits, todos utilizan el mismo juego de instrucciones y el “esqueleto” básico de hardware conectado a más o menos unidades periféricas.
Los microcontroladores PIC con palabras de programa de 14 bits parecen ser la mejor opción para los principiantes. Aquí está el porqué...

JUEGO DE INSTRUCCIONES

El juego de instrucciones para los microcontroladores 16F8XX incluye 35 instrucciones en total. La razón para un número tan reducido de instrucciones yace en la arquietectura RISC. Esto quiere decir que las instrucciones son bien optimizadas desde el aspecto de la velocidad operativa, la sencillez de la arquitectura y la compacidad del código. Lo malo de la arquitectura RISC es que se espera del programador que haga frente a estas instrucciones. Por supuesto, esto es relevante sólo si se utiliza el lenguaje ensamblador para la programación. Este libro se refiere a la programación en el lenguaje de alto nivel C, lo que significa que la mayor parte del trabajo ya fue hecho por alguien más. Así, sólo se tienen que utilizar instrucciones relativamente simples.

TIEMPO DE EJECUCIÓN DE INSTRUCCIONES

Todas las instrucciones se ejecutan en un ciclo. La únicas excepciones pueden ser las instrucciones de ramificación condicional o las instrucciones que cambian el contenido del contador de programa. En ambos casos, dos ciclos de reloj son necesarios para la ejecución de la instrucción, mientras que el segundo ciclo se ejecuta como un NOP (No operation). Las instrucciones de un ciclo consisten en cuatro ciclos de reloj. Si se utiliza un oscilador de 4 MHz, el tiempo nominal para la ejecución de la instrucción es 1μS. En cuanto a las instrucciones de ramificación, el tiempo de ejecución de la instrucción es 2μS.
Juego de instrucciones de los microcontroladores PIC de 14 bits:
INSTRUCCIÓNDESCRIPCIÓNOPERACIÓNBANDERACLK*
Instrucciones para la transmisión de datos
MOVLW kMover literal a Wk -> w1
MOVWF fMover el contenido de W a fW -> f1
MOVF f,dMover el contenido de f a df -> dZ11, 2
CLRWBorrar el contenido de W0 -> WZ1
CLRF fBorrar el contenido de f0 -> fZ12
SWAPF f,dIntercambiar de nibbles en ff(7:4),(3:0) -> f(3:0),(7:4)11, 2
Instrucciones aritmético - lógicas
ADDLW kSumar literal a WW+k -> WC, DC, Z1
ADDWF f,dSumar el contenido de W y fW+f -> dC, DC ,Z11, 2
SUBLW kRestar W de literalk-W -> WC, DC, Z1
SUBWF f,dRestar W de ff-W -> dC, DC, Z11, 2
ANDLW kAND W con literalW AND k -> WZ1
ANDWF f,dAND W con fW AND f -> dZ11, 2
IORLW kOR inclusivo de W con literalW OR k -> WZ1
IORWF f,dOR inclusivo de W con fW OR f -> dZ11, 2
XORWF f,dOR exclusivo de W con literalW XOR k -> WZ11, 2
XORLW kOR exclusivo de W con fW XOR f -> dZ1
INCF f,dSumar 1 a ff+1 -> fZ11, 2
DECF f,dRestar 1 a ff-1 -> fZ11, 2
RLF f,dRotar F a la izquierda a través del bit de AcarreoC11, 2
RRF f,dRotar F a la derecha a través del bit de AcarreoC11, 2
COMF f,dComplementar ff -> dZ11, 2
Instrucciones orientadas a bit
BCF f,bPoner a 0 el bit b del registro f0 -> f(b)11, 2
BSF f,bPoner a 1 el bit b del registro f1 -> f(b)11, 2
Instrucciones de control de programa
BTFSC f,bSaltar si bit b de registro f es 0Skip if f(b) = 01 (2)3
BTFSS f,bSaltar si bit b de reg. f es 1Skip if f(b) = 11 (2)3
DECFSZ f,dDisminuir f en 1. Saltar si el resultado es 0f-1 -> d skip if Z = 11 (2)1, 2, 3
INCFSZ f,dIncrementar f en 1. Saltar si el resultado es 1f+1 -> d skip if Z = 01 (2)1, 2, 3
GOTO kSaltar a una direcciónk -> PC2
CALL kLlamar a una subrutinaPC -> TOS, k -> PC2
RETURNRetornar de una subrutinaTOS -> PC2
RETLW kRetornar con literal en Wk -> W, TOS -> PC2
RETFIERetornar de una interupciónTOS -> PC, 1 -> GIE2
Otras instrucciones
NOPNo operaciónTOS -> PC, 1 -> GIE1
CLRWDTReiniciar el temporizador perro guardián0 -> WDT, 1 -> TO, 1 -> PDTO, PD1
SLEEPPoner en estado de reposo0 -> WDT, 1 -> TO, 0 -> PDTO, PD1
*1 Si un registro de E/S está modificado, el valor utilizado será el valor presentado en los pines del microcontrolador.
*2 Si la instrucción se ejecuta en el registro TMR y si d=1, el pre-escalador será borrado.
*3 Si la instrucción se ejecuta en el registro TMR y si d=1, el pre-escalador será borrado.
ARQUITECTURA PIC DIAGRAMA DE BLOQUES
Arquitectura de los microcontroladores PIC de 8 bits. Cuáles de estos módulos pertenecerán al microcontrolador, dependerá del tipo de microcontrolador.

No hay comentarios:

Publicar un comentario