1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

27
1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2

Transcript of 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

Page 1: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

1

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

DTO. INGENIERIA ELECTRÓNICA

TEM

A

2

Page 2: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

2

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Los 'PIC' son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por General Instruments. En realidad, el nombre completo es PICmicro, generalmente se utiliza como Peripheral Interface Controller (Controlador de Interfaz Periférico).

• El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP1600. Siendo en general una buena CPU, tenía malas prestaciones de E/S, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.

• En 1985, dicha división de microelectrónica de General Instruments se convirtió en una filial y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluidos (módulos de comunicación serie, UARTS, núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en ensamblador, y puede ser 12, 14 o 16 bits, dependiendo de la familia específica de PICmicro).

WIKIPEDIA

Page 3: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

3

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC: Ventajas

– Eficiencia del código: permiten una gran compactación de los programas.

– Rapidez de ejecución: a frecuencia de 20MHz -> 5 millones de instr./seg.

– Seguridad en acceso por la separación de memoria de datos y de programa.

– Juego reducido de instrucciones y de fácil aprendizaje.

– Compatibilidad de pines y código entre dispositivos de la misma familia o

incluso de familias distintas.

– Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84

pines) sin reducción de las prestaciones internas (muy versátiles).

– Posibilidad de protección del código muy fiable.

– Herramientas de desarrollo software y hardware abundantes y de bajo coste.

Page 4: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

4

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Arquitectura Harvard: buses internos separados para memoria de

datos(8 bits) y de programa (12, 14 ó 16 bits depende de la familia).

DataMemoryData

Memory C P U C P U

816

ProgramMemory

ProgramMemory

12141624

X12=PIC10F2XX, PIC12F5XX,PIC16F5XXX14=PIC12FXXX,PIC16FXXXX16=PIC18FXXXX24=dsPIC30F

Page 5: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

5

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

• Alta velocidad de aplicación con bajo consumo.

• Cada ciclo de instrucción dura ¼ de la frecuencia de reloj de entrada

• RISC simple ciclo: 1000 ns @ 4 MHz (1 MIPS)200 ns @ 20 MHz (5 MIPS)120 ns @ 33 Mhz (8.3 MIPS)

100 ns @ 40 Mhz (10 MIPS)*MIPS: Millones de instrucciones por segundo

Page 6: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

6

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Microprocesador RISC, juego de instrucciones muy corto (33/35/58/76).

• Single word y Ortogonal.

• Fáciles de aprender.

• Todas las instrucciones ocupan una posición de memoria de programa.

– Instrucciones potentes (ancho de palabra 12 / 14 / 16 bit).• Código altamente eficiente. • La arquitectura Harvard permite instrucciones de single-word/single-cycle.Ejemplo: MOVE immediate, Acc

PIC16C5X: MOVLW #imm<8>1 word / 1 ciclo máquina

CISC XX: #imm<8>

2 bytes / 2 ciclos de búsqueda y ejecución

1100 imm<8>

op code

imm<8>MOVE

Page 7: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

7

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Estructura pipe-line: durante la ejecución de una instrucción, se está accediendo a la memoria de programa para traer la siguiente instrucción a ejecutar. En cuanto se acaba una instrucción, ya se dispone de la siguiente para ejecutar (salvo que se trate de un salto o llamada a subrutina que ocupan 2 ciclos).

P1 MOVF REGX,W R1 ADDWF PCL,FP2 CALL R1 R2 RETLW 0xB7 P3 MOVWF PORTB R3 RETLW 0x5AP4 . . . R4 . . . Rn RETLW 0xFF

T1 Fetch P1T2 Exec P1 Fetch P2T3 Exec P2 Fetch P3T4 Exec NOP...Fetch R1T5 Exec R1 Fetch R2T6 Exec NOP...Fetch RnT7 Exec Rn Fetch RmT8 Exec NOP...Fetch P3 T9 Exec P3 ...

Page 8: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

8

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Ortogonalidad de los registros: se opera entre el registro de trabajo W y cualquier otro registro, el resultado puede almacenarse en el citado registro o en W.

General PurposeGeneral PurposeRegisters (RAM)Registers (RAM)

Other SFRsOther SFRsPORTAPORTA

FSRFSRSTATUSSTATUS

PCLPCLTMR0TMR0INDFINDF

W RegisterW Register

ALUALU

