unidad 1: arquitectura interna del microcontrolador · 2019. 3. 28. · picpic10:...

39
Unidad 1: Arquitectura interna del Microcontrolador Ing. Raúl Alberto Rojas Reátegui

Upload: others

Post on 01-Jan-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

Unidad 1: Arquitectura interna del Microcontrolador

Ing. Raúl Alberto Rojas Reátegui

Page 2: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

Capitulo 2: Arquitectura del Microcontrolador PIC18F4550

Ing. Raúl Alberto Rojas Reátegui

Page 3: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

4© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Comprende los principios fundamentales de la arquitectura de los

microcontroladores de 8 bits, PIC 18F4550.

Logro del capitulo

Page 4: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

5© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Microcontrolador PIC18F4550

Page 5: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

6© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Familias de microcontroladores

PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas

prestaciones

PIC12: microcontroladores de 8 bits, de bajo coste, de 8 pines y bajas

prestaciones.

Características Básicas

Page 6: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

7© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

PIC16: microcontroladores de 8 bits, con gran variedad de número de pines

y prestaciones medias.

PIC18: microcontroladores de 8 bits, con gran variedad de número de pines

y prestaciones medias/altas.

PIC24: microcontroladores de 16 bits dsPIC’s

Page 7: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

8© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Memoria de programa y de datos separadas, con buses distintos

Mayor ancho de banda que en la arquitectura Von Neuman donde el bus

para datos e instrucciones es único.

Gracias a un bus exclusivo para la memoria de programa se optimizan las

instrucciones a la arquitectura.

Todos los códigos de operación son de 14 bits, con un único acceso a

memoria para cada instrucción, frente a la estructura multi-byte de algunas

instrucciones en arquitectura Von Neuman.

PIC de gama básica (16C5XX):

Page 8: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

9© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Código de protección

El contenido de la memoria de programase puede proteger contra lectura.

Existen posiciones de memoria reservadas para incluir números de serie o

códigos de identificación.

Power-on Reset (POR)

Autoreset al conectarles la alimentación.

Lógica Brown-out (BOR)

Características Especiales

Page 9: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

10© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Reset del µC si la alimentación desciende por debajo de un determinado

valor.

Watchdog Timer (perro guardián)

Temporizador que resetea la MCU si no se actualiza en un tiempo

determinado. Evita ‘cuelgues’.

Modo de bajo consumo

Mediante la instrucción SLEEP se para el funcionamiento de la CPU

reduciendo drásticamente el consumo.

Page 10: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

11© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Oscilador RC interno.

In-Circuit Serial Programming (ICSP)

Posibilidad de programación del circuito en la aplicación final utilizando un

protocolo serie sobre dos líneas de E/S del µC.

Page 11: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

12© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 12: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

13© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Datos de 8 bits.

Instrucciones de 16 bits.

77 instrucciones (multiplicación de 8x8 en un ciclo).

Alta velocidad (hasta 40 MHz) y alto rendimiento (10 MIPS)

Arquitectura orientada al lenguaje C.

Potentes herramientas de emulación.

PIC de gama mejorada (18C(F)XXX):

Page 13: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

14© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 14: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

15© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Ejecución segmentada:

Pipeline de dos estados: solapamiento de la fase de búsqueda y

ejecución de la instrucción.

Mientras de ejecuta una instrucción se busca el código de operación de la

siguiente.

Ortogonalidad

Las instrucciones pueden realizar cualquier operación sobre cualquier

registro, usando cualquier modo de direccionamiento

Page 15: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

16© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Juego de instrucciones reducido:

35 instrucciones que se ejecutan en un solo ciclo, salvo las de salto.

Arquitectura en banco de registros:

Todos los registros especiales incluido el contador de programa, los

puertos, temporizadores, etc. están mapeados en memoria.

A los registros/memoria se puede acceder con direccionamiento directo o

indirecto

Page 16: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

17© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Arquitecturas Microcontrolador

PIC18F4550

Page 17: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

18© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Componentes internos

Page 18: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

19© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Distribución de pines

Page 19: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

20© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Diagrama de bloques

Page 20: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

21© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Organización de la memoria

Memoria de programa:

Memoria flash interna de 32.768 bytes

Almacena instrucciones y constantes/datos

Puede ser escrita/leída mediante un programador externo o

durante la ejecución del programa mediante unos punteros.

Memoria RAM de datos:

