la familia de microcontroladores pic

43
UNIVERSIDAD POLITECNICA SALESIANA SISTEMAS MICROPROCESADOS I CARLOS OCAMPO FERNANDO ITAS

Upload: carlitosvoley

Post on 18-Jun-2015

975 views

Category:

Documents


6 download

TRANSCRIPT

UNIVERSIDAD POLITECNICA SALESIANASISTEMAS MICROPROCESADOS I CARLOS OCAMPO FERNANDO ITAS

La familia de microcontroladores PIC Los microchip son los fabricantes

Los productos de Microchip son absorbidos en un 43% por Asia y Japn, mientras que Europa soporta el 28% Amrica el 29%

Grafico que muestra el aumento de las ventas anuales de microchip en la que destaca el porcentaje debido a los controladores

Distribucin de las ventas de microcontroladores PIC en los principales segmento* JUP mercado.

Una de las grandes ventajas de los microcontroladores de Microchip es su "migrabilidad que significa la posibilidad de cambiar de modelo de MCU y pasar a otro ms potente con ms capacidad de memoria y perifricos, la compatibilidad del software y del repertorio de instrucciones, la compatibilidad de perifricos y la de las herramientas de desarrollo.

La variabilidad de dispositivos PIC con sus distintas configuraciones

CLASIFICACION DE LOS MICROCONTROLADORES PIC

Estos microcontroladores o MCU se caracterizan por su

arquitectura Harvard con memorias de programa y de datos independientes lo que permite la accesibilidad simultnea y la diversidad en la longitud de las posiciones y el tamao de ambas memorias. Generalmente los microcontroladores se clasifican segn el tamao de los datos que maneja el repertorio de instrucciones y existen 4 grandes grupos: de 4, de 8, de 16 y de 32 bits. Microchip solo fabrican microcontroladores de 8 y de 16 bits y como se ha indicado es el lder mundial en ventas del primer grupo.

MICROCONTROLADORES PIC DE 8 BITS Se distinguen porque la longitud de los datos nativos que manejan las instrucciones es de 8 bits, que corresponde con el tamao del bus de datos y el de los registros de la CPU.

Los microcontroladores PIC se clasifican en tres grandes gamas: BASE MEDIA MEJORADA Contienen distintas capacidades de memoria, perifricos y distintos tipos de encapsulados

LA GAMA BASESe caracteriza porque responden a un juego de 33

instrucciones maquina de 12 bits de longitud cada una y dispone de una pila con solo 2 niveles

Los PIC enanos de 6 patitas tienen un gran xito comercial para resolver aplicaciones simples por su reducido volumen y precio. En ellos la alimentacin se aplica a 2 de las patitas, quedando las 4 restantes para las E/S y las funciones de sus perifricos, entre los que se encuentra un temporizador o Timer, un Comparador analgico, un CAD de 8 bits, Perro Guardin, etc.

LA GAMA MEDIA Los microcontroladores que componen esta gama responden

a un repertorio de 35 instrucciones con un formato de 14 bits de longitud cada una, teniendo la Pila 8 niveles de profundidad y disponiendo de un vector de interrupcin.

Es una gama numerosa que alcanza en la actualidad 71

modelos diferentes, que comienza con los que se hallan encapsulados con 8 patitas y llegan hasta los que tienen 68 patitas.

Principales caractersticas de los PIC de la gama base

CARACTERISTICAS DE LA GAMA MEDIA

CARACTERISTICAS DE LA GAMA MEDIA

CARACTERISTICAS DE LA GAMA MEDIA

Dispone de un repertorio de 77 instrucciones de 16 bits de

LA GAMA MEJORADA

longitud cada una, una Pila con 31 niveles de profundidad y 2 vectores de interrupcin. Los modelos PIC que conforman esta gama responden a la nomenclatura PICI8Xxxx

modelos tan potentes es palpable al ser la que ms nmero de dispositivos diferentes posee. La capacidad de la memoria de programa puede alcanzar los 128 KB, la de datos 3963 bytes y la EEPROM hasta 1 KB. Dispone de perifricos muy especializados entre los que destaca un Conversor AD de 10 bits, hasta 5 temporizadores, interfaces para comunicacin con bus I2C, SPI, USART, CAN 2.0B, etc. Entre los recursos significativos existe un multiplicador rpido hardware que permite desarrollar esta operacin en un ciclo de instruccin

MICROCONTROLADORES PIC DE 16 BITS