DataDataMemoryMemory

Page 9: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

9

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Amplio rango de módulos internos.

• Puertos de Entrada/Salida.

• Puerto Esclavo Paralelo (PSP).

• Temporizadores/contadores de 8/16 bits (TMR).

• Captura / Comparación / PWM (CCP).

• Comparadores Analógicos.

• Conversión Analógica / Digital (A/D).

• Transmisor Receptor Asíncrono Síncrono Universal (USART ó SCI).

• Puerto Serie Síncrono Básico ó Maestro(BSSP ó MSSP).

• Memoria EEPROM de datos.

• FLASH EEPROM de programa modificable desde el código.

• Soporte para CAN, LIN, Irda

• Soporte para controlador Ethernet.

• Controladores LCD.

DisplayDrivers

D / AA / D

FLASH

USARTSPII2C

CAPCOMPPWM

EEPROM

PowerDrivers

Page 10: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

10

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Amplio rango de periféricos externos.

Page 11: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

11

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familia PIC.

32 Bits

16 BitsdsPIC30F

8 BitsPIC18FXXX

PIC12F6XX,PIC16FXXPIC12F4XX,PIC16F5XX

PIC10F2XX

4 Bits

Base-line

Mid-range

Enhanced

Page 12: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

12

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Migración en la Familia PIC.

Page 13: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

13

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familia 8 pin

– Familia 20 pin

Page 14: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

14

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familia 18 pin

– Familia 28 pin

Page 15: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

15

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familia 40 pin

Page 16: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

16

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

• Microprocesador PIC

– Encapsulados/nomenclatura

Page 17: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

17

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

• Microprocesador PIC

– Encapsulados/nomenclatura

Page 18: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

18

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familias en la web de MICROCHIP

Page 19: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

19

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familias en la web de MICROCHIP (hojas de datos)

Page 20: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

20

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familias en la web de MICROCHIP (búsqueda paramétrica)

Page 21: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

21

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC

– Familias en la web de MICROCHIP

• En esta web también se pueden encontrar los DATA SHEET de los distintos microcontroladores (y otros dispositivos de MICROCHIP) así como NOTAS DE APLICACIÓN (divididas por dispositivo o por aplicación).

Page 22: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

22

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

• Microprocesador PIC:

dsPIC

Page 23: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

23

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC: Facilidad de desarrollo

– El desarrollo software parte del diseño del programa y escritura del código fuente en ensamblador (MPASM) o lenguaje de alto nivel (C Compilers).

– A continuación se prueba, verifica y modifica mediante:

• Simulación del programa -puro software- (MPLAB SIM).

• Emulación dentro del circuito de aplicación -software y hardware- (MPLAB-ICE y MPLAB-ICD).

– Grabación del código máquina en la memoria del micro (PICSTART-

PLUS y PROMATE-II).

Page 24: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

24

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC: Facilidad de desarrollo

Page 25: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

25

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC: Facilidad de desarrollo

Page 26: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

26

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC: Facilidad de desarrollo

– Existen decenas de productos de otros fabricantes.

• Compiladores:– CCS PIC C: Compilador de C.– HI-TECH PIC C: Compilador de C.– Proton IDE: Compilador de BASIC.– MikroBASIC: Compilador de BASIC.

• Simuladores:– Proteus ISIS (LabCenter)

• Emuladores:–ICEPIC (RF Solutions)

• Programadores:– Existen multitud de programadores (oficiales y “no oficiales”).

• Tarjetas de evaluación:– Existen, también, multitud de fabricantes que ofrecen tarjetas de evaluación (incluido, por supuesto MICROCHIP).

Page 27: 1 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC DTO. INGENIERIA ELECTRÓNICA TEMA 2.

27

INTRODUCCIÓN A LOS MICROCONTROLADORES PIC• Microprocesador PIC: Programación

– Un elemento importante en el desarrollo con micros es la grabación del código. Lo ideal es contar con un grabador de algún fabricante que permita la grabación de la mayoría de los micros del mercado. Esta opción es normalmente cara y puede ser necesario el desarrollo de un programador propio.

– La mayoría de PICs que Microchip distribuye hoy en día incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino.

– Existe un rango de PICs que permiten cargar un programa residente o BOOTLOADER en una parte de la memoria de programa y que permite la reprogramación del PIC utilizando su puerto serie.