El microcontrolador PIC de Microchip - UNICEN

16
El microcontrolador PIC de Microchip Taller de Microcontroladores año 2012 Optativa de grado y Curso de Posgrado

Transcript of El microcontrolador PIC de Microchip - UNICEN

Page 1: El microcontrolador PIC de Microchip - UNICEN

El microcontrolador PIC de

Microchip

Taller de Microcontroladores

año 2012

Optativa de grado y

Curso de Posgrado

Page 2: El microcontrolador PIC de Microchip - UNICEN

2

Organización de los PIC

Fabricados con tecnología CMOS. Aunque los dispositivos CMOS son más lentos que los TTL, son ideales para los µC porque requieren de menor consumo de energía. Es posible implementar sistemas que solo se alimenten de baterías corrientes. La tecnología CMOS también ocupa mucho menor espacio en el chip.

Memorias de programa (FLASH, OTP o ROM), memoria de datos estática (SRAM) y memoria EEPROM internas.

Puertos de E/S bidireccionales configurables independientemente pin por pin. Suministro de alta corriente en los puertos de E/S.

Timer’s. Temporizadores de alta precisión o contadores de pulsos externos.

WatchDog. Monitoriza que el PIC funcione adecuadamente a lo que se esperaba y no se cuelgue.

ICSP (In Circuit Serial Programming). Permite realizar la programación del PIC utilizando una interfase serial con muy pocos pines.

Bits de Configuración. A veces llamados fuses, permiten establecer un determinado modo de funcionamiento del PIC, como el tipo de oscilador que utilizará o si el código grabado podrá o no ser leído después de la programación. Otros recursos, más avanzados, son específicos a cada familia de PICs y pueden ser:

Características generales de los PIC

Page 3: El microcontrolador PIC de Microchip - UNICEN

3

Organización de los PIC

Módulos PWM. Generadores de ondas PWM (Pulse Width Modulation). Son particularmente útiles para controlar la velocidad de los motores DC.

Convesores Análogico-Digital, ADC. Para recibir señales del mundo analógico.

Puerto Serial Síncrono, MSSP. Para la comunicación con dispositivos que utilizan los buses I2C o SPI.

Puerto Paralelo Esclavo, SPP. Por ejemplo, para conectarse directamente con el puerto paralelo del PC.

USART, Transmisor Receptor Síncrono Asíncrono Universal. Para comunicarse mediante los protocolos RS232 con cualquier dispositivo que también lo soporte. Por ejemplo, podemos conectar nuestro PIC al puerto serie del PC o a cualquier otro µC con USART.

Módulo Comparador Analógico. puede ahorrar un OP-AMP y algo más.

Módulo CAN. Para facilitarle al PIC su conexión en una red LAN.

Módulo USB. Casi todos los dispositivos digitales modernos presentan interfase USB.

Características específicas de los PIC

Page 4: El microcontrolador PIC de Microchip - UNICEN

4

Clasificación de los PIC

Pic 10Pic 10

Pic 12Pic 12

Pic 16Pic 16

Pic 18Pic 18

Pic 24FPic 24F

Pic 24HPic 24H

dsPic 30dsPic 30

dsPic 33dsPic 33

Pic 32Pic 32

8 bits

16 bits

32 bits

Mayor rendimiento y funcionalidad

Page 5: El microcontrolador PIC de Microchip - UNICEN

5

Arquitecturas de PIC´s de 8 bits

PIC18 J-series for cost-sensitive applications with highlevels of integration

PIC18 K-series for low power, high-performance applications

Includes PIC12F1xxx & PIC16F1xxx

Includes PIC12 and PIC16Includes PIC10, PIC12 andPIC16

Families

● 32 level deep stack, 8x8 hardware multiplier● C-code optimized● Advanced peripheralsincluding CAN, USB, Ethernet, touch sensing, and LCD drivers

● C-code Optimized● Enhanced 16 LevelHardware Stack● Enhanced IndirectAddressing● Reduced Interrupt Latency● Simplified Memory Map

● Optimal cost-to-performance ratio● Integrated peripheralsincluding SPI, I2C™, UART, LCD, ADC

● Smallest form factor ● Lowest cost● Ideal for battery operatedor space constrainedapplications● Easy to learn & use

Features

Up to 4 KBUp to 4 KBUp to 368 BytesUp to 138 BytesData Memory

Up to 128 KBUp to 56 KBUp to 14 KBUp to 3 KBProgram Memory

75 - 83, 16-bit instructions49, 14-bit instructions35, 14-bit instructions33, 12-bit instructionsInstructions

10 – 16 MIPS8 MIPS5 MIPS5 MIPSOperatingPerformance

Multiple Interrupt Capability withHardware Context Save

Single Interrupt Capability withHardware Context Save

Single Interrupt CapabilityNoInterrupts

18 – 1008 – 648 – 646 – 40Pin count

PIC18 ArchitectureEnhanced MidrangeArchitecture

Midrange ArchitectureBaseline Architecture

Page 6: El microcontrolador PIC de Microchip - UNICEN

6

Arquitecturas de PIC´s de 8 bits

• Bus de datos de 8 bits

• Bus de direcciones de 12, 14 o 16 bitssegún el rango de arquitectura

Page 7: El microcontrolador PIC de Microchip - UNICEN

7

Arquitecturas de PIC´s de 16 bits

• Reloj de tiempo real y calendario• Chequeo de redundancia cíclica• USB• Convertidores A/D de 10 y 10/12 bit• Comparadores • Conversores D/A de 10 bit y 16 bit• Acceso Directo a Memoria (DMA)• Parallel Master Port