Microchip ha diseado nuevos dispositivos que manejan 16 bita y que integran en arquitecturas de mayor complejidad.Hay dos grandes gamas de microcontroladores de 16 bits: Gama MCU de 16 bits .- formada por las familias de dispositivos PIC24F y PIC24H. Gama DSC de 16 bits .- formada por las familias de dispositivos dsPIC30F y dsPIC33F

Gama de microcontroladores MCU de 16 BITS Es la de los modelos con nomenclatura genrica PIC24F, alcanza un rendimiento de 16 MIPS a 32 MHz, poseen la arquitectura Harvard modificada con un bus de datos e 16 bits y con instrucciones de longitud de 24 bits. Pueden manejar memorias de programa lineal de hasta 8 MB y una de datos de hasta 64 KB.

FLAHS 64-128 KBBUS DE MEMORIA

RAM 8 KBB U S P E R I F E R I C O

Temporizador 16 bits Watchdog CAD,10 bits, 16 canales

PROCESADOR DE 16 BITS Y 16 MIPS ALU-16 bit Banco de registros 16 x 16 Generacin de direcciones Registro de Desplazamiento

GP I/O UART (2) I2CTM SPITM

Multiplicador 16 x 16 JTAG y Emul. Interfaz

CONTROL DE INTERRUPC.

p

RTCC PMP

Caractersticas principalesFrecuencia Memoria de programa (bytes) Memoria de instrucciones (words) Memoria de datos (bytes) Memoria EEPROM Fuente de interrupcin Puertas E/S Temporizadores Mdulos de captura/comparacin/PWM Mdulos mejorados CCP Mdulo ECAN Comunicacin serie Comunicacin paralelo (PSP) Conversor Analgico-Digital Comparadores DC 40 MHz 128 K 42 K 8K 19 Puertas A,B,C,(E),F,G 4 1 0 1 MSSP USART mejorada No 16 canales de entrada 0 POR, BOR Instruccin de RESET Pila llena Sobrepasamiento de la Pila (PWRT,OST) # MCLR (optional) WDT

Reset y excepciones

Programacin con voltaje bajo Reset programable Brown-out Set de instrucciones Encapsulados

Si Si 76 instrucciones la mayora de 24 bits De 64 a 100 patitas

Principales caractersticas de algunos modelos de PIC de la gama MejoradaMODELO FLASH Bytes y words EEPRO RAM LINEAS Analgico N BYTES E/S ENCAPSULAD ADC COMP. bytes OS CANALES Digital Timers/ WDT COMUN. I/O FREC. MX. OSC. MHz INT. BOR/ PBOR/ PLVD ICD N de Puntos parada CCP/ nW ECCP

PIC18 PIC18F4680 65536EnhFl (82768) 1024

3328

36

4CP,44ML,44PT

11x10BIT 100KSPS

2

3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT

CAN2.CB, MI2 C/SPI, 40 EUSART MI2 C/SPI, EUSART, 40 AUSART MI2 C/SPI, EUSART, 40 AUSART MI2 C/SPI, EUSART, 40 AUSART MI2 C/SPI, EUSART, 40 AUSART 2x AUSART 40 MI2 C/SPI, 2x EUSART 40 MI2 C/SPI, EUSART MI2 C/SPI, 40 CAN2.CB 2x EUSART, 40 MI2 C/SPI, 2x EUSART, 40 MI2 C/SPI,

8MHz PBOR 32KHz /PLVD

3

1/1

SI

PIC18F6310 8192StoFl (4096)

-

768

54

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

3/0

SI

PIC18F6410 16304StoFl (8192) -

768

54

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

3/0

SI

PIC18F6390 8192StoFl (4096)

-

768

50

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

2/0

SI

PIC18F6490 16384StoFl (8192) -

768

50

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

2/0

SI

PIC18F6520 32768EnhFl (16384) 1024 PIC18F6527 49152EnhFl (24576) 1024

2048

52

64PT

12x10BIT 80ksps 12x10BIT 100ksps

2

-

PBOR /PLVD

3

5/0

-

3936

54

64PT

2

8MHz PBOR 32KHz /PLVD

3

2/3

SI

PIC18F6585 491952EnhF l 1024 (24576) PIC18F6822 65536EnhFl (82768) 1024

3328

53

64PT,68L

12x10BIT 80ksps 12x10BIT 100ksps

2

-

PBOR /PLVD

3

1/1

-