Memoria SRAM interna de 2048 bytes en la que están incluidos los

registros de función especial.

Almacena datos de forma temporal durante la ejecución del

programa

Puede ser escrita/leída en tiempo de ejecución mediante diversas

instrucciones

Page 21: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

22© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Memoria EEPROM de datos:

Memoria no volátil de 256 bytes.

Almacena datos que se deben conservar aun en ausencia de tensión

de alimentación

Puede ser escrita/leída en tiempo de ejecución a través de registros

Pila:

Bloque de 31 palabras de 21 bits

Almacena la dirección de la instrucción que debe ser ejecutada

después de una interrupción o subrutina

Memoria de configuración:

memoria en la que se incluyen los bits de configuración (12 bytes de

memoria flash) y los registros de identificación (2 bytes de memoria

de solo lectura).

Page 22: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

23© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 23: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

24© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

- EEPGD: Bit de selección de acceso a memoria Flash/EERPOM:

EEPGD=‘0’: Acceso a memoria de datos EEPROM

EEPGD=‘1’: Acceso a memoria Flash de programa

– CFGS: Bit de selección de acceso a memoria (Flash programa-EEPROM datos)/Configuración:

CFGS=‘0’: Acceso a memoria de Flash de programa o a memoria de datos EEPROM

CFGS=‘1’: Acceso a los registros de configuración de la memoria Flash

– FREE: Bit de habilitación del borrado de una fila en memoria Flash:

REE=‘0’: Activada únicamente la opción de lectura

FREE=‘1’: Borrado de la fila de la memoria Flash de programa apuntada por TBLPTR en el

siguiente comando de escritura (el bit se pondrá a ‘0’ cuando la operación de borrado se

haya completado)

Page 24: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

25© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

– WRERR: Bit de error de escritura en memoria Flash/EEPROM:

WRERR=‘0’: La operación de escritura en la memoria Flash/EEPROM se ha llevado a cabocorrectamente

WRERR=‘1’: Se ha producido un error en la operación de escritura en la memoria Flash/EEPROM

– WREN: Bit de habilitación de la operación de escritura en memoria Flash/EEPROM:

WREN=‘0’: Operación de escritura en la memoria Flash/EEPROM deshabilitada

WREN=‘1’: Operación de escritura en la memoria Flash/EEPROM habilitada

Page 25: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

26© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

– RD: Bit de control de lectura en memoria EEPROM:

RD=‘0’: La operación de lectura en la memoria EEPROM se ha completado

RD=‘1’: Inicio de una operación de lectura en memoria EEPROM (cuando la operación termina

el bit se pone automáticamente a ‘0’; por programa solo puede ponerse a ‘1’)

Page 26: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

27© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

REGISTROS DE FUNCION ESPECIAL:

La memoria RAM de datos se compone de registros de propósito general (GPR) y de registros de función

especial (SFR). Los SFR son los registros mediante los cuales se pueden monitorizar/controlar el

funcionamiento de la CPU y de las unidades funcionales del uC.

SFR’s asociados con el núcleo del uC

CPU: WREG, STATUS, BSR, etc...

Interrupciones: INTCON, PIE1, PIR1, IPR1, etc...

Reset: RCON

SFR’s asociados con las unidades funcionales:

Timers: T0CON, TMR1H, TMR1L, T1CON, etc...

Convertidor A/D: ADRESH,ADRESL, ADCON0, ADCON1, etc...

EUSART: TXREG, TXSTA, RCSTA, etc...

CCP: CCPR1H, CCPR1L, CCP1CON, etc...

MSSP: SSPSTAT, SSPDATA, SSPCFG, etc...

Puertos de E/S: TRISA, PORTA, TRISB, PORTB, etc...

Page 27: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

28© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

REGISTRO STATUS

– N: Bit de de valor negativo. Bit utilizado para operaciones con signo (complemento a 2):

N=‘0’: Resultado de la última operación positivo (MSB a ‘0’)

N=‘1’: Resultado de la última operación negativo (MSB a ‘1’)

– OV: Bit de desbordamiento. Bit utilizado para operaciones con signo (complemento a 2).

Indica si se ha producido desbordamiento del 7º bit (bit 6), es decir si se ha producido algún

cambio en el bit 7 del resultado:

OV=‘0’: No se ha producido desbordamiento en la operación aritmética

OV=‘1’: Se ha producido desbordamiento en la operación aritmética

