Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology...

89
Comenzando con los PIC18: Arquitectura, Set de Instrucciones, Interrupciones, Periféricos y Caracterícas Especiales http://www.ibars.com

Transcript of Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology...

Page 1: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

Comenzando con los PIC18:Arquitectura, Set de Instrucciones,

Interrupciones, Periféricos y Caracterícas Especiales

http://www.ibars.com

Page 2: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2

Objetivos de la clase:– Cuando finalice esta clase Usted podrá:– Entender el funcionamiento basico de los

PIC18– Entender mas instrucciones– Entender la organización de la memoria– Entender la Estructura de las interrupciones– Entender como trabajan los perifericos

Page 3: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 3

Agenda Bases de la arquitectura:

– Pipelining de instrucciones– Palabras de Instrucción largas

Revisión del Set de Instrucciones Organización de la memoria y modos de

direccionamiento Manejo y latencia de interrupciones Características especiales

Page 4: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 4

Agenda (Continuación..) Discución sobre los periféricos básicos

– I/O Ports– Analog Comparator– A/D Converters– Timers– CCP (Capture, Compare & PWM)– MSSP (I2C & SPI / Microwire)– USART

Page 5: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 5

Arquitectura

El alto rendimiento de los microcontroladores PICmicro® puede ser atribuido a las siguientes características de la arquitectura:– Arquitectura Harvard – Pipelining de Instrucciones– Gran archivo de registros– Instrucciones de Ciclo Simple– Palabras de Instrucción Simple– Palabras de Instrucción Largas– Set de Instrucciones Reducido– Set de Instrucciones Ortogonal

(Simétricas)

Page 6: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 6

Arquitectura Harvard Arquitectura Von Neumann :

– Busqueda de Instrucciones y Datossobre una memoria de espaciosimple

– Limitado ancho de banda de operación

Arquitectura Harvard:– Uso de dos espacios de memoria

separados para instrucciones de programa y datos

– Mejora el ancho de banda de operación

– Permite diferentes anchos de buses

CPU

Harvard Architecture

Data Memory

Program Memory

8-bit Bus

16-bit Bus

Von Neumann Architecture

8-bit Bus

CPU

Program & Data Memory

Page 7: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 7

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch

T0

Instruction Cycles

movlw 0x05 -Pre-Fetched Instruction Executing Instruction

Page 8: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 8

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0 T1

Instruction Cycles

Fetch

movwf REG1 movlw 0x05Pre-Fetched Instruction Executing Instruction

Page 9: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 9

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0 T1 T2

Instruction Cycles

Fetch Execute

Fetch

rcall SUB1 movwf REG1Pre-Fetched Instruction Executing Instruction

Time to execute normal instruction

Page 10: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 10

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0 T1 T2 T3

Instruction Cycles

Fetch Execute

Fetch Execute

Fetch

addwf REG2 rcall SUB1Pre-Fetched Instruction Executing Instruction

Page 11: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 11

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0

Flush

T1 T2 T3 T4

Instruction Cycles

Fetch Execute

Fetch Execute

Fetch

Fetch

movf PORTB,w rcall SUB1Pre-Fetched Instruction Executing Instruction

Time to execute call instruction includes pipeline flush

Page 12: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 12

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0

Flush

T1 T2 T3 T4 T5

Instruction Cycles

Fetch Execute

Fetch Execute

Fetch

Fetch Execute

Fetch

return movf PORTB,wPre-Fetched Instruction Executing Instruction

Page 13: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 13

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0

Flush

T1 T2 T3 T4 T5

Instruction Cycles

T6

Fetch Execute

Fetch Execute

Fetch

Fetch Execute

Fetch Execute

Fetch

movf PORTC,w returnPre-Fetched Instruction Executing Instruction

Page 14: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 14

Pipelining de Instrucciones

rcall SUB1addwf REG2

movf PORTB,wreturnmovf PORTC,wreturn

SUB1

SUB2

movlw 0x05MAINmovwf REG1

1234

51525354

Example ProgramFetch Execute

T0

Flush

T1 T2 T3 T4 T5

Instruction Cycles

T6

Fetch Execute

Fetch Execute

Fetch

Fetch Execute

Fetch Execute

Fetch Flush

Fetch

T7

addwf REG2 returnPre-Fetched Instruction Executing Instruction

Page 15: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 15

00 00 00 00

Instruccion de Palabra Larga8-bit Program Memory

16-bit Program Memory

11 00 00 00 00 11 11 00

kk kk kk kk kk kk kk kk

11 11 11 00 kk kk kk kk kk kk kk kk

8-bit Instruction on typical 8-bit MCUExample: Freescale ‘Load Accumulator A’:• 2 Program Memory Locations• 2 Instruction Cycles to Execute

16-bit Instruction on PIC18 8-bit MCUExample: ‘Move Literal to Working Register’• 1 Program Memory Location• 1 Instruction Cycle to Execute

Ancho de banda Limitado Incrementa los

requerimientos de memoria

Separate busses allow different widths 2k x 16 is roughly equivalent to 4k x 8

ldaa #k

movlw k

Page 16: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 16

Concepto del Archivo de Registros

Dat

a B

usD

ata

Bus

d

Decoded Instruction from Program

Memory:Arithmetic/Logic

Function to be Performed Result Destination

Address of Second Source Operand

Register File Concept: All of data memory is part of the register file, so any location in data memory may be operated on directly

All peripherals are mapped into data memory as a series of registers

Orthogonal Instruction Set: ALL instructions can operate on ANY data memory location

The Long Word Instruction format allows a directly addressable register file

w f

w fALU

WREGWREG

Data Memory(Register File)

07h

08h