3936

54

64PT

2

8MHz PBOR 32KHz /PLVD

3

2/3

SI

PIC18F6827 90304EnhFl (49152) 1024

3936

54

64PT

12x10BIT 100ksps

2

8MHz PBOR 32KHz /PLVD

3

2/3

SI

MODELO

FLASH Bytes y words

EEPRON RAM LINEAS bytes BYTES E/S

Analgico ENCAPSULADOS ADC CANALES

Digital COMP. Timers/ WDT COMUN. I/O

FREC. MX. OSC. MHz INT.

BOR/ PBOR/ PLVD

ICD N de Puntos parada

CCP/ ECCP

nW

PIC18 PIC18F6880 65536EnhFl (82768) 1024 PIC18F6722 131072EnhFl (65536) PIC18F8310 8192StoFl (4096) PIC18F8410 16384StoFl (8192) PIC18F8390 8192StoFl (4096) PIC18F8490 16384StoFl (8192) 3936 53 64PT,68L 12x10BIT 80KSPS 12x10BIT 100ksps 12x10BIT 100ksps 12x10BIT 100ksps 12x10BIT 100ksps 12x10BIT 100ksps 2 3-16BIT 1-8BIT 1-WDT 3-16BIT 2-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 2-8BIT 1-WDT 3-16BIT 1-8BIT 1-WDT 3-16BIT 2-8BIT 1-WDT EUSART MI2 C/SPI, CAN2.CB 2x EUSART, MI2 C/SPI, MI2 C/SPI, EUSART, AUSART MI2 C/SPI, EUSART, AUSART MI2 C/SPI, EUSART, AUSART MI2 C/SPI, EUSART, AUSART 40 PBOR /PLVD 1 1/1 -

768

54

64PT

2

40

8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD 8MHz PBOR 32KHz /PLVD

3

2/3

SI

-

768

70

80PT

2

40

3

3/0

SI

-

768

70

80PT

2

40

3

3/0

SI

-

768

66

80PT

2

40

3

2/0

SI

-

768

66

80PT

2

40

3

2/0

SI

Principales caractersticas de los 13 modelos de microcontroladores PIC de 16 bits de la familia PIC24HModelo patitas FLASH (KB) RAM CANALES DMA Timer 16-bit Mdulo Capt. Mdulo Comp. ADC UART SPITM I2CTM CAN Lneas de E/S

24HJ64GP206

64

64

8

8

9

8

8

1 ADC 18 CAN. 1ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN. ADC 18 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 32 CAN.

2

2

1

0

53

24HJ64GP210

100

64

8

8

9

8

8

2

2

2

0

85

24HJ64GP506

64

64

8

8

9

8

8

2

2

2

1

53

24HJ64GP510

100

64

8

8

9

8

8

2

2

2

1

85

24HJ128GP206

64

128

8

8

9

8

8

2

2

2

0

53

24HJ128GP210

100

128

8

8

9

8

8

2

2

2

0

85

24HJ128GP506

64

128

8

8

9

8

8

2

2

2

1

53

24HJ128GP510

100

128

8

8

9

8

8

2

2

2

1

85

24HJ128GP306

64

128

16

8

9

8

8

2

2

2

0

53

24HJ128GP310

100

128

16

8

9

8

8

2

2

2

0

85

24HJ256GP206

64

256

16

8

9

8

8

2

2

2

0

53

24HJ256GP210

100

256

16

8

9

8

8

2

2

2

0

85

Gama de microcontroladores DSC de 16 bits Controladores Digitales de Seales constan de dos familias dsPIC30F y la dsPIC33F tiene un rendimiento de 30 MIPS cuando se alimentan con voltaje comprendido entre 4.5 y 5.5 V. Incorporan un motor DSP en el camino de datos que les permite realizar las instrucciones que realizan las operaciones matemticas tpicas de los algoritmos usados en el procesamiento digital de seales. Los PIC30F se dividen en tres categoras segn la orientacin practica. Propsito general, con 8 modelos. Control de motores, con 9 modelos. Control de sensores, con 4 modelos.

Relacin de algunos modelos de dsPIC33F destinados al Control de Motores con sus caractersticas .

Modelo

Patitas

Mem. De programa

RAM Bytes

EEPROM Bytes

Timer 16-bit

Mdulo Capt.

Mdulo Comp.

PWM

CAD 10 BITS 500 ksps

QEI

UART

SPITM

I2CTM

CAN

