Download 2 - Overview Microcontroladores Microchip

Document related concepts
no text concepts found
Transcript
El microcontrolador PIC de
Microchip
Taller de Microcontroladores
año 2012
Optativa de grado y
Curso de Posgrado
Organización de los PIC
Características generales 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:
2
Organización de los PIC
Características específicas 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.
3
Clasificación de los PIC
Pic32
32
Pic
dsPic33
33
dsPic
its
b
dsPic30
30
32
dsPic
Pic24H
24H
Pic
Pic24F
24F
its
Pic
b
16
Pic18
18
Pic
Pic16
16
Pic
Pic12
12
Pic
Pic10
10
Pic
its
b
8
Mayor rendimiento y funcionalidad
4
Arquitecturas de PIC´s de 8 bits
Baseline Architecture
Midrange Architecture
Enhanced Midrange
Architecture
PIC18 Architecture
Pin count
6 – 40
8 – 64
8 – 64
18 – 100
Interrupts
No
Single Interrupt Capability
Single Interrupt Capability with
Hardware Context Save
Multiple Interrupt Capability with
Hardware Context Save
Operating
Performance
5 MIPS
5 MIPS
8 MIPS
10 – 16 MIPS
Instructions
33, 12-bit instructions
35, 14-bit instructions
49, 14-bit instructions
75 - 83, 16-bit instructions
Up to 3 KB
Up to 14 KB
Up to 56 KB
Up to 128 KB
Up to 138 Bytes
Up to 368 Bytes
Up to 4 KB
Up to 4 KB
Program Memory
Data Memory
Features
● Smallest form factor
● Lowest cost
● Ideal for battery operated
or space constrained
applications
● Easy to learn & use
● Optimal cost-to-performance
ratio
● Integrated peripherals
including SPI, I2C™, UART,
LCD, ADC
● C-code Optimized
● Enhanced 16 Level
Hardware Stack
● Enhanced Indirect
Addressing
● Reduced Interrupt Latency
● Simplified Memory Map
● 32 level deep stack, 8x8
hardware multiplier
● C-code optimized
● Advanced peripherals
including CAN, USB, Ethernet,
touch sensing, and LCD drivers
Families
Includes PIC10, PIC12 and
PIC16
Includes PIC12 and PIC16
Includes PIC12F1xxx &
PIC16F1xxx
PIC18 J-series for costsensitive applications with high
levels of integration
5
PIC18 K-series for low power,
high-performance applications
Arquitecturas de PIC´s de 8 bits
• Bus de datos de 8 bits
• Bus de direcciones de 12, 14 o 16 bits
según el rango de arquitectura
6
Arquitecturas de PIC´s de 16 bits
Características generales de los PIC 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
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.
7
Arquitecturas de PIC´s de 32 bits
Características generales de los PIC 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
8
En resumen…
1.
2.
3.
4.
5.
6.
7.
8.
9.
Arquitectura según modelo Hardvard
Microcontrolador de arquitectura cerrada.
Ejecución segmentada de instrucciones (fetching y ejecución)
Formato de instrucciones de igual longitud: 12 bits en gama baja, 14 en
media y mas en alta.
Núcleo RISC con 33 instrucciones en gama baja, 35 en media y 60 en alta.
Arquitectura basada en bancos de registros (todos los objetos del sistema,
E/S, temporizadores, memoria, etc, implementados físicamente como
registros).
Diversidad de modelos con prestaciones diferentes
Herramientas de soporte potentes y económicas (programadores,
simuladores, emuladores, compiladores, interpretes, etc.).
Arquitectura ortogonal: cualquier instrucción puede utilizar cualquier
elemento de la arquitectura como fuente o destino.
9
Arquitectura ortogonal del PIC
10
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
11
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 o
entrada de reloj para TMR0
• RB0/INT: Línea de entrada/salida del puerto B o
Petición de interrupción externa
• RB1-RB7: Líneas de entrada/salida del puerto B
12
Arquitectura del PIC16F84A
13
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.
14
Memoria ROM de instrucciones
Reset Vector
RETURNs
….
Peripheral interrupt vector
Stack level 1
000h
004h
User Memory Space
CALLs
PC <12:0>
•
•
•
Stack level 8
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ó.
03FFh
1FFFh
15
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
16