– Z: Bit de cero:

Z=‘0’: El resultado de la operación aritmética o lógica ha sido diferente de 0

Z=‘1’: El resultado de la operación aritmética o lógica ha sido 0

Page 28: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

29© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

– DC: Bit de acarreo de dígito (para las instrucciones ADDWF, ADDLW, SUBLW y SUBWF):

DC=‘0’: No se ha producido acarreo del 4º bit

DC=‘1’: Se ha producido acarreo del 4º bit

– C: Bit de acarreo (para las instrucciones ADDWF, ADDLW, SUBLW y SUBWF):

DC=‘0’: No se ha producido acarreo del 8º bit

DC=‘1’: Se ha producido acarreo del 8º bit

Page 29: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

30© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

PUERTOS DE E/S

El uC PIC18F4550 dispone 5 puertos de E/S que incluyen un total de 35 líneas digitales de E/S:

Todas las líneas digitales de E/S disponen de al menos una función alternativa asociada a alguna

circuitería especifica del uC. Cuando una línea trabaja en el modo alternativo no puede ser utilizada

como línea digital de E/S estándar.

Page 30: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

31© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Cada puerto de E/S tiene asociado 3 registros:

Registro TRIS: mediante este registro se configuran cada una de las líneas de E/S del puerto

como ENTRADA(bit correspondiente a ‘1’) o como SALIDA (bit correspondiente a ‘0’) .

Registro PORT: mediante este registro se puede leer el nivel de pin de E/S y se puede establecer

el valor del latch de salida.

Registro LAT: mediante este registro se puede leer o establecer el valor del latch de salida.

PUERTOS DE E/S

Page 31: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

32© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 32: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

33© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

PUERTO A:

Dispone de 7 líneas de E/S. Las funciones alternativas son:

RA0: entrada analógica (AN0)/ entrada de comparación (C1IN-)

RA1: entrada analógica (AN1)/ entrada de comparación (C2IN-)

RA2: entrada analógica (AN2)/ entrada de comparación (C2IN+)

RA3: entrada analógica (AN3)/ entrada de comparación (C1IN+)

RA4: entrada de reloj del Temporizador 0 (T0CKI)/salida de comparación (C1OUT)

RA5: entrada analógica (AN4)/ salida de comparación (C2OUT)/HLVDIN entrada de detección de

tensión alta/baja

RA6: entrada del oscilador principal (OSC2)/salida de señal de reloj (CLK0)

En el reset las líneas RA0, RA1, RA2, RA3 y RA5 se configuran como líneas de entrada analógicas. Para poder utilizarlas como

líneas digitales de E/S hay que desactivar la función analógica:

Page 33: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

34© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

REGISTRO ADCON1

– VCFG1: Bit de configuración de la tensión de referencia VREF-:

* VCFG1=‘0’: VREF- se conecta a VSS

* VCFG1=‘1’: VREF- se conecta a la línea física RA2

– VCFG0: Bit de configuración de la tensión de referencia VREF+:

* VCFG1=‘0’: VREF+ se conecta a VDD

* VCFG1=‘1’: VREF+ se conecta a la línea física RA2

– PCFG3..PCFG0: Bits configuración de los puertos de conversión A/D. Mediante estos bits se establecen que líneas físicas (RA5..RA0,RB4..RB0, RE1 y RE0) van a trabajar como entradas del convertidor A/D (Ver Tabla de configuración de líneas de conversión A/D).

Page 34: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

35© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Tabla de configuración de líneas de conversión A/D:

Page 35: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

36© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

REGISTRO CMCOM

Page 36: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

37© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 37: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

38© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

TIPOS DE OSCILADORES

HS: (High Speed Crystall Resonador): Alta velocidad de 20 MHz a 40 MHz.

XT: (Crystall//Resonador): Estándar de 4 MHZ máximo.

LP: (Low Power Crystall): Bajo consumo, 200 KHz a 30 KHz.

RC: (Resistence/Capacitor): Baja precisión, Tiene una tabla asociada a los valores de R y C. Muy

poco uso. 200 Hz a 32 KHz.

Page 38: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores

39© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 39: Unidad 1: Arquitectura interna del Microcontrolador · 2019. 3. 28. · PICPIC10: microcontroladores de 8 bits, de bajo coste, de 6 pines y bajas prestaciones PIC12: microcontroladores