Introducción PIC

54
Micros y Laboratorio Henry Carrillo, PhD Estudio de la arquitectura de un microcontrolador: PIC gama media

Transcript of Introducción PIC

Page 1: Introducción PIC

Micros y Laboratorio

Henry Carrillo, PhD

Estudio de la arquitectura de un

microcontrolador: PIC gama media

Page 2: Introducción PIC

PARTE I

Generalidades

Page 3: Introducción PIC

Introducción al PIC (I)

PIC (Peripheral Interface Controller) es el microcontroladordesarrollado por Microchip Technology Inc.

Existen otros fabricantes ATMEL, Freescale (Motorola),Texas

Microchip es líder en ventas en el segmento de 8 bits (memoria dedatos)

Page 4: Introducción PIC

Introducción al PIC (II)

Son microcontroladores RISC con arquitectura Harvard,con variedad de módulos, tamaños y tipos de memorias,empaquetados y cantidad de pines.

Page 5: Introducción PIC

Familia PIC

La familia de microcontroladores PIC se clasifica deacuerdo al tamaño de los registros de datos:

8 bits

16 bits

32 bits

Adicionalmente, y debido a la arquitectura Harvard, sepuede tener microcontroladores PIC con tamaños deinstrucciones de:

12 bits, 14 bits, 16 bits, 24 bits y 32 bits

Gran cantidad de opciones flexibilidad en el diseño

En general a mayor tamaño en el bus de datos e instruccionesmayor cantidad de memoria y pines en el dispositivo.

Page 6: Introducción PIC

Familia PIC – 8 bits (I)

Page 7: Introducción PIC

Familia PIC – 8 bits (II)

Page 8: Introducción PIC

Familia PIC – 8 bits (III)

Microcontroladores PIC son los más usados en aplicaciones decontroladores embebidos sin requerimientos altos de tiemporeal.

De bajo costo, variedad de herramientas de desarrollo,programador sencillo de diseñar y/o implementar, opción dedebug y programación en circuito. MPLAB X IDE Single Integrated Development Environment supports all PIC

MCUs

XC8 MPLAB X C Compiler for 8-bit devices. Free versions available with no time or memory limitations.

PICkit_3 Most affordable in-circuit debugger/programmer with simple breakpoints

ICD_3 High-speed hardware debugger/programmer with complex breakpoints

Proteus Electrical and microcontroller simulator

PIC_IDE_OshonSoft Microcontroller simualtor

Microchip wiki http://microchip.wikidot.com/ . Also information in application notes.

Page 9: Introducción PIC

Nomenclatura de dispositivos PIC (I)

La nomenclatura de los dispositivos PIC está compuesta

por:

Nombre del dispositivo.

Familia.

Tipo de memoria de programa.

Rango de voltajes de trabajo.

Modelo especifico.

Rango de temperaturas de trabajo.

Empaquetado.

E.g 18F2550 o 18F84 o dsPIC30F3010

Page 10: Introducción PIC

Nomenclatura de dispositivos PIC (II)

Nombre del dispositivo

Puede ser PIC para los microcontroladores de uso general o dsPIC para los especializados en tratamiento digital de señales

Familia

La familia representa varios modelos que comparten la misma arquitectura de la CPU. E,g para 8 bits 10,14,16 y 18.

Los modelos difieren en las características internas del microcontrolador capacidad de memoria, número de instrucciones,…

Tipo de memoria de programa

C Memoria OTP, para productos finales

F Memoria Flash, para desarrollos

R ROM, en desuso dado que generalmente no se puede programar in-circuit

Page 11: Introducción PIC

Nomenclatura de dispositivos PIC (III)

Rango de voltajes de trabajo

Rangos comunes L (2 a 5.5V) y sin indicador (4 a 5.5V).

Modelo especifico

Distingue un microcontrolador en especifico de otro: 877A,84A, 819, etc. Relacionado con la capacidad de la memoria dedatos y número de pines.

Rango de temperaturas de trabajo

I (Industrial de -40 a 85 °C).

E (Extendido de -40 a 125 °C)

Page 12: Introducción PIC