• Code Guard Security

• Peripheral Pin Select

Características generales de los PIC de 16 bits

Peripheral Pin Select (PPS) es una nueva característica de los microcontroladores de Microchip, que permite multiplexar muchos de los periféricos digitales a distintos pines del chip. El multiplexado permite efectivamente elegir que periférico se asigna a cual pin del chip, facilitando el desarrollo de las placas de circuito y evitando el cruce de pistas, además disminuir los efectos de las capacitancias parásitas.

Page 8: El microcontrolador PIC de Microchip - UNICEN

8

Arquitecturas de PIC´s de 32 bits

• CPU de 80 MHz, 1.56 DMIPS/MHz• Hw de multiplicación y división de un solo

ciclo de reloj• Cache de pre-fetching de 256 bytes flash • Cambio rápido de contexto y respuesta de

interrupciones• Controlador DMA de ocho canales• Periféricos especiales con canales DMA dedicados• Capacidad de manipulación individual de bits• 10/100 Ethernet, CAN2.0b, USB host/device/OTG • Controlador de interrupciones anidadas • 10-bit ADC, 1Msps, and +/-1 LSB• Puerto maestro de 16 bits para soporte de

QVGA y memoria • POR, BOR, LVD, Pull-ups• tensión desde 2.3 a 3.6 v, tolerancia de I/O: 5v

Características generales de los PIC de 32 bits

Page 9: El microcontrolador PIC de Microchip - UNICEN

9

En resumen…

1. Arquitectura según modelo Hardvard2. Microcontrolador de arquitectura cerrada.3. Ejecución segmentada de instrucciones (fetching y ejecución)4. Formato de instrucciones de igual longitud: 12 bits en gama baja, 14 en

media y mas en alta.5. Núcleo RISC con 33 instrucciones en gama baja, 35 en media y 60 en alta.6. Arquitectura basada en bancos de registros (todos los objetos del sistema,

E/S, temporizadores, memoria, etc, implementados físicamente como registros).

7. Diversidad de modelos con prestaciones diferentes8. Herramientas de soporte potentes y económicas (programadores,

simuladores, emuladores, compiladores, interpretes, etc.).9. Arquitectura ortogonal: cualquier instrucción puede utilizar cualquier

elemento de la arquitectura como fuente o destino.

Page 10: El microcontrolador PIC de Microchip - UNICEN

10

Arquitectura ortogonal del PIC

Page 11: El microcontrolador PIC de Microchip - UNICEN

11

Arquitectura de la serie 16Fxx

El más representativo, difundido y utilizado es el 16F84A

Características:

� Opera a una frecuencia máxima de 10 MHz

� 1Kbyte de memoria EEPROM de programa

� 68 palabras (de 8 bits) de memoria RAM

� 64 bytes de memoria EEPROM para datos (no volátiles)

� 35 instrucciones RISC

� 13 pines de entrada/salida (un puerto de 8 bits + otro de 5 bits)

� Timer/contador de 8 bits

Page 12: El microcontrolador PIC de Microchip - UNICEN

12

Pinout del PIC16F84A• OSC1/CLKIN: Entrada de reloj o conexión con el cristal

de cuarzo

• OSC2/CLKOUT: Salida de Fosc/4 en modo oscilador R-C o conexión con el cristal de cuarzo

• VPP/MCCLR·: En modo grabación tensión VPP (12-14 v)En funcionamiento normal, petición de Reset

• RA0-RA3: Líneas de entrada/salida del puerto A

• RA4/TOCK1: Línea de entrada/salida del puerto A oentrada de reloj para TMR0

• RB0/INT: Línea de entrada/salida del puerto B oPetición de interrupción externa

• RB1-RB7: Líneas de entrada/salida del puerto B

Page 13: El microcontrolador PIC de Microchip - UNICEN

13

Arquitectura del PIC16F84A

Page 14: El microcontrolador PIC de Microchip - UNICEN

14

Características generales

• Memoria de programa EEPROM de 1Kx14bits

• Memoria de datos dividida en 2 áreas

•Área RAM de 22 registros de propósito específico (SFR) y 32 de propósito general (16C84) ó68 en el caso del 16F84

•Área EEPROM formada por 64 bytes

• ALU de 8 bits y registro de trabajo W en configuración ortogonal.

• El segundo operando de la ALU puede ser cualquier registro, memoria, puerto o el propio código de instrucción.

• Recursos conectables al bus de datos: Puerto A, Puerto B, Temporizador, TMR0, etc.

Page 15: El microcontrolador PIC de Microchip - UNICEN

15

Memoria ROM de instrucciones

PC <12:0>Stack level 1

Stack level 8

•••

Reset Vector

….Peripheral interrupt vector

000h

004h

03FFh

1FFFh

User

Mem

ory

Space

Reset vector: Tras un reset la primera instrucción a ejecutar es la de dirección 0000h.

Interrupt vector: una única entrada de interrupción. A continuación se debe verificar cual de las líneas la generó.

CALLs

RETURNs

Page 16: El microcontrolador PIC de Microchip - UNICEN

16

Memoria RAM de datos

• Consta de 2 bancos de 128 bytes cada uno

• El PIC16F84A sólo tiene implementadas las primeras 80 direcciones de cada banco

• En las 12 primeras posiciones se ubican los registros de propósito específico (SFR)

• En las 68 posiciones siguientes están los registros de propósito general (GPR)

• Los 80 registros de propósito general del banco 1 se mapean sobre el banco 0, dejando reducidos a 68 los registros operativos