dsPIC30F2010

28

12K/4K

512

1024

3

4

2

6 canales

6 canales

SI

1

1

1

-

dsPIC30F3010

28

24K/8K

1024

1024

5

4

2

6 canales

6 canales

SI

1

1

1

-

dsPIC30F4012

28

48K/16K

2048

1024

5

4

2

6 canales

6 canales

SI

1

1

1

1

dsPIC30F3011

40/44

24K/8K

1024

1024

5

4

4

6 canales

9 canales

SI

2

1

1

-

dsPIC30F4011

40/44

48K/16K

2048

1024

5

4

4

6 canales

9 canales

SI

2

1

1

1

dsPIC30F5015

64

66K/22K

2048

1024

5

4

4

8 canales

16 canales

SI

1

2

1

1

dsPIC30F6010

80

144K/48K

4096

4096

5

8

8

8 canales

16 canales

SI

2

2

1

2

Los dispositivos de la familia dsPIC30F son compatibles con los dsPIC33F. Sin embargo los PIC33F se distinguen por las siguientes cualidades: 1.Se alimentan con 3.3 V aunque las E/S pueden trabajar con niveles TTL. 2.Incorporan un Controlador DMA de 8 canales. 3.Aumentan el nmero de interrupciones y excepciones. 4.Alcanzan un rendimiento de 40 MIPS. 5.Posee un interfaz para CODEC. 6.Hay modelos con 256 KB de memoria FLASH Y 30 KB de RAM.

Tabla con las caractersticas principales de algunos modelos de la familia dsPIC33FModelo patitas FLASH (KB) RAM (Kbyte) Timer 16-bit Mdulo Capt. Mdulo Comp. Convertidor ADC UART SPITM I2CTM CAN Lneas de E/S

33Fj64GP206

64

64

8

9

8

8

1 ADC 18 CAN. 1ADC 18 CAN. 1 ADC 32 CAN 1 ADC 18 CAN. ADC 24 CAN 1 ADC 32 CAN. 1 ADC 18 CAN 1 ADC 18 CAN. 1 ADC 32 CAN 1 ADC 18CAN. 1 ADC 24 CAN

2

2

1

0

53

33Fj64GP306

64

64

16

9

8

8

2

2

2

0

53

33Fj64GP310

100

64

16

9

8

8

2

2

2

0

85

33Fj64GP706

64

64

16

9

8

8

2

2

2

2

53

33Fj64GP708

80

64

16

9

8

8

2

2

2

2

69

33Fj64GP710

100

64

16

9

8

8

2

2

2

2

85

33Fj128GP206

64

128

8

9

8

8

2

2

1

0

53

33Fj128GP306

64

128

16

9

8

8

2

2

2

0

53

33Fj128GP310

100

128

16

9

8

8

2

2

2

0

85

33Fj128GP706

64

128

16

9

8

8

2

2

2

2

53

33Fj128GP708

80

128

16

2

2

2

2

69

33Fj128GP710

100

128

16

9

8

8

1 ADC 32 CAN. 1 ADC 32 CAN. 1 ADC 32 CAN 1 ADC 32 CAN.

2

2

2

2

85

33Fj256GP506

64

256

16

9

8

8

2

2

2

1

53

33Fj256GP510

100

256

16

9

8

8

2

2

2

1

85

33Fj256GP710

100

256

30

9

8

8

2

2

2

2

85

Diagrama de bloque de la estructura interna de los PIC33F .FLAHS 64-256 KBBUS DE MEMORIA B U S ALU-16 bit Banco de registros 16 x 16 Generacin de direcciones Registro de Desplazamiento Acumuladores A y B P E R I F E R I C O CAD, CAD,

RAM 8 -30 KB

DMATemporizador de 16bits Watchdog12 bits, 16 canales 12 bits, 16 canales

UART (2) I2CTM SPITM CAN(1-2) CODEC I/F Control de Motores

Multiplicador 17 x 17 JTAG y Emul. Interfaz MOTOR DSP

PRIGRAMAR PIC ES FACIL Enunciado Comenzaremos con el PIC16F84, el programa debe mostrar cuando el valor lgico que introducimos ambos interruptores es cero, para ello si los dos interruptores introducen por la puerta A nivel lgico 0, los leds de la puerta B deben encenderse, y en los dems casos permanecer apagados. Esquema elctrico

R110k

R510k

C1 U122 pF

SW2SW-SPST

X1

16 15