09h

0Ah

0Bh

0Ch

0Dh

0Eh

0Fh

10h

OpcodeOpcode dd aa AddressAddress

Page 17: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 17

Revisión del Set de Instrucciones

f f f f f f fdOpcode

07815

f f f f f f fOpcode

File Register Address

Byte Oriented Operations

ADDWF 0x25, W, A

DestinationFile Register Address

a f

fa

9

Destination (W or F) Access Bank

Use Access Bank(Optional)

OR

Page 18: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 18

Revisión del Set de Instrucciones

f f f f f f fbb bOpcode078915

File Register Address

Bit Position (0-7)

Bit Oriented Operations

BSF 0x25, 3, A

Access Bank(Optional)

File Register Address

11

fa

Bit Position

Page 19: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 19

Revisión del Set de Instrucciones

07815

k k k k k k kOpcodeLiteral Value

Literal and Control Operations

MOVLW 0x25

Literal Value

k

OpcodeOR

Page 20: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 20

Revisión del Set de Instrucciones

0111215

fs fs fs fs fs fs fsfs fsOpcode fs

Source Register Address

Byte to Byte Move Operations (2 Words)

MOVFF 0x125, 0x140

Source Address

fs fs

fd fd fd fd fd fd fdfdfd fd fdfdOpcodeDestination Register Address

Destination Address

Page 21: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 21

Revisión del Set de Instrucciones

07815

n7 n6 n5 n4 n3 n2 n1Opcode

Call and Goto Operations (2 Words)

CALL 0x1125

Subroutine Address

n8

n9Opcode

11

n10n11n12n13n14n15n16n17n18n19n20

Page 22: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 22

PIC18 Modos de Direccionamiento

Acceso a Memoria de Datos:

DirectIndirectAuto Pre-Increment Indirect

Auto Post-Increment Indirect

Auto Post-Decrement IndirectIndex IndirectImmediate (Literal)

clrf <reg>, <dst>clrf INDFn, <dst>

movff PLUSWn, <dst>movlw <const>

movff PREINCn, <dst>

movff POSTINCn, <dst>

movff POSTDECn, <dst>

Mode Example Syntax

Page 23: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 23

Access RAMAccess RAM

Organización de la Memoria de DatosPIC16F8F2520/4520Register File Map

000h07Fh

256 Bytes

Bank 0 GPRBank 0 GPR

Bank 1GPR

Bank 1GPR

Bank 2GPR

Bank 2GPR

Bank 13GPR

Bank 13GPR

Bank 14GPR

Bank 14GPR

Bank 15 GPRBank 15 GPR

Access SFRAccess SFR

Access RAMAccess RAM

Access SFRAccess SFR

080h0FFh100h

1FFh

200h

2FFh

D00h

DFFh

E00h

EFFh

F00h

FFFh

F7FhF80h

00h7Fh80hFFh

Access Bank

Memoria de datos de hasta4k bytes

Dividida internamente en Bancos de 256K

Mitad del Banco 0 y Mitaddel Banco 15 forman un Banco Virtual que esaccesible no importandocual banco esseleccionado

Page 24: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 24

000 000 000

Registro de Direccionamiento Directo

FFFF

FFFF

FFFF

FFFF

FFFF

FFFF

000h001h002h002h003h004h005h

FFAhFFBhFFChFFDhFFEhFFFh

0xFFD0xFFD0xFFD8-bits from FSR0L 12-bit Effective Address

Data Memory

FSR0L

FFFF

FFFF

FFFF

FFFF

FFFF

FFFF

Register File Address Bus

4-bits from FSR0H

000 000 000 000 000 000 000 000 000FSR0H

No banqueado–La RAM escompletamente lineal cuando se usa el direccionamiento Indirecto

FSRH:FSRL pueden ser cargados con una instrucción simple: lfsr

Completo de 12-bit incremento / decremento de puntero con posibilidadde modificación pre- o post-

Tres Pares de registros FSR: FSR0, 1 & 2

Page 25: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 25

Registero de Direccionamiento Indirecto

Varios Modes de direccionamiento Indirectoadicionales para finalizar con el PIC18:– Indirect - no cambia en el FSRn– Auto Post-decremento FSRn (FSRn--)– Auto Post-incremento FSRn (FSRn++)– Auto Pre-increment oFSRn (++FSRn)– Indirecto Indexado (Address = FSRn + W)

Page 26: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 26

Registro de Direccionamiento Indirecto

Estos modos de direccionamiento son invocados por el uso de registros no físicos:– Indirecto - no cambia: INDFn– Auto Post-decremento: POSTDECn– Auto Post-incremento: POSTINCn– Auto Pre-incremento: PREINCn– Index ado Indirecto / Desplazamiento: PLUSWn

Page 27: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 27

PIC18 Modos de Direccionamiento

Acceso a Memoria de Programa:

AbsoluteRelative

Table Read / WritePost Increment

Table Read / WritePost Decrement

Table Read / WritePre Increment

Table Read / Write

goto <addr>

bra <addr>

tblrd* tblwt*

tblrd*+ tblwt*+

tblrd*- tblwt*-

tblrd+* tblwt+*

Mode Example Syntax

Page 28: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 28

Organización de la Memoriade Programa

On-chip Program MemoryOn-chip Program Memory

Reset Vector

High Priority Interrupt Vector

Low Priority Interrupt Vector

000000h

000008h

000018h

1FFFFEh

UnimplementedProgram Memory

(Read as ‘0’)

UnimplementedProgram Memory

(Read as ‘0’)

008000h

007FFEh

21-bit Program Counter

31 Level Stack

Stack Level 1Stack Level 1

Stack Level 2Stack Level 2

Stack Level 30Stack Level 30

Stack Level 31Stack Level 31

Un espacio de memoria de programacontinuo lineal hasta 2MB (1MWord)

Page 29: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 29

Memoria de Programa esByte Direccionable

Byte bajo contiene la dirección par, Byte alto contiene la direcciónimpar

Direccionamiento de instrucciones siempre iguales

16-bit Program Memory

0x000000

0x000002

0x000004

0x000006

0x000008

0x00000A

0x00000C

0x00000E

0x000001

0x000003

0x000005

0x000007

0x000009

0x00000B

0x00000D

0x00000F

High Byte Address Low Byte AddressWord Address

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 30: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 30

Contador de Programa

0123456789101112PCLPCH

Program Counter

21-bit PC permite acceder hasta to 221 = 2MB (1MWord) 22nd bit usado para acceder a la configuración de memoria para programar

tiempo o via tabla de lectura y escritura Contiene la dirección de la siguiente instrucción (pipelining) El byte bajo es accesible en la memoria de datos como PCL Los baytes altos son accesibles indirectamente via PCLATH/PCLATU Bit 0 del PC es siempre ‘0’ excepto cuando se lee o escribe en la memoria

de programa via el mecanismo de tablas de lecturaescritura

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00131415161718192021

PCU

Page 31: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 31

PC DireccionamientoAbsoluto

CALL and GOTO Instructions:

PC Direccionamiento Absoluto (Program Memory)– Salta a otra localización de la memoria de programa fuera de la secuencia del PC– Llamado a subrutina

Usado por las instrucciones CALL and GOTO– Direccionameinto completo es especificado como parte de las 2 palabras de

instrucción– utilizado al realizarse la operació de Salto Computado– La dirección a saltar es calculada por el programa– La dirección calculada es directamente escrita enel Contador de Programa

n8nn88 nnn nnn nnn nnn nnn nnn n1nn11

111 111 111 111 n20nn2020 nnn nnn nnn nnn nnn nnn nnn nnn nnn nnn n9nn99

n0

00112233445566778899101011111212131314141515

Bit 0 of the address is implied since it is always zero due to the byte addressability of program memory

n = Program Memory Address

Page 32: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 32

PC Direccionamiento Relativo: Instrucciones de salto

Usado por instrucciones de salto de palabra simple:– BC / BNC: -128 n 127– BN / BNN: -128 n 127– BOV / BNOV: -128 n 127– BZ / BNZ: -128 n 127– BRA: -1024 n 1023– RCALL: -1024 n 1023

n es el desplazamiento relativo desde el PC

Example: BC CarryBitSet

Page 33: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 33

Arquitectura del PIC18Stack de Memoria

5-bit Stack pointer address 31 levels– Stack pointer does not roll over to 0 at end of stack

Top-of-Stack = TOSU:TOSH:TOSL– Readable and Writeable

Stack Level 1

...

Stack Level 31

Stack Level 0 RESET State; No RAM at this location

Stack Grows “Upward”*(++STKPTR)

20 0 STKPTR<4:0>

Stack de Hardware de - 31 niveles de profundidad– Memoria separada, por puntero STKPTR– Usado por CALL, RCALL, INT, RETURN, RETFIE

Page 34: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 34

Tabla de Lecturas / Escrituras

Permite acceder a 2 bytes de datos por localización de memoria de programa

Modos de direccionamiento de Tabla de Lectura / Escritura:– No cambia tblrd * tblwt *

– Post Incremento tblrd *+ tblwt *+

– Post Decremento tblrd *- tblwt *-

– Pre Incremento tblrd +* tblwt +*

El acceso a memoria de programa esconceptualmente comodireccionar indirectamente un registro (memoria de datos)

Page 35: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 35

Tabla de Lecturas/EscriturasRegister Indirect Addressing(Retrieves data from RAM)

Table Indirect Addressing(Retrieves data from Flash)

Pointer RegistersFSR0H : FSR0L (12-bits)FSR1H : FSR1L (12-bits)

FSR2H : FSR2L (12-bits)

TBLPTRU : TBLPTRH : TBLPTRL(22-bits)

ExampleRead Data to WREGNo Pointer Modification

tblrd*movf TABLAT, w

movf INDF0, w

movf INDF1, w

movf INDF2, w

ExampleRead Data to WREGPost-Increment Pointer

tblrd*+movf TABLAT, w

movf POSTINC0, w

movf POSTINC1, w

movf POSTINC2, w

ExampleRead Data to WREGPost-Decrement Pointer

tblrd*-movf TABLAT, w

movf POSTDEC0, w

movf POSTDEC1, w

movf POSTDEC2, w

ExamplePre-Increment PointerRead Data to WREG

tblrd+*movf TABLAT, w

movf PREINC0, w

movf PREINC1, w

movf PREINC2, w

Table 1-1: Comparison between Register Indirect Addressing and Table Read Operations

Page 36: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 36

Tabla de Lectura

PIC18F Memoria de Programa es divididainternamente en:

– Memoria de Usuario Hasta 128kB Internos Hasta 2MB Externosl

– Identificadores de Usuarios 8 Bytes Modificables

– Configuración de Memoria Seteo de dispositivos, Códigos de Protección, etc.

– Identificadores de dispositivos Firma de Parte y Revisión

Contador de Programa solo puede acceder a la memoria de usuario (PC is 21-bits wide)

Tabla de Punteros puede acceder a toda la memoria(TBLPTR is 22-bits wide)

User FlashUser Flash

User IDsUser IDs

ConfigurationConfiguration

Device IDsDevice IDs

0x000000

0x01FFFF

0x200000

0x200007

0x300000

0x30000D

0x3FFFFE

0x3FFFFF

Program Memory Space

Unimplemented Memory

Unimplemented Memory

Unimplemented Memory

Page 37: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 37

2C2C

Operación de la Tabla de Lectura

2C2CTABLAT

Data Memory (RAM) Program Memory (Flash)

0x000000

0x000002

0x000004

0x00000A

0x000008

0x000006

0x1FFFF4

0x1FFFF6

0x1FFFF8

0x1FFFFA

0x1FFFFC

0x1FFFFE

0x000001

0x000003

0x000005

0x00000B

0x000009

0x000007

0x1FFFF5

0x1FFFF7

0x1FFFF9

0x1FFFFB

0x1FFFFD

0x1FFFFF

0x000

0x001

0x002

0x005

0x004

0x003

0xFFA

0xFFB

0xFFC

0xFFD

0xFFE

0xFFF

8-bit Data

0000 0000 0909TBLPTRU TBLPTRH TBLPTRL

High Byte(Odd Addr)

Low Byte(Even Addr)

22-bit Address

Page 38: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 38

Ejemplo de Tabla de Lectura

Enviando caracteres al LCDHow ASCII string tables are stored in program memory:

Address ContentsProgram Memory

6FFC FF FF6FFE FF FF70007002 72 63700470067008700A700C

63 6F69 68

70

69 4D

FF FFFF FF

00

‘M’ @ 0x7000‘i’ @ 0x7001

‘\0’ (NUL) @ 0x7009

org 0x7000MyStringTable

DW “Microchip\0”

Program Source Code:

Page 39: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 39

PIC18FRevisión de Interrupciones

Múltiples fuentes de interrupción internas y externas Cada interrupción tiene un bit de máscara y bandera independientes Todas las interrupciones pueden ser enmascaradas por el Bit GIE Tienen dos modos

– Modo Herencia (por borrado del bit IPEN en el registro RCON)– Modo Prioridad (por seteo del bit IPEN en el registro RCON)

Cada periférico interruptor pude configurar prioridad de hardware Alta/Baja enmodo prioridad– Vector de Prioridad Alto en 000008h (Default)– Vector de Prioridad Alto en 000018h

Rápido salvado del Contexto sobre la interrupción La mayoría de las interrupciones despiertan al procesador del modo

SLEEP Latencia de interrupciones de 3/4 ciclos de Instrucción

Page 40: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 40

PIC18FConfiguración de interrupción (Modo Prioridad)

……

INT0IF

INT0IE

GIEH GIEL

High Priority Interrupt to the CPU

Vector = 0x0008h

Low Priority Interrupt to the CPU

Vector = 0x0018h

Wakeup to the CPU

IF

IPIE

IF

IPIE

PIC18FInterrupt

Logic

Page 41: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 41

Interrupciones– Multiples niveles de prioridad para interrpciones

Alta y Baja Prioridad– Vectores corresponden al nivel de prioridad

– Cuatro terminales de interrupción externos

INT0, INT1, INT2, INT3– Cada interruptor tiene un bit de habilitación, un bit bandera

indicadora and un bit de prioridad Excepto INT0, el cual es siempre de alta prioridad

PIC18FRevisión de Interrupciones

Page 42: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 42

Shadow Registers

Registros Shadow ( registros sombra): Call rapido / Return– Calls o Returns pueden elegir para push / pop registros claves

a los registeros shadows (sombras)

– 1 nivel de profundidad para los registros W, STATUS, BSR– Seleccionado por el bit “s” en Call / Return instrucciones:

CALL FAST ; FAST -> s=1 Registros Shadow : Interrupciones

– Cualquier interrupcione permite push el shadow registers– Si se usa RETFIE el pop sobre el registro shadow , el ISR

puede no ser interrumpido (low priority)– Los registros Shadow solo son completamente usados para

alta prioridad

Page 43: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

Característicasespeciales

Page 44: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 44

PIC18 Opciones del Oscilador

– Opciones de reloj seleccionable proveen mayor flexibilidad para el diseñador: – Oscilador LP deseñado para absorver menor cantidad de corriente– RC o INTRC provee una solución de ultra bajo costo para el oscilador– XT optimizado para osciladores de las frecuencias mas usadas– HS optimizado para manejar resonadores y cristales de alta frecuencia

Speed ranges are guidelines only

XTXTHSHS

Standard frequency crystal oscillatorStandard frequency crystal oscillatorHigh frequency crystal oscillatorHigh frequency crystal oscillator

100kHz - 4MHz100kHz - 4MHzDC - 40MHzDC - 40MHz

HS+PLLHS+PLL High frequency crystal with 4x PLLHigh frequency crystal with 4x PLL 4MHz - 10MHz4MHz - 10MHzLPLPRCRC

Low frequency crystal oscillatorLow frequency crystal oscillatorExternal RC oscillatorExternal RC oscillator

5kHz - 200kHz5kHz - 200kHzDC - 4MHzDC - 4MHz

RCIORCIO External RC oscillator, OSC2=RA6External RC oscillator, OSC2=RA6 DC - 4MHzDC - 4MHzINTRCINTRC Internal RC oscillatorInternal RC oscillator VariousVariousECEC External Clock, OSC2=fosc/4External Clock, OSC2=fosc/4 DC - 40MHzDC - 40MHzECIOECIO External Clock, OSC2=RA6External Clock, OSC2=RA6 DC - 40MHzDC - 40MHz

Page 45: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 45

POR, OST, PWRT

POR: Power On Reset– Con MCLR conectado a VDD, un pulso de

reset es generado cuandoes detectada la subida de VDD

– PWRT: Power Up Timer (Temporizador de encendido)

