Microprocesadores, Tema 2:

Post on 10-Feb-2017

224 views 0 download

Transcript of Microprocesadores, Tema 2:

Microprocesadores, Tema 2:

Introducción al Microcontrolador PIC18

Guillermo Carpintero, guiller@ing.uc3m.es

Universidad Carlos III de Madrid

Diagrama de bloques

“PIC microcontrollers: An introduction to Microelectronics”

M. Bates

Elsevier/Newnes 2004

Ruta de datos del PIC 18F

Entradas/Salidas

Memoria

CPU

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

Con permiso de MICROCHIP

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

Memoriaprograma

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

Con permiso de MICROCHIP

Memoria de programa: Organización

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

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

Con permiso de MICROCHIP

Memoria de programa: Organización

Direcciónde 21 bits

1

2

3

Memoria de programa: Acceso a Instrucciones

Direccionamiento de Instrucciones : Contador de Programa

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

MemoriaDatos

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

Con permiso de MICROCHIP

Memoria de datos: Organización

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

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

Con permiso de MICROCHIP

DATOS

BSR

Memoria de datos: Organización

Ejemplo de movimiento de datos

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

MOVLW valor

MOVWF F

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

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

Memoria de DATOS: Zona SFR

Stack

PC

AccesoIndirectoFSR0 Puertos

Arquitectura del Procesador: Unidad Computacional

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

Con permiso de MICROCHIP

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

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

Memoria de PROGRAMAS: Acceso a datos

Direccionamiento de Datos : Tablas en Memoria de Programa

TBLRD*TBLRD*+TBLRD*-TBLRD+*

Memoria de PROGRAMAS

La pila (Stack)

Cuando hablemos de las subrutinas en el Software

Puertos del Microcontrolador

Puertos del Microcontrolador

Hardware de Aplicación

Diseño Eléctrico: Esquemático

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

Programación del ChipProgramación del Chip

La cadena de desarrollo

BoardProgramador

SWProg

C18

MPASM

Debug

C18

MPASM

PCB