Nomenclatura de dispositivos PIC (IV)

Empaquetado

Se tienen varias opciones : P (PDIP), PT (TQFP), SO (SOIC), SP

(SPDIP), S (SSOP), ML (QFN) y L (PLCC).

PDIP SOIC QFN

Page 13: Introducción PIC

Nomenclatura de dispositivos PIC (V)

Ejemplos

PIC16C877A I/P

PIC de la familia 16, memoria OTP, rango de voltaje 4 a 5.5V,

modelo 877A, temperatura industrial, empaquetado PDIP.

PIC18LF4550 I/S

PIC de la familia 18, memoria flash, rango de voltaje 2 a 5.5V,

modelo 4550, temperatura industrial, empaquetado TSSOP.

Page 14: Introducción PIC

PARTE II

Arquitectura

Page 15: Introducción PIC

Características principales de la Arquitectura

de un PIC 8 bits

Características principales de la Arquitectura Arquitectura Harvard.

Entre 35 y 83 instrucciones (RISC).

Máxima velocidad de reloj de 64 MHz

Hasta 16 MIPS

Capacidad de memoria de programa hasta 128 KB.

65536 instrucciones de 14 bits

Ejecución de cada instrucción en solo un ciclo de bus aexcepción de las que involucren salto.

1 ciclo de instrucción 4 ciclos de reloj

3 Modos de direccionamiento de memoria.

Memoria de datos y registros organizado en bancos detrabajo.

Page 16: Introducción PIC

Bloques Internos de un PIC 8 bits

En un Microcontrolador PIC se tienen los siguientes

bloques:

CPU

Memorias (Datos y Programa)

Periféricos

Puertos entrada/salida

Comunicación I2C, CAN

Sistemas especiales (auxiliares)

Reloj

In-Circuit Serial Programming

Brown out reset (bajada de voltaje)

Watchdog reset

Page 17: Introducción PIC

Bloques Internos de un PIC 8 bits-

Arquitectura del microcontrolador PIC16F87

2

• CPU

• Memorias

(Datos y

Programa)

• Periféricos

• Sistemas

especiales

(auxiliares)

Page 18: Introducción PIC

Bloques Internos de un PIC 8 bits

En un Microcontrolador PIC se tienen los siguientes

bloques:

CPU

Memorias (Datos y Programa)

Periféricos

Puertos entrada/salida

Comunicación I2C, CAN

Sistemas especiales (auxiliares)

Reloj

In-Circuit Serial Programming

Brown out reset (bajada de voltaje)

Watchdog reset

Page 19: Introducción PIC

Bloques Internos de un PIC 8 bits – CPU –

Arquitectura Hardware

• Arquitectura Von Neumann

• Ejecuta instrucciones y datos

desde un solo espacio de

memoria

• Limita el ancho de banda de

ejecución del programa

• Arquitectura Harvard

• Usa dos espacios de memoria

separado para los datos y las

instrucciones

• Mejora el ancho de banda de

ejecución del programa

• Permite diferentes tamaños

de datos e instrucciones.

Page 20: Introducción PIC

Arquitectura Harvard – Ejecución de

Instrucciones segmentadas (pipeline)

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

Example ProgramFetch

T0

Instruction Cycles

movlw 0x05 -

Pre-Fetched Instruction Executing Instruction

Page 21: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

Example ProgramFetch Execute

T0 T1

Instruction Cycles

Fetch

movwf REG1 movlw 0x05

Pre-Fetched Instruction Executing Instruction

Arquitectura Harvard – Ejecución de Instrucciones segmentadas (pipeline)

Page 22: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

Example ProgramFetch Execute

T0 T1 T2

Instruction Cycles

Fetch Execute

Fetch

call SUB1 movwf REG1

Pre-Fetched Instruction Executing Instruction

Time to execute normal instruction

Arquitectura Harvard – Ejecución de Instrucciones segmentadas (pipeline)

Page 23: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

Example ProgramFetch Execute

T0 T1 T2 T3

Instruction Cycles

Fetch Execute

Fetch Execute

Fetch

addwf REG2 call SUB1

Pre-Fetched Instruction Executing Instruction

