Download - Microprocesadores, Tema 2:

Transcript
Page 1: Microprocesadores, Tema 2:

Microprocesadores, Tema 2:

Introducción al Microcontrolador PIC18

Guillermo Carpintero, [email protected]

Universidad Carlos III de Madrid

Page 2: Microprocesadores, Tema 2:

Diagrama de bloques

“PIC microcontrollers: An introduction to Microelectronics”

M. Bates

Elsevier/Newnes 2004

Page 3: Microprocesadores, Tema 2:

Ruta de datos del PIC 18F

Entradas/Salidas

Memoria

CPU

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

Page 4: Microprocesadores, Tema 2:

Arquitectura Harvard:

1. Memoria de PROGRAMA ���� Almacena INTRUCCIONES y DATOS

EEPROM/Flash

2. Memoria de DATOS ���� Almacena DATOSCompuesta por dos áreas principales

2.1 Área RAM formada por:Registros de propósito específico (SFR) – Regs. de Control Registros de propósito general – Almacenamiento temp.

2.2 Área EEPROM formada por 64 bytes – Almacenamiento datos usr. no volátiles

Memoria: Características generales

Page 5: Microprocesadores, Tema 2:

Memoriaprograma

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

Memoria de programa: Organización

Page 6: Microprocesadores, Tema 2:

16-bit wide

8-bit wide

Memoria de programa: Organización

8-bit wide

Unidades datos memoria de programa

Instruction 16 bits

Data 8 bits

Direcciones memoria de programa

Cada byte � Propia dirección

0000 00010002 0003

Direcciones dedicadas en memoria de programa

0000h = Vector RESET0008h = Vector interrupción HP0018h = Vector Interrupción LP

Mapa de memoria

Page 7: Microprocesadores, Tema 2:

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

Memoria de programa: Organización

Direcciónde 21 bits

Page 8: Microprocesadores, Tema 2:

1

2

3

Memoria de programa: Acceso a Instrucciones

Direccionamiento de Instrucciones : Contador de Programa

Page 9: Microprocesadores, Tema 2:

Memoria de programa: Acceso a datos

Direccionamiento de datos (memoria programa) : Tablas datos en memoria de programa (PUNTEROS)

TBLRD*

TABLAT = (TBLPTR)

TBLRD*+

TABLAT = (TBLPTR)

TBLPTR = (TBLPTR)+1

TBLRD*-

TABLAT = (TBLPTR)

TBLPTR = (TBLPTR)-1

TBLRD+*

TBLPTR = (TBLPTR)+1

TABLAT = (TBLPTR)

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

TABLAT = (TBLPTR)

Instrucciones relacionadas

Page 10: Microprocesadores, Tema 2:

MemoriaDatos

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

Memoria de datos: Organización

Page 11: Microprocesadores, Tema 2:

Tamaño12 (4+8) bits direcciones: 4096 pos.

Organizada en BancosEstá divida en 16 bancos de 256 bytes cada uno (8 bits).

Los 4 bits LSB del Bank SelectRegister (BSR<3:0>) seleccionan el banco activo.

La zona SFR ocupa las últimas 64 posiciones, descendiendo desde la última dirección del banco 15 (0xFFF).

Scratch Pad(8 bits de dir)

Control:ProcesadorPreriféricos

Memoria de datos: Organización

Page 12: Microprocesadores, Tema 2:

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

DATOS

BSR

Memoria de datos: Organización

Page 13: Microprocesadores, Tema 2:

Ejemplo de movimiento de datos

Escribir un valor en una dirección de memoria RAM:

MOVLW valor

MOVWF F

Page 14: Microprocesadores, Tema 2:

Ciclo de Instrucción

fOSC = 8 MHz → TOSC = 125 ns → Tcyc = 500 ns

fOSC_MAX =20 MHz → TOSC = 50 ns → Tcyc = 200 ns

Pipeline: Procesado Paralelo

Page 15: Microprocesadores, Tema 2:

dirección efectiva (de)

POSTDEC de = (FSRx)FSRx = (FSRx)-1

POSTINC de = (FSRx)FSRx = (FSRx)+1

PREINC

PLUSW de = (FSRx) + (W)

Memoria de DATOS: Acceso a Datos

Acceso Directo Acceso Indirecto

FSR0FSR1FSR2

Page 16: Microprocesadores, Tema 2:

Memoria de DATOS: Zona SFR

Stack

PC

AccesoIndirectoFSR0 Puertos

Page 17: Microprocesadores, Tema 2:

Arquitectura del Procesador: Unidad Computacional

Page 18: Microprocesadores, Tema 2:

Figura del “PIC18F2525/2620/4525/4620 Data Sheet”

Con permiso de MICROCHIP

Memoria de datos: Zona SFR (Puertos E/S)

Page 19: Microprocesadores, Tema 2:

Arquitectura Ortogonal : Cualquier instrucción puede utilizar cualquier registro de la arquitectura como fuente o destino.

Arquitectura con E/S mapeada en memoria: Todos los elementos del sistema están implementados físicamente como registros.

Arquitectura del Procesador: Unidad Computacional

Page 20: Microprocesadores, Tema 2:

Memoria de PROGRAMAS: Acceso a datos

Direccionamiento de Datos : Tablas en Memoria de Programa

TBLRD*TBLRD*+TBLRD*-TBLRD+*

Page 21: Microprocesadores, Tema 2:

Memoria de PROGRAMAS

La pila (Stack)

Cuando hablemos de las subrutinas en el Software

Page 22: Microprocesadores, Tema 2:

Puertos del Microcontrolador

Page 23: Microprocesadores, Tema 2:

Puertos del Microcontrolador

Page 24: Microprocesadores, Tema 2:

Hardware de Aplicación

Diseño Eléctrico: Esquemático

Page 25: Microprocesadores, Tema 2:

Diseño Eléctrico: Esquemático de Prácticas

Page 26: Microprocesadores, Tema 2:

Programación del ChipProgramación del Chip

La cadena de desarrollo

BoardProgramador

SWProg

C18

MPASM

Debug

C18

MPASM

PCB