C222 pF

CRYSTAL 4

OSC1/CLKIN OSC2/CLKOUT MCLR

RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7

17 18 1 2 3 6 7 8 9 10 11 12 13

SW1SW-SPST

R210k

D1DIODE

PIC16F84A

R4330

R3330

RESET

Organigrama del ejercicio

INICIALIZACION PA ENTRADA PB SALIDA

RA1 Y RA2 =0?

APAGAR LEDs

ENCENDER LEDs

PROGRAMA 1.Tanto las directivas como las etiquetas se escribirn con maysculas as como las instrucciones escritas en minsculas. 2.Las instrucciones debern tabularse con respecto a las etiquetas 3.Se pondrn comentarios que aclaren el contenido de instrucciones y rutinas.LIST RADIX INCLUDE ORG registros internos en goto ORG INICIO bsf clrf movwf bcf clrf clrf movf btfss goto goto APAGAR ENCENDER clrf movlw goto movwf goto END PORTB 0xFF HEX P16F84.INC 0x00 INICIO 0x05 STATUS.RP0 TRISB b00000110 STATUS,RP0 PORTB PORTA PORTA.W STATUS.Z APAGAR ENCENDER BUCLE PORTB BUCLE P=16F84 ;procesador ;sistema de numeracin ;hexadecimal ;se incluye la definicin de ;una librera ;inicio en el vector de ;Reset :va a la primera instruccin ;del programa ;salta el vector de ;Interrupcin ;cambio al banco 1 ;puerta B como salida ;RA1-RA2 entradas ;los ;Se indica el tipo de

;cambio a banco 0 ;borrado de leds :borrado de lnea no :utilizadas de puerta A ;puerta A -W ;comprobacin de Z=1 ;si RA1-RA2 no son 0 ;si RA1-RA2 son o ;se apagan los leds ;para volver a comprobar ;fin del programa

Utilizacin del ensamblador MPASM

Grabacin y prueba del un programa en el Micro PIC Trainer Este sistema esta ideado para grabar en el microcontroladores el programa, una vez ensamblado y convertido en formato HEX, y probar posteriormente dicho programa utilizando los perifricos de que dispone.

Disear con PIC es fcil Vamos a presentar dos sensores que aunque muy utilizados en diversos aparatos que manejamos a diario, no eran soportados directamente por el PICF84. los nuevos PIC F87x, al disponer de Conversor A/D, pueden usarlos cmodamente. El sensor de luminosidad : LDR Es un elemento cuya resistencia entre bornes vara en funcin de la luz que incide sobre su superficie, es un elemento sin polaridad. El sensor de temperatura estndar: LM35 Su tensin de salida es proporcional a la temperatura en una proporcin de 10mV/C. Su rango de funcionamiento esta comprendido entre 0 C y 100 C Su tensin de funcionamiento Vs esta entre +4 VDC Y+30 VDC. Su precisin es de 0.9 C

ASPECTO UN LDR

Y UN CIRCUITO PRACTICO DE

Tabla de valores LM35SENSOR LM335A PRC100 RANGO -40C_100C -40C_150C INCREMENTO 0.10 mV/C 0 C_100W 100 C_138.5W Precisin debido a su comportamiento lineal resistente Reducido tamao y rpida respuesta En circuitos de aviso. Proteccin contra sobretensiones y sobrecorrientes PROPIEDADES

PT100 PTC(Coeficiente de Temperatura positivo)

-50C_500C Diferentes

100W_0 C Baja resistencia a baja temperatura y aumenta rpidamente al superar la temperatura de referencia

NTC(Coeficiente de Temperatura Negativo)

diferentes

Alta resistencia a baja temperatura y al contrario

Buena fiabilidad a bajo costo. Muy empleados en electrodomsticos Altas temperaturas. Elevada vida til Espacios reducidos

Termopar tipo N

-50C_400C

La patita +Vs debe conectar ala tensin positiva comprendida entre +4V y +30 V. GND ser conectada a 0V y Vout se conectara ala lnea correspondiente del PIC. Ha este llegar un voltaje proporcional a la temperatura captada, que ser convertida en un valor binario para su posterior tratamiento

BIBLIOGRAFIAMICROCONTROLADORES PIC. Diseo practico de aplicaciones SEGUNDA PARTE: PIC 16F87X,PIC 18FXXXX.Segunda Edicin. Segundo Angulo, Susana Romero, Mc Graw Hill. Espaa