– El dispositivo es detenido el el reset por72ms (nominales) para permitir subir un nivel aceptable de VDD (solo despues del POR )

OST: Oscillator Start-up Timer (Temporizador de arranque del oscilador)

– Mantiene al dispositivo en reset por 1024 cycles para permitir estabilizar en frecuecia y amplitud al ascilador a cristaloresonador; no esta activo en el modoRC; usado solo despues del POR or al despertar desde el SLEEP

TPWRT

TOST

Reset Execution

VDD

MCLR

PWRT

OST

Page 46: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 46

Events that wake processor from sleepEvents that wake processor from sleepEvents that wake processor from sleepMCLRMCLRWDTWDTINTINT

TMR1TMR1ADCADCCMPCMPCCPCCP

PORTBPORTBSSPSSPPSPPSP

Modo Sleep El procesador puede ser puesto en modo baja potencia por la

ejecución de una instrucción SLEEP – Oscilador del sistema es detenido– El estado del procesador es mantenido (Diseño estático– El funcionamiento del WDT continua, isi esta habilitado– Mínima absorción de corriente - sobre todo debido a las salidas (0.1 - 2.0A

típicos)

Master Clear Pin Asserted (pulled low)Master Clear Pin Asserted (pulled low)Watchdog Timer TimeoutWatchdog Timer TimeoutINT Pin InterruptINT Pin InterruptTimer 1 Interrupt (or also TMR3 on PIC18)Timer 1 Interrupt (or also TMR3 on PIC18)A/D Conversion Complete InterruptA/D Conversion Complete InterruptComparator Output Change InterruptComparator Output Change InterruptInput Capture EventInput Capture EventPORTB Interrupt on ChangePORTB Interrupt on ChangeSynchronous Serial Port (I2C Mode) Start / Stop Bit Detect InterruptSynchronous Serial Port (I2C Mode) Start / Stop Bit Detect InterruptParallel Slave Port Read or WriteParallel Slave Port Read or Write

Page 47: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 47

Watchdog Timer

Permite recuperarse de un mal funcionamiento del software Este usa su propio oscilador RC de funcionamiento libre sobre el chip WDT es borrado por una instrucción CLRWDT Habilitado el WDT (WDTEN),no puede ser deshabilitado por software el overflow del WDT, resetea el chip El período del timeout es programable de : 18ms a 3.0s típico Operando en modo SLEEP; sobre time out, despierta a la CPU

WDT Ripple Counter Postscaler

8:1 Mux

WDT Timeout

WDTENSWDTEN

Page 48: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 48

Programación Serie In-Circuit™

Solo requiere dos terminales paraprogramación

Conveniente para programación en sistemasde

– Datos de calibración– Datos de Serialización

Soportado por MPLAB® PM3 & ICD2

PinPinPinVPPVPP

VDDVDD

VSSVSS

RB6RB6RB7RB7

FunctionFunctionFunctionProgramming Voltage = 13VProgramming Voltage = 13VSupply VoltageSupply VoltageGroundGroundClock InputClock InputData I/O & Command InputData I/O & Command Input

ICSP™ ConnectorMCLR/VPP

VDD

VSS

RB6

RB7

PIC1

8Fxx

xx

To application circuit

VDD VDDApplication PCB

ICSP Connector

Isolation circuits

Page 49: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 49

BOR –Brown Out Reset

When voltage drops below a particular threshold, the device is held in reset

Prevents erratic or unexpected operation

Eliminates need for external BOR circuitry

Page 50: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 50

PBOR – Brown Out Reset Programable

Opciones de Configuración (seteable durante la programación)– No puede ser habilitado / disabilitado en software

Cuatro seleccionables BVDD puntos seleccionables:– 2.5V – Mínimo VDD for OTP PICmicro® MCUs– 2.7V– 4.2V– 4.5V

Para otros thresholds, use un supervisor externo (MCP1xx, MCP8xx/TCM8xx, or TC12xx)

Page 51: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 51

PBOR – Brown Out Reset Programable

Mantiene el PICmicro® MCU en reset durante ~72ms despues de subido VDD valido threshold

72ms

BVDDVDD

VDDBVDD

72ms

72ms

BVDD

VDD

<72ms

InternalReset

InternalReset

InternalReset

Page 52: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 52

PLVD – Detector de Modo de Programación en baja Tensión

Detección temprana antes del brown out

16 puntos de excursiónseleccionables:– 1.8V up to 4.5V in 0.1 to

0.2V steps– Entrada analógica

externa VREF Interna

VDD LVDIN

LVDIN

LVDCON

VREF

LVDIF

16-bitMultipl ex er

Page 53: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 53

3 Categories

PIC18F: Modes de manejo de alimentación

RUN - 3 clock sourcesRUN - 3 clock sources

IDLE - 3 clock sourcesIDLE - 3 clock sourcesSLEEP - no clocksSLEEP - no clocks

Total = 7 ModesTotal = 7 Modes

Page 54: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 54

PIC18F: Modos de manejo de alimentación

Modo PRI_RUN– Palabra de configuración define la fuente primaria de

clock FOSC3:FOSC0 (_CONFIG1H<3:0>) 10 modos

– Oscilador a Cristal - LP, XT, HS, HSPLL– Clock Externo- EC, ECIO– Oscilador RC Externo - RC, RCIO– Oscilador RC Interno - INTIO1, INTIO2

SEC_RUN Mode– Clock switching mechanism in other PIC18 controllers– Timer1 source, Primary oscillator is disabled

RC_RUN Mode– IRCF<2:0> selects clock speed – IOFS set after 1us (typ.) delay if Freq 31 kHz

Page 55: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 55

PIC18F CaracterísticasEspeciales :RESETS

PIC18 RESETS– Power-on Reset (POR)– MCLR Reset durante la operación normal– Reset por Programmable Brown-out (BOR)– Reset por Watchdog Timer (WDT) – Instrucción de RESET – Reset por Stack Completo– Reset por desborde de la capacidad del Stack

Para todos los Resets la dirección del vector del PC es 0

Page 56: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 56

After RESET PC will have the address 0x000000After RESET PC will have the address 0x000000 Following bits will be affected after each RESETSFollowing bits will be affected after each RESETS

–– PORPOR = ‘0’: Power On RESET– BOR = ‘0’ & PORPOR = ‘1’: BOR RESET– TO = ‘0’: WDT RESET– RI = ‘0’: RESET Instruction– STKFUL = ‘1’: Stack over flow RESET– STKUNF = ‘1’: Stack under flow RESET– POR, BOR, TO & RI = ‘1’ and STKFUL & STKUNF = ‘0’: MCLR RESET

PIC18F características EspecialesRegistros de RESET

Page 57: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 57

Periféricos

Page 58: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 58

PIC18F Periféricos

Puertos digitales I/O Comparador analógico Conversor A/D Timer0, 1, 2, 3 Compare/Capture/PWM (CCP) USART Direccionable (AUSART) Master Synchronous Serial Port (MSSP) Parallel Slave Port (PSP)

Page 59: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 59

I/O Ports Alta capacidad de excitación Puede escitar directamente LEDs Manejo directo bit por bit Cada pin tiene un control de dirección individual por software Todos los pines tienen diodos de protección contra ESD Pin RA4 es usualmente open drain Todos los pines I/O son entradas por defaultI (alta impedancia) sobre el

startup Todos los pines multiplexados con funciones analógicas por default son

entradas analógicas sobre el arranque

D Q

Q

D Q

Q

RESET

Read PORTx

Write PORTx

Write TRISx

Data Bus

I/O Pin

VDD

VSS

Page 60: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 60

Puertos Digitales I/O – PIC18

Internal Data Bus

Write PORTxWrite LATx Read LATx Read PORTx

LATx Register(PORTx Output

Latches)

PORTx I/O Pins

Page 61: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 61

Razón para registros LATx

VIL

V on PORTx,PINy Q1 Q2 Q3Q4

At Low Frequency or Low Capacitive LoadingBSF PORTx,PINy BSF PORTx,PINz

VIL

V on PORTx,PINy Q1 Q2 Q3Q4

At High Frequency or High Capacitive Loading

Q4BSF PORTx,PINy BSF PORTx,PINz

Port Sampled in RMW Operation

Port Sampled in RMW Operation

t

t

Page 62: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 62

Puertos I/O

Bit n in TRISx controlan la dirección del Bit n en el PORTx

1 = Input, 0 = Output

In In In InOut Out Out Out

1 1 1 10 0 0 0TRISB

PORTB

I/O Pin Direction Control

Page 63: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 63

I/O A/D o Digital? Los pines I/O estan multiplexados con las

entradas analógicas (analógica por default) ADCON1 usado para determinar cual pin es

entrada analog o I/O digital

Set lower 4 bits to ‘1’ to make all multiplexed pins digital

- - X X 1 1 1 1

Bit 0Bit 7

VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0

Page 64: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 64

PIC18F PeriféricosPORTB : Cambia sobre la

Interrupción Interno Pull-Ups y Despertar/Interrumpir

cambio de características

I/O PinInternalPull-up

Port Read

Port Read

Data Bus

Interrupt/Wake-up

DD QQ

Page 65: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 65

PIC18F Perifericos

Dos comparadores analógicos Operación en modo SLEEP Generates interrupción / despertar sobre

cambios de salida Pin valido para salida del comparador Ocho modos de operación programables

VVREFREF

Page 66: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 66

PIC18F PeripheralsInternal VREF: Block Diagram

Provides On Chip voltage reference 16-tap resistor ladder network; provides

programmable reference voltage 24 or 32 step sizes Internal or External Voltage source for

reference voltage generation Can be used as a D/A converter VREF can be directed to an output pin

Page 67: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 67

PIC18F PeripheralsInternal VREF: Configuration

VVREFREF--

RR

RR

RR

8R8R

8R8R

VVREFREF--

VVDDDD

VVREFREF--

To PIN RA0To PIN RA0

1: VREF = (VR<3:0> / 24) * CVRSRC0: VREF = 1/4 * CVRSRC + (VR3:VR0 / 32) * CVRSRC

Note: 1. Note: 1. CVROE overrides the TRISA<0> bit setting.

CVRENCVREN

CVRR: CVRR:

CVRSS:1CVRSS:1

CVROECVROE(1)(1)

CVR3 : CVR0CVR3 : CVR0

Page 68: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 68

PIC18F Periféricos Hasta 16 Canales 10-bit ± 1 LSb Conversión

durante el modoSLEEP

Conversión sobrela Captura de entrada

Referencia Internao Externa

Hasta 100ksps* Facil para

Configurar

(Input voltage)VAIN

VREF(Reference

voltage)

AVDD

PCFG2:PCFG0PCFG2:PCFG0

CHS3:CHS0

AN7AN6AN5AN4

AN3/VREF+AN2/VREF-

AN1AN0

0111

0110

0101

0100

0011

0010

0001

0000

1010--bitbitSAR SAR ADCADC

. . .AN15

ADRESHADRESH ADRESLADRESL

Note: See the device data sheet for the conversion speedNote: See the device data sheet for the conversion speed

Page 69: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 69

PIC18F PeriféricosConfiguración del módulo

ADC

— — CHS3 CHS3 CHS3 CHS3 GO/DONE ADONU-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

Bit7 6 5 4 3 2 1 0

ADCON0 : A/D CONTROL REGISTER 0

Enable ADC

This Configuration register will help to select the required channel and controls the conversion

CH – 151111;;;;CH – 40010CH – 31100CH – 20100CH – 11000CH – 00000Selected Channel

0123

Start Conversion

Page 70: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 70

PIC18F PeriféricosConfiguración del modulo ADC

— — VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0U-0 U-0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0

Bit7 6 5 4 3 2 1 0

ADCON1 : A/D CONTROL REGISTER 1

Selects the reference voltage for VREF + Input of ADC0: VREF+ is AVDD1: VREF+ is AN3

Selects the reference voltage for VREF– Input of ADC0: VREF- is AVSS1: VREF- is AN2

V reference selection helps to get the Full range of ADC values when input Sensors use voltage sources of different level.

Defines number of Analog capable Port pins as analog inputs0000 – No Analog Channels0001 – 1 Analog Channel (AN0)

“““

0111 – 7 Analog inputs (AN0 to AN6)“

1111 – 16 Analog inputs (AN0 to AN15)

Page 71: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 71

PIC18F PeriféricosConfiguración de Módulo

ADCADCON2 : A/D CONTROL REGISTER 2

ADFM — ADCS0R/W-0 U-0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0

Bit7 6 5 4 3 2 1 0ADCS1ADCS2ACQT0ACQT1ACQT2

The Sample and hold CAPACITOR must be charged to the analog input voltage level in order to get the good accuracy in conversionFollowing are the delays involved in Charging the capacitor• Amplifier Settling Time (TAMP = 5µS approx) • Holding Capacitor Charging Time (TC = 9.61µS approx approx.)• Temperature Coefficient (TCOFF = 1.25µS approx)So the total Acquisition tine required is TACQ = 12.86µS

ACQT2:ACQT0 will provide this delay before starting the conversion (After setting GO bit)Acquisition delay = (2n * TAD)**Where n = ACQT2:ACQT0

** Refer the device data sheet for accurate delay cycles** Refer the device data sheet for accurate delay cycles

Page 72: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 72

PIC18F PeriféricosConfiguración de Módulo

ADCADCON2 : A/D CONTROL REGISTER 2

ADFM — ADCS0R/W-0 U-0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0

Bit7 6 5 4 3 2 1 0ADCS1ADCS2ACQT0ACQT1ACQT2

If ADFM = 0: Result is Left Justified; this will help to get the Low resolution data by reading only ADRESH registerIf ADFM = 1: Result is Right Justified; this will help to get the High resolution data by reading only ADRESL register

MSBMSB LSBLSBADRESHADRESH MSBMSB LSBLSBADRESLADRESL

10 Bits ADC data RJ10 Bits ADC data RJ10 Bits ADC data LJ10 Bits ADC data LJ

This bit will allows the ADC result to be stored in Left/Right aligned in ADRES register

Page 73: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 73

PIC18F PeriféricosTimer0

8-bit/16-bit Timer/Contador– 16-bit Lectura y Escritura

8-bit Prescaler Programable por Software Clock Interno o Extreno Seleccionable Interrupción sobre overflow desde FFh/FFFFh a 00h

Fosc/4ExternalClockInput

Set TMR0IF interruptflag on Overflow

T0SE8-bit

ProgrammablePrescaler

T0PS2:T0PS033 PSA

T0CS(2 cycle delay)

Sync withinternalclocks

TMR0

8-bit Data Bus

Page 74: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 74

PIC18F PeriféricosTimer1 y Timer3

16-bit Timer / Contador Timer, Contador Sicrónico o Contador

asincrónico Oscilador enbutido permite operación desde

cristal externo Consistente de 2 registros de 8-bit escribibles /

leibles 1, 2, 4, or 8 Prescaler Interrupción sobre overflow desde FFFFh to 0000h

Page 75: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 75

PIC18F PeriféricosTimer2

Timer de 8-bit con prescaler y postscaler Usado como base de tiempo para módulo

PWM modo de CCP TMR2 es leible =y escribible TMR2 incrementa hasta que empareja el

período PR2, entonces resets a 00h TMR2 emparejado con el PR2 genera una

interrupción a través del postscaler Usado como baud clock para el MSSP (SPI)

Page 76: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 76

Two bits are from prescaler to form 10 bit

PIC18F PeriféricosMódulo CCP: Modo PWM

Hasta 10-bit resolución– 20 kHz @ 10-bit– 80 kHz @ 8-bit– 160 kHz @ 7-bit

PR2

R

S

Q

PeriodPeriod

DCDC

TMR2=PR2 TMR2=DC

TMR2=PR2

Comparator

Timer2

Comparator

Slave

CCPR1L CCP1CON<5:4> Two bits are

from CCP1CON to form 10 bit

Page 77: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 77

PIC18F PeriféricosModuloCCP: Modo Captura de entrada

Capturas valores de 16-bit TMR1/3 cuandoocurre un evento sobre el pin CCPx :– Cada flanco de subida– Cada Flanco de bajada– Cada cuarto flanco de subida– Cada decimosexto flanco de subida

La Captura genera una interrupción

Page 78: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 78

PIC18F Periféricos MóduloCCP: Mode captura de entrada

TMR1H TMR1L

CCPR1H CCPR1L

TMR3H TMR3L

Edge detectPrescaler

CCP1M: 3-0 T3ECCP1

Set CCP1IFSet CCP1IF

TMR 1 TMR 1 EnableEnable

TMR 3 TMR 3 EnableEnable

CCP PinCCP Pin

Page 79: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 79

PIC18F PeriféricosMódulo CCP : Modo Captura de salida

Valor del registro CCPRn de 16 Bits es comparado al TMR1/3, y sobre el emparejamiento con CCPn pin es– Excitado High/Low– Accionado– Sin cambiar

Comparación emparejada genera interrupción Comparación emparajada puede deiparar un evento especial Puede comenzar una conversión A/D

Page 80: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 80

PIC18F PeriféricosPuerto Serie Sincrónico Maestro

Opera en cualquier Modo SPI™ o I2C™ Modo SPI

– baud rate Programable– baud rates Máximo (@ 40MHz)

Master: 10 Mbps Slave: 2.5 Mbps Simple Byte Tx

Modo I2C– Suporta standar (100kHz), Rápido (400kHz), y Microchip’s

Satandar 1MHz I2C– Implementación Master/Slave por Hardware– Filtro de Glitch y control del Slew rate sobre pines SCL y SDA

SPI is a trademark of Motorola SemiconductorSPI is a trademark of Motorola SemiconductorII22C is a trademark of Philips SemiconductorsC is a trademark of Philips Semiconductors

Page 81: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 81

PIC18F Periféricos Parallel Slave Port

Bus de 8-bit Multi-MCU – Un Maestro - muchos esclavos– Maestro puede ser Leido/Escrito desde esclavo(s)

Comunicación Asincrónica Alta velocidad de operación

MasterMaster Slave #1Slave #1D<7:0>

*CS*CS*RD*RD*WR*WR

Page 82: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 82

PIC18F PeriféricosInterface de Comunicación Serie

(SCI/USART) Full-duplex asincrónica -o- half-duplex sincrónica Datos de 8- o 9-bit Doble-buffereado para Buffer de transmisión y recepción Interrupciones separadas para transmición y recepción Transmisión y recepción primero del LSB Generador de Baud Rate dedicado de 16 bit Max baud rates @ 40 MHz

– Syncrónico: 10 Mbaud– Asincrónico: 625 Kbaud/2.5 Mbaud

Modo direccionable de 9-bit Auto-Despertar sobre recepción de caracter Auto-Baud calibración 12-bit Corte transmisión de caracter

Page 83: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 83

PIC18F Periféricos Interface de Comunicación serie

USART Diagrama en Bloques

Interrupt

Tcy

TXIE TX8/9

TXD8

TXDATA

TXCLK

RCD8RC8/9

RCIE

RCCLK

RXDATA

TXEN SYNCSREN CSRCCREN

RC6/TX/CK

SPEN

RC7/RX/DT

TO RC6, RC7 I/O Port Logic

Baud RateClock

SPBRGSPBRG

FERRFERROERROERR

RSRRSR

RCREGRCREG

TSRTSR

TXREGTXREG

RCIFRCIF

TXIFTXIF

ADDEN

Page 84: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 84

PIC18F PeriféricosInterface de Comunicación Serie

TXIF and TRMT Operation

TXREG vacio, con Seteo del TXIF Cargando TXREG se resetea TXIF

TSR vacío con seteo del TRMT Caragendo TSR se resetea TRMT

Sí el TXREG es cargado y el TRMT esseteado, entonces el dato esinmediatamente cargado al TSR. Comenzando el desplazamiento del dato serie permite setear el TXIF

TSRTSR

TXREGTXREG

RC6/TX/CK

TXIFTXIF

TRMTTRMT

Page 85: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 85

2 deep FIFO

RSRRSR

RCREGRCREG

ADDEN

RC7/RX/DT

PIC18F PeriféricosInterface de Comunicación serie

Operación del RCIF RSR recive dattos con

start/stop válido Dato cargado dentro del

RCREG FIFO y RCIF = 1 Si un segundo byte es recibido

antes que el primer byte sea atendido, entonces el nuevodato puede ser almacenadoelnlasegunda localización sobre la FIFO

Cuando el servicio de recepción es interrumpido, despues de leer el 1er byte, sihay otro byte aún dentro de la FIFO, entonces un 2do interrución RCIF es generada

RCIFRCIF

Page 86: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 86

Resumen Hemos discutido sobre la revisión de la

Arquitectura– PIC18F Arquitectura– Programmers’ Model – Revisión del Set de Instrucciones– Manejo de las Interrupciones y latencia

Discución acerca de los Periféricos Básicos– Puertos I/O – Sistemas de desarrollo– Comparadores y referencias de voltajes– ADC

Page 87: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 87

Resumen– Timers– CCP (Capture, Compare & PWM)– MSSP (I2C & SPI / Microwire)– USART

Discución acerca de– Oscilador y Modo bajo consumo– Características Especiales de los Microcontroladores

PIC18F

Page 88: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

Muchas GraciasTraducido: por Andrés Raúl Bruno Saravia

Instituto Técnico OHM

Page 89: Comenzando con los PIC18: Arquitectura, Set de ... (sph).pdf© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 2 Objetivos de la clase: – Cuando finalice esta

© 2006 Microchip Technology Incorporated. All Rights Reserved. Slide 89

TrademarksThe Microchip name and logo, the Microchip logo, Accuron, dsPIC, KeeLoq, microID, MPLAB, PIC,

PICmicro, PICSTART, PRO MATE, PowerSmart, rfPIC and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.

AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A.

Analog-for-the-Digital Age, Application Maestro, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, Linear Active Thermistor, Mindi, MiWi, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net,PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, rfPICDEM, Select Mode, Smart Serial, SmartTel, Total Endurance, UNI/O, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.

SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.All other trademarks mentioned herein are property of their respective companies.