Arquitectura Harvard – Ejecución de

Instrucciones segmentadas (pipeline)

Page 24: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

Example ProgramFetch Execute

T0

Flush

T1 T2 T3 T4

Instruction Cycles

Fetch Execute

Fetch Execute

Fetch

Fetch

movf PORTB,w call SUB1

Pre-Fetched Instruction Executing Instruction

Time to execute call

instruction includes

pipeline flush

Arquitectura Harvard – Ejecución de

Instrucciones segmentadas (pipeline)

Page 25: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

Example ProgramFetch Execute

T0

Flush

T1 T2 T3 T4 T5

Instruction Cycles

Fetch Execute

Fetch Execute

Fetch

Fetch Execute

Fetch

return movf PORTB,w

Pre-Fetched Instruction Executing Instruction

Arquitectura Harvard – Ejecución de

Instrucciones segmentadas (pipeline)

Page 26: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

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 return

Pre-Fetched Instruction Executing Instruction

Arquitectura Harvard – Ejecución de

Instrucciones segmentadas (pipeline)

Page 27: Introducción PIC

call SUB1

addwf REG2

movf PORTB,w

return

movf PORTC,w

return

SUB1

SUB2

movlw 0x05MAIN

movwf REG1

1

2

3

4

51

52

53

54

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 return

Pre-Fetched Instruction Executing Instruction

Arquitectura Harvard – Ejecución de

Instrucciones segmentadas (pipeline)

Page 28: Introducción PIC

8-bit Program Memory

14-bit Program Memory

1 1 0 0 0 0 k k k k k k k k

Instrucción de 8-bit tipica de un MCU 8-bitEjemplo: Freescale ‘Load Accumulator A’:

• 2 ubicaciones de memoria de programa

• Se ejecuta en 2 ciclos de instrucciones

Instrucción de 14-bit de un MCU PIC16 8-bit

Ejemplo: ‘Move Literal to Working Register’

• 1 ubicación de memoria de programa

• Se ejecuta en 1 ciclo de instrucción

Limita el ancho de

banda

Incrementa los

requerimientos de

memoria

Buses separados de datos y programas permiten esta estrategia ventaja de la arquitectura Hardvard

1 0 0 0 0 1 1 0

k k k k k k k k

ldaa #k

movlw k

Arquitectura Harvard – Instrucciones de palabra larga

Page 29: Introducción PIC

Bloques Internos de un PIC 8 bits - CPU

• Arithmetic and Logical Unit

(ALU)

• La unidad aritmético

lógica es el centro de

procesamiento del

microcontrolador.

Realiza funciones

aritmética y booleanas

entre los datos de sus

entrada.

• W register

• El registro de trabajo, es

usado por la ALU para

sus operaciones y en

algunos casos almacenaje

temporal de datos

variable local

Page 30: Introducción PIC

Bloques Internos de un PIC 8 bits - CPU

• Program Counter (PC)

• Es un registro que contiene la

dirección de memoria que será

ejecutada por el microcontrolador.

• Puede ser alterado por

instrucciones de salto de rutina

• Stack (Pila)

• La pila guarda el estado del PC

cuando se salta a una subrutina

(o interrupción) y se recupera el

estado del PC cuando se retorna

de una subrutina (o interrupción)

• Su profundidad define el numero

de veces que se puede anidar un

salto a rutina

Page 31: Introducción PIC

CPU - Instrucciones y el archivo de registro

(Register file)

Data

B

us

d

Opcode d Address

Decoded Instruction

from Program Memory:

Arithmetic/Logic Function to

be Performed Result

Destination

Address of Second Source

Operand

Archivo de registro:

Toda la memoria de

datos es parte del

archivo de registro

cualquier ubicación de

la memoria de datos

puede ser operada

directamente

Todos los periféricos

están mapeados en la

memoria de datos

como una serie de

registros

Set de instruciones

ortogonal: Todas las

instrucciones pueden

operar en cualquier

ubicación de la

memoria de datos

w f

w f

ALU

W

Data Memory

(Register File)

07h

08h

09h

0Ah

0Bh

0Ch

0Dh

0Eh

0Fh

10h

Page 32: Introducción PIC

CPU – Estructura de las instrucciones (I)

f f f f f f fdOpcode

067813

f f f f f f fOpcode

File Register Address

Destination (W or F)

Byte Oriented Operations

ADDWF 0x25, W

DestinationFile Register Address

• Instrucciones orientadas

a los Byte

• Opera sobre una

ubicación del archivo

de registro (memoria

de datos)

• 1º campo que

hace la CPU con los

datos

• 2º campo donde

almacena el

resultado (W o

archivo de registro)

• 3º campo

dirección del archivo

de registro

Page 33: Introducción PIC

f f f f f f fbb bOpcode

067913

File Register Address

Bit Position (0-7)

Bit Oriented Operations

BSF 0x25, 3

Bit PositionFile Register Address

10

CPU – Estructura de las instrucciones

• Instrucciones orientadas

al bit

• Opera sobre un bit

de una ubicación del

archivo de registro

(memoria de datos)

• 1º campo que

hace la CPU con los

datos

• 2º campo sobre

que bit operar

• 3º campo

dirección del archivo

de registro

Page 34: Introducción PIC

k k k k k k kkk k kOpcode

010 7813

k k k k k k kOpcode k

Literal Value

Literal and Control Operations

MOVLW 0x55

Literal Value

Opcode

CPU – Estructura de las instrucciones

• Instrucciones con valores

constantes

• Opera sobre una

ubicación del archivo

de registro (memoria

de datos) alterándola

con un valor

constante Suma,

resta, almacenamiento

• Instrucciones de control

• Pueden operar sobre

direcciones de

memoria o sin datos

• Saltos de rutina

call, goto, return

• Sleep, ClearWDT

Page 35: Introducción PIC

Byte Oriented Operations Bit Oriented Operations

addwf f,d

andwf f,d

clrf f

clrw -

comf f,d

decf f,d

decfsz f,d

incf f,d

incfsz f,d

iorwf f,d

movf f,d

movwf f

nop -

rlf f,d

rrf f,d

subwf f,d

swapf f,d

xorwf f,d

Add W and f

AND W with f

Clear f

Clear W

Complement f

Decrement f

Decrement f, Skip if 0

Increment f

Increment f, Skip if 0

Inclusive OR W with f

Move f

Move W to f

No Operation

Rotate Left f through Carry

Rotate Right f through Carry

Subtract W from f

Swap nibbles in f

Exclusive OR W with f

bcf f,b

bsf f,b

btfsc f,b

btfss f,b

Bit Clear f

Bit Set f

Bit Test f, Skip if Clear

Bit Test f, Skip if Set

Literal and Control Operations

addlw k

andlw k

call k

clrwdt -

goto k

iorlw k

movlw k

retfie -

retlw k

return -

sleep -

sublw k

xorlw k

Add literal and W

AND literal with W

Call subroutine

Clear Watchdog Timer

Go to address

Inclusive OR literal with W

Move literal to W

Return from interrupt

Return with literal in W

Return from Subroutine

Go into standby mode

Subtract W from literal

Exclusive OR literal with W

CPU – Set de instrucciones PIC16

Page 36: Introducción PIC

Bloques Internos de un PIC 8 bits

En un Microcontrolador PIC se tienen los siguientes

bloques:

CPU

Memorias (Datos y Programa)

Periféricos

Puertos entrada/salida

Comunicación I2C, CAN

Sistemas especiales (auxiliares)

Reloj

In-Circuit Serial Programming

Brown out reset (bajada de voltaje)

Watchdog reset

Page 37: Introducción PIC

Modos de direccionamiento de memoria -

PIC16

Acceso a la memoria de datos:

Directo addwf <data_address>, <d>

Indirecto addwf INDF, <d>

Inmediato(Constante) movlw <constant>

Acceso a la memoria de programa:

Absoluto goto <program_address>

Relativo addwf PCL,f

Page 38: Introducción PIC

Organización de la memoria de

programa – PIC16

La memoria de programa se divide

en cuatro paginas de 2k×14

El paginamiento de memoria solo

interesan en saltos de rutina. En

cualquier otro caso el uso es

secuencial.

La dirección 0000h se carga en un

evento de reset.

La dirección 0004h es usada en un

evento de interrupción.

El resto de dirección es de uso

libre

Reset Vector

Interrupt Vector

Page 0PCH = 00h

Page 1PCH = 08h

Page 2PCH = 10h

Page 3PCH = 18h

0000h

0004h

0800h

1000h

1800h

1FFFh

2k

2k

2k

2k

14-bits

Page 39: Introducción PIC

Organización de la memoria de Datos –

PIC16PIC16F876/877 Register File Map

368 Bytes of General Purpose RAM Plus Special Function Registers

Accesses

70h – 7Fh

Accesses

70h – 7Fh

Bank 0

000h

01Fh

020h

07Fh

Bank 1

080h

09Fh

0A0h

0FFh

0EFh

SFR SFR

GPR

96

Bytes

GPR

80

Bytes

128

Bytes

Bank 2

100h

110h

17Fh

16Fh

10FhSFR

Accesses

70h – 7Fh

Bank 3

180h

190h

1FFh

1EFh

18FhSFR

GPR

96

Bytes

GPR

96

Bytes

• La memoria de datos se

divide en cuatro bancos

accesibles uno a la vez.

• Cada banco se divide en:

• Special Function

Registers (SFRs) que

contiene todos los

registros de

periféricos

• General Purpose

Registers (GPRs)

que son de uso libre

del programador

Page 40: Introducción PIC

Organización de la memoria de datos –

PIC16 ejemplo

INDF

TMR0

PCL

STATUS

FSR

PORTA

PORTB

PORTC

PORTD

PORTE

PCLATH

INTCON

INDF

OPTION_REG

PCL

STATUS

FSR

TRISA

TRISB

TRISC

TRISD

TRISE

PCLATH

INTCON

INDF

TMR0

PCL

STATUS

FSR

PORTB

PCLATH

INTCON

INDF

OPTION_REG

PCL

STATUS

FSR

TRISB

PCLATH

INTCON

PIR1 PIE1 EEDATA EECON1

PIR2 PIE2 EEADR EECON2

Bank 0 Bank 1 Bank 2 Bank 3

000

001

002

003

004

005

006

007

008

009

00A

00B

00C

00D

080

081

082

083

084

085

086

087

088

089

08A

08B

08C

08D

100

101

102

103

104

105

106

107

108

109

10A

10B

10C

10D

180

181

182

183

184

185

186

187

188

189

18A

18B

18C

18D

Device Specific Registers

Page 41: Introducción PIC

Registro STATUS

IRP RP1 RP0 TO PD Z DC C

bit 7 bit 0

IRP: Register Bank Select (used for Indirect addressing)

0 = Bank 0, 1 1 = Bank 2, 3

RP1:RP0: Register Bank Select Bits (used for direct addressing)

00 = Bank 0, 01 = Bank 1, 10 = Bank 2, 11 = Bank 3

TO:Time-out bit

0 = A WDT time-out occurred

PD: Power-down bit

0 = SLEEP instruction executed

Z: Zero bit

1 = Result of arithmetic operation is zero

DC: Digit cary / borrow bit

1 = Carry out of 4th low order bit occurred / No borrow occurred

C: Carry / borrow bit

1 = Carry out of MSb occurred / No borrow occurred

Page 42: Introducción PIC

Bloques Internos de un PIC 8 bits

En un Microcontrolador PIC se tienen los siguientes

bloques:

CPU

Memorias (Datos y Programa)

Periféricos

Puertos entrada/salida

Comunicación I2C, CAN

Sistemas especiales (auxiliares)

Reloj

In-Circuit Serial Programming

Brown out reset (bajada de voltaje)

Watchdog reset

Page 43: Introducción PIC

Periféricos – Puertos de entrada y salida

• Puertos de entrada y salida

• Permiten la lectura y

escritura de señales

digitales

• Los pines se pueden

configurar de los dos

modos (E/S),

mediante la

configuración de

registros. E.g TRISB

• Los pines pueden

estar multiplexados

con otros periféricos

ADC, I2C,…

• Máxima corriente por

un pin 25 mA

• Máxima corriente en

un puerto 100 mA

Page 44: Introducción PIC

Periféricos – Puertos de entrada y salida

Ejemplos - Assembler

Page 45: Introducción PIC

Bloques Internos de un PIC 8 bits

En un Microcontrolador PIC se tienen los siguientes

bloques:

CPU

Memorias (Datos y Programa)

Periféricos

Puertos entrada/salida

Comunicación I2C, CAN

Sistemas especiales (auxiliares)

Reloj

In-Circuit Serial Programming

Brown out reset (bajada de voltaje)

Watchdog reset

Page 46: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

circuito de Reloj (Oscilador)

Modos de configuración del oscilador:

• Los diferentes modos permiten flexibilidad en el diseño

• Modo LP Menor consumo de corriente

• Modo RC o INTRC Menor coste aunque menor precisión de reloj

Page 47: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

POR, OST y PWRT

• POR: Power On Reset

• Cuando MCLR está en alto un

pulso de reset se genera si se

detecta activación del voltaje

de polarización al

encenderse el PIC se resetea

• PWRT: Power Up Timer

• El dispositivo se mantiene en

reset por 72 ms para permitir

un voltaje de polarización

estable

• OST: Oscillator Start-up Timer

• El dispositivo se mantiene en

reset por 1024 ciclos de reloj

para estabilizar el circuito de

reloj (Oscilador)

POR, PWRT y OST permiten un ejecución del

código estable sin ejecuciones en falso.

Page 48: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

Sleep mode

• El microcontrolador puede entrar en modo de ahorro de energía

Instrucción especifica SLEEP()

• Se detiene el circuito de reloj (Oscilador)

• Se mantiene el estatutos de la CPU (PC, registros, Pila) resume su

funcionamiento en el mismo estado

• El consumo de corriente es minimo 0,1 uA corrientes de fuga

• Característica ideal para sensores distribuidos Alimentados por energía solar

Page 49: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

Watchdog Timer (WDT)

• La función de wacthdog timer es ayudar al microcontrolador a recuperarse de

un mal funcionamiento del software se basa en el sistema de hombre

muerto de los trenes

• Utiliza un timer dedicado con circuito de oscilación propio

• El WDT se resetea con un instrucción dedicada CLRWDT

• El WDT se activa por software pero no se puede desactivar Evita

desactivación por error

• Al llegar al máximo del WDT (overflow) se resetea el microcontrolador

• El WDT tiene variados periodos de tiempo 18 ms a 3.0 segundos

• El WDT puede funcionar en modo SLEEP despertando el

microcontrolador

Page 50: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

In-Circuit Serial Programming (ICSP)

• El ICSP permite programar el microcontrolador in situ

• Se puede programar sobre el propio PCB

• Ideal para actualización de software y calibración de parámetros

• Solo requiere dos terminales para la programación

Page 51: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

Brown Out Reset (BOR ) - I

• La función del BOR es mantener el microcontrolador en reset

cuando el voltaje de polarización cae (o fluctúa) de un

determinado nivel de voltaje

• Evita funcionamiento errático del microcontrolador

• No necesita circuitos externos de supervisión de voltaje

• El BOR se configura en tiempo de programación

• No se puede activar o desactivar por software

• Se puede escoger entre cuatro niveles

• 2.5v, 2.7v, 4.2v, y 4.5v

Page 52: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

Brown Out Reset (BOR ) - II

• Ejemplos

Page 53: Introducción PIC

Sistemas especiales (Auxiliares) de un PIC –

Programmable Low Voltage Detect (PLVD )

• La función del PLVD es realizar

una alerta temprana antes que

entre en funcionamiento el Brown

Out Reset (BOR )

• Esto permite salvar el

contexto (estado) de la CPU

antes del RESET general

• Se puede seleccionar 16 niveles

de disparo para la advertencia

• Entre 1.8 v a 4.5 v en pasos

de 0.1 v o 0.2 v

• Se puede seleccionar una

referencia externa

Page 54: Introducción PIC