Você está na página 1de 20

Traduzido do Inglês para o Português - www.onlinedoctranslator.

com

PIC18 (L) F2X / 4XK22


TABELA 2-3: OSC1 E OSC2 PIN STATES NO MODO DORMIR
Modo OSC Pin OSC1 Pin OSC2
RC, INTOSC com CLKOUT Flutuante, o resistor externo deve puxar alto Na lógica baixa (relógio / saída 4)

RC com IO Flutuante, o resistor externo deve puxar alto Configurado como PORTA, bit 6
INTOSC com IO Configurado como PORTA, bit 7 Configurado como PORTA, bit 6
EC com IO Flutuante, puxado por relógio externo Configurado como PORTA, bit 6

EC com CLKOUT Flutuante, puxado por relógio externo Na lógica baixa (relógio / saída 4)
LP, XT, HS Inversor de feedback desativado no nível de tensão Inversor de feedback desativado no nível de tensão
quiescente quiescente

Observação: Consulte a Tabela 4-2 em Seção 4.0 “Reiniciar” para tempos limite devido a Sleep e MCLR Reset.

2.9 Troca de relógio Após um Reset, os bits SCS <1: 0> do registro
OSCCON são sempre apagados.
A fonte de relógio do sistema pode ser alternada entre
fontes de relógio externas e internas através do software Observação: Qualquer mudança automática de relógio, que
usando os bits System Clock Select (SCS <1: 0>) do pode ocorrer a partir da inicialização de duas
registro OSCCON. velocidades ou do monitor de relógio à prova
de falhas, não atualiza os bits SCS <1: 0> do
Os dispositivos PIC18 (L) F2X / 4XK22 contêm circuitos para
registro OSCCON. O usuário pode monitorar
evitar “falhas” do relógio ao alternar entre as fontes do
os bits SOSCRUN, MFIOFS e LFIOFS do registro
relógio. Uma curta pausa no relógio do dispositivo ocorre
OSCCON2 e os bits HFIOFS e OSTS do registro
durante a troca do relógio. A duração dessa pausa é a soma
OSCCON para determinar a fonte de relógio do
de dois ciclos da antiga fonte de relógio e três a quatro ciclos
sistema atual.
da nova fonte de relógio. Esta fórmula assume que a nova
fonte de relógio é estável.
2.9.2 STATUS DE TEMPO LIMITE DE INICIALIZAÇÃO
As transições de clock são discutidas em mais detalhes em DO OSCILADOR (OSTS) BIT
Seção 3.1.2 "Entrando em modos de gerenciamento de energia".
O bit de status de tempo limite de inicialização do oscilador
2.9.1 SELEÇÃO DO RELÓGIO DO SISTEMA (OSTS) do registro OSCCON indica se o relógio do sistema
(SCS <1: 0>) BITS está funcionando a partir de uma fonte de relógio externa,
conforme definido pelos bits FOSC <3: 0> no registro de
Os bits de seleção do relógio do sistema (SCS <1: 0>) do configuração CONFIG1H, ou a partir do fonte de relógio
registro OSCCON selecionam a fonte de relógio do sistema interno. Em particular, quando o oscilador primário é a fonte
que é usada para a CPU e periféricos. do relógio primário, o OSTS indica que o temporizador de
• Quando SCS <1: 0> = 00, a fonte do relógio do sistema é inicialização do oscilador (OST) atingiu o tempo limite para os
determinada pela configuração dos bits FOSC <3: 0> no modos LP, XT ou HS.
registro de configuração CONFIG1H.
• Quando SCS <1: 0> = 10, a fonte do relógio do
sistema é escolhida pela freqüência do oscilador
interno selecionada pelo bit INTSRC do registro
OSCTUNE, o bit MFIOSEL do registro OSCCON2 e os
bits IRCF <2: 0> do registro OSCCON.

• Quando SCS <1: 0> = 01, a fonte de relógio do sistema é o


oscilador secundário de 32,768 kHz compartilhado com
Timer1, Timer3 e Timer5.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 41


PIC18 (L) F2X / 4XK22
2.9.3 CLOCK SWITCH TIMING 2.10 Modo de inicialização do relógio de duas velocidades

Ao alternar entre um oscilador e outro, o novo O modo de inicialização de duas velocidades fornece economia
oscilador pode não estar operando, o que economiza de energia adicional, minimizando a latência entre a inicialização
energia (consulte a Figura 2-9). Se for este o caso, há do oscilador externo e a execução do código. Em aplicativos que
um atraso após os bits SCS <1: 0> do registro fazem uso intenso do modo de suspensão, a inicialização de duas
OSCCON serem modificados antes que a mudança de velocidades removerá o tempo de inicialização do oscilador
frequência ocorra. Os bits OSTS e IOFS do registro externo do tempo gasto acordado e pode reduzir o consumo
OSCCON refletirão o status ativo atual dos osciladores geral de energia do dispositivo.
externos e HFINTOSC. O tempo de uma seleção de
Este modo permite que o aplicativo saia do modo de
frequência é o seguinte:
espera, execute algumas instruções usando o HFINTOSC
1. Os bits SCS <1: 0> do registro OSCCON são como fonte de relógio e volte para o estado de espera
modificados. sem esperar que o oscilador principal se estabilize.
2. O relógio antigo continua a operar até que o novo
Observação: Executando um DORMIR a instrução abortará o
esteja pronto.
tempo de inicialização do oscilador e fará com
3. O circuito do interruptor do relógio espera por duas bordas ascendentes
que o bit OSTS do registrador OSCCON
consecutivas do relógio antigo depois que o sinal de pronto do novo
permaneça limpo.
relógio se torna verdadeiro.
Quando o módulo do oscilador é configurado para os modos LP,
4. O relógio do sistema é mantido baixo, começando na próxima
XT ou HS, o temporizador de inicialização do oscilador (OST) é
borda decrescente do relógio antigo.
habilitado (consulte Seção 2.4.1 "Temporizador de inicialização
5. O circuito do interruptor do relógio espera por duas bordas
do oscilador (OST)") O OST suspenderá a execução do programa
ascendentes adicionais do novo relógio.
até que 1024 oscilações sejam contadas. O modo de inicialização
6. Na próxima borda de descida do novo relógio, a de duas velocidades minimiza o atraso na execução do código
retenção baixa no relógio do sistema é liberada e o operando a partir do oscilador interno enquanto o OST está
novo relógio é ativado como o relógio do sistema. contando. Quando a contagem de OST atinge 1024 e o bit OSTS
7. A chave do relógio está concluída. Consulte a do registro OSCCON é definido, a execução do programa muda
Figura 2-1 para obter mais detalhes.
para o oscilador externo.

Se o HFINTOSC for a fonte da frequência antiga e da nova, 2.10.1 CONFIGURAÇÃO DO MODO DE INICIALIZAÇÃO DE
não haverá retardo na inicialização antes que a nova DUAS VELOCIDADES
frequência seja ativada. Isso ocorre porque as frequências
O modo de inicialização de duas velocidades é habilitado quando todas as
antigas e novas são derivadas do HFINTOSC por meio do pós-
configurações a seguir são definidas conforme observado:
escalador e do multiplexador.

Especificações de atraso de inicialização estão localizado no • O modo de inicialização de duas velocidades é habilitado

Seção 27.0 "Características elétricas", em quando o IESO do registro de configuração CONFIG1H é

Especificações AC (Módulo Oscilador). definido.


• SCS <1: 0> (do registro OSCCON) = 00
• FOSC <2: 0> bits do registro de configuração CONFIG1H
são configurados para o modo LP, XT ou HS.

O modo de inicialização de duas velocidades torna-se ativo após:

• Reinicialização da inicialização (POR) e, se habilitado, após


o temporizador de inicialização (PWRT) expirar, ou
• Despertar do sono.

DS41412B-page 42 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
2.10.2 SEQUÊNCIA DE INICIALIZAÇÃO DE DUAS 2.10.3 VERIFICANDO O STATUS DO RELÓGIO DE DUAS
VELOCIDADES VELOCIDADES

1. Acorde com Reinicialização ou Suspensão ao ligar. Verificar o estado do bit OSTS do registro OSCCON irá
2. As instruções começam a ser executadas pelo oscilador confirmar se o microcontrolador está rodando a partir de
interno na frequência configurada nos bits IRCF <2: uma fonte de relógio externa, conforme definido pelos
0> do registro OSCCON. bits FOSC <2: 0> no registro de configuração CONFIG1H,
3. OST habilitado para contar 1.024 ciclos de clock ou o oscilador interno. OSTS =0 quando o oscilador
externo não está pronto, o que indica que o sistema está
externos.
funcionando a partir do oscilador interno.
4. OST expirou. O relógio externo está pronto.
5. OSTS está definido.
6. O interruptor do relógio termina de acordo com a Figura 2-9

FIGURA 2-9: CLOCK SWITCH TIMING

Alta velocidade Baixa velocidade

Relógio Antigo

Start-up Tempo(1) Sincronização do relógio Correndo

Novo Relógio

Novo Clk pronto

IRCF <2: 0> Selecione Antigo Selecione Novo

Relógio do Sistema

Baixa velocidade Alta velocidade

Relógio Antigo

Tempo de inicialização(1) Sincronização do relógio Correndo

Novo Relógio

Novo Clk pronto

IRCF <2: 0> Selecione Antigo Selecione Novo

Relógio do Sistema

Nota 1: O tempo de inicialização inclui TOST (1024 TOSC) para relógios externos, mais TPLL (aprox. 2 ms) para o modo HSPLL.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 43


PIC18 (L) F2X / 4XK22
2.11 Monitor de relógio à prova de falhas 2.11.3 LIMPEZA DE CONDIÇÕES DE SEGURANÇA DE FALHA

O Fail-Safe Clock Monitor (FSCM) permite que o dispositivo A condição à prova de falhas é eliminada por um dos
continue operando caso o oscilador externo falhe. O FSCM seguintes:
pode detectar a falha do oscilador a qualquer momento após • Qualquer reinicialização

o temporizador de inicialização do oscilador (OST) ter • Alternando o bit SCS1 do registro OSCCON
expirado. O FSCM é habilitado configurando o bit FCMEN no
Ambas as condições reiniciam o OST. Enquanto o OST está
registro de configuração CONFIG1H. O FSCM é aplicável a
em execução, o dispositivo continua a operar a partir do
todos os modos de oscilador externo (LP, XT, HS, EC, RC e
INTOSC selecionado no OSCCON. Quando o OST atinge o
RCIO).
tempo limite, a condição à prova de falhas é eliminada e o
dispositivo muda automaticamente para a fonte de relógio
FIGURA 2-10: DIAGRAMA DE BLOCO FSCM
externa. A condição à prova de falhas não precisa ser
Monitor de Relógio apagada antes que o sinalizador OSCFIF seja apagado.
Robusto
Externo
S Q
2.11.4 REINICIAR OU ACORDAR DO SONO
Relógio
O FSCM foi projetado para detectar uma falha do oscilador
depois que o temporizador de inicialização do oscilador (OST)
LFINTOSC expirou. O OST é usado após acordar do modo de suspensão e
÷ 64 R Q após qualquer tipo de reinicialização. O OST não é usado com os
Oscilador
modos EC ou RC Clock, de modo que o FSCM estará ativo assim
31 kHz 488 Hz que a reinicialização ou o despertar for concluído. .
(~ 32 -s) (~ 2 ms)
Observação: Devido à ampla gama de tempos de inicialização
Relógio de Amostra
Relógio do oscilador, o circuito à prova de falhas não está
Fracasso ativo durante a inicialização do oscilador (ou seja,
Detectou após sair do Reset ou Sleep). Após um período de
tempo apropriado, o usuário deve verificar o bit
OSTS do registro OSCCON para verificar a
2.11.1 DETECÇÃO SEGURA DE FALHA inicialização do oscilador e se a troca do relógio
O módulo FSCM detecta um oscilador com falha do sistema foi bem-sucedida
comparando o oscilador externo ao relógio de amostra concluído.
FSCM. O relógio de amostra é gerado dividindo o LFINTOSC
por 64 (consulte a Figura 2-10). Dentro do bloco do detector
de falha há uma trava. O relógio externo define a trava em Observação: Quando o dispositivo é configurado para
cada borda descendente do relógio externo. O relógio de monitoramento de relógio à prova de falhas
amostra limpa a trava em cada borda ascendente do relógio nos modos de oscilador HS, XT ou LS, o bit de
de amostra. Uma falha é detectada quando um meio ciclo configuração IESO também deve ser definido
inteiro do relógio de amostra decorre antes que o relógio para que o relógio alterne automaticamente
primário fique baixo. do relógio interno para o oscilador externo
quando o OST atingir o tempo limite .
2.11.2 OPERAÇÃO CONTRA FALHAS
Quando o relógio externo falha, o FSCM muda o relógio do
dispositivo para uma fonte de relógio interno e define o
sinalizador de bit OSCFIF do registro PIR2. O sinalizador OSCFIF
gerará uma interrupção se o bit OSCFIE do registro PIE2 também
estiver definido. O firmware do dispositivo pode então tomar
medidas para mitigar os problemas que podem surgir de uma
falha de relógio. O relógio do sistema continuará a ser originado
da fonte de relógio interno até que o firmware do dispositivo
reinicie com sucesso o oscilador externo e volte para a operação
externa. Uma transição automática de volta para a fonte do
relógio com falha não ocorrerá.

A fonte de relógio interna escolhida pelo FSCM é


determinada pelos bits IRCF <2: 0> do registro
OSCCON. Isso permite que o oscilador interno seja
configurado antes que ocorra uma falha.

DS41412B-page 44 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 2-11: DIAGRAMA DE TEMPO FSCM

Relógio de Amostra

Sistema Oscilador
Relógio Fracasso
Saída

Saída do monitor de relógio

(Q)
Fracasso
Detectou
OSCFIF

Teste Teste Teste

Observação: O relógio do sistema está normalmente em uma frequência muito mais alta do que o relógio de amostra. As frequências relativas neste
exemplo foram escolhidas para maior clareza.

TABELA 2-4: REGISTROS ASSOCIADOS A FONTES DE RELÓGIO


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
IPR2 OSCFIP C1IP C2IP EEIP BCL1IP HLVDIP TMR3IP CCP2IP 128
OSCCON IDLEN IRCF <2: 0> OSTS HFIOFS SCS <1: 0> 32
OSCCON2 PLLRDY SOSCRUN - MFIOSEL SOSCGO PRISD MFIOFS LFIOFS 33
OSCTUNE INTSRC PLLEN TUN <5: 0> 37
PIE2 OSCFIE C1IE C2IE EEIE BCL1IE HLVDIE TMR3IE CCP2IE 124
PIR2 OSCFIF C1IF C2IF EEIF BCL1IF HLVDIF TMR3IF CCP2IF 119
Lenda: - = locais não implementados, lidos como '0 '. Bits sombreados não são usados por fontes de clock.

TABELA 2-5: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS A FONTES DE RELÓGIO


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CONFIG1H IESO FCMEN PRICLKEN PLLCFG FOSC <3: 0> 351


CONFIG2L - - - BORV <1: 0> BOREN <1: 0> PWRTEN 352
CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354
Lenda: - = locais não implementados, lidos como '0 '. Bits sombreados não são usados para fontes de clock.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 45


PIC18 (L) F2X / 4XK22
NOTAS:

DS41412B-page 46 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

3.0 MODOS DE GERENCIAMENTO DE ENERGIA 3.1.1 FONTES DE RELÓGIO


Os bits SCS <1: 0> permitem a seleção de uma das três fontes de
Os dispositivos PIC18 (L) F2X / 4XK22 oferecem um total de sete
relógio para modos de gerenciamento de energia. Eles são:
modos de operação para um gerenciamento de energia mais
eficiente. Esses modos fornecem uma variedade de opções para • o relógio primário, conforme definido pelo FOSC <3: 0> bits
conservação seletiva de energia em aplicações onde os recursos de configuração
podem ser limitados (ou seja, dispositivos alimentados por • o relógio secundário (o oscilador SOSC)
bateria).
• o bloco oscilador interno
Existem três categorias de modos de gerenciamento de energia:
3.1.2 ENTRANDO EM GERENCIAMENTO DE POTÊNCIA
• Modos de execução
MODOS
• Modos inativos
A mudança de um modo de gerenciamento de energia para
• Modo dormir
outro começa carregando o registro OSCCON. Os bits SCS <1: 0>
Essas categorias definem quais partes do dispositivo têm selecionam a fonte do relógio e determinam qual modo de
clock e, às vezes, qual velocidade. Os modos Run e Idle operação ou inativo deve ser usado. Alterar esses bits causa uma
podem usar qualquer uma das três fontes de relógio mudança imediata para a nova fonte de relógio, supondo que ela
disponíveis (bloco oscilador primário, secundário ou interno). esteja em execução. O switch também pode estar sujeito a
O modo de suspensão não usa uma fonte de relógio. atrasos na transição do clock. Referir-se
Os modos de gerenciamento de energia incluem vários recursos de Seção 2.9 "Mudança de relógio" Para maiores informações.
economia de energia oferecidos no PIC anterior® dispositivos A entrada nos modos de espera ou suspensão com
microcontroladores. Um dos recursos de comutação do relógio gerenciamento de energia é acionada pela execução de um
permite que o controlador use o oscilador secundário (SOSC) no lugar DORMIR instrução. O modo real resultante depende do
do oscilador primário. Também está incluído o modo Sleep, oferecido status do bit IDLEN.
por todos os PIC® dispositivos microcontroladores, onde todos os
Dependendo do modo atual e do modo para o qual está sendo
relógios dos dispositivos são interrompidos.
alternado, uma mudança para um modo com gerenciamento de
energia nem sempre requer a configuração de todos esses bits.
3.1 Seleção de modos de gerenciamento de energia
Muitas transições podem ser feitas alterando os bits de seleção
A seleção de um modo de gerenciamento de energia requer duas do oscilador ou alterando o bit IDLEN, antes de emitir umDORMIR
decisões: instrução. Se o bit IDLEN já estiver configurado corretamente,
pode ser necessário apenas realizar umDORMIR
• Se a CPU deve ou não ser cronometrada
instrução para mudar para o modo desejado.
• A seleção de uma fonte de relógio

O bit IDLEN (OSCCON <7>) controla o clock da CPU,


enquanto os bits SCS <1: 0> (OSCCON <1: 0>) selecionam a
fonte do clock. Os modos individuais, configurações de bits,
fontes de relógio e módulos afetados estão resumidos na
Tabela 3-1.

TABELA 3-1: MODOS DE GERENCIAMENTO DE ENERGIA

OSCCON Bits Clocking do Módulo


Modo Fonte de relógio e oscilador disponível
IDLEN(1) SCS <1: 0> CPU Periféricos
Dormir 0 N/D Desligado Desligado Nenhum - Todos os relógios estão desativados

PRI_RUN N/D 00 Cronometrado Cronometrado Primário - LP, XT, HS, RC, EC e Bloco
Oscilador Interno(2).
Este é o modo normal de execução de potência total.

SEC_RUN N/D 01 Cronometrado Cronometrado Secundário - Bloco Oscilador


RC_RUN N/D 1x Cronometrado Cronometrado Interno do Oscilador SOSC(2)
PRI_IDLE 1 00 Desligado Cronometrado Primário - LP, XT, HS, HSPLL, RC, EC
SEC_IDLE 1 01 Desligado Cronometrado Secundário - Oscilador SOSC
RC_IDLE 1 1x Desligado Cronometrado Bloco Oscilador Interno(2)
Nota 1: IDLEN reflete seu valor quando o DORMIR a instrução é executada.
2: Inclui postscaler HFINTOSC e HFINTOSC, bem como a fonte LFINTOSC.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 47


PIC18 (L) F2X / 4XK22
3.1.3 MÚLTIPLAS FUNÇÕES DO O bit SOSCRUN é limpo, o bit OSTS é definido e o
COMANDO SLEEP relógio primário está fornecendo o relógio. Os bits
IDLEN e SCS não são afetados pelo wake-up e o
O modo de gerenciamento de energia que é invocado com o
oscilador SOSC continua a funcionar.
DORMIR a instrução é determinada pelo valor do bit IDLEN
no momento em que a instrução é executada. Se IDLEN =0,
quando DORMIR é executado, o dispositivo entra no modo 3.2.3 RC_RUN MODE
de hibernação e todos os relógios param e a energia mínima
No modo RC_RUN, a CPU e os periféricos são sincronizados a
é consumida. Se IDLEN =1, quando DORMIR for executado, o
partir do bloco oscilador interno usando o multiplexador
dispositivo entra no modo IDLE e o relógio do sistema
INTOSC. Neste modo, o relógio principal é desligado. Ao usar
continua a fornecer um relógio aos periféricos, mas é
a fonte LFINTOSC, este modo fornece a melhor conservação
desconectado da CPU.
de energia de todos os modos de execução, enquanto ainda
executa o código. Ele funciona bem para aplicativos de
3.2 Modos de Execução usuário que não são altamente sensíveis ao tempo ou que
não requerem relógios de alta velocidade o tempo todo. Se a
Nos modos de execução, os relógios do núcleo e dos
fonte de relógio primária for o bloco oscilador interno - seja
periféricos estão ativos. A diferença entre esses
LFINTOSC ou INTOSC (MFINTOSC ou HFINTOSC) - não há
modos é a fonte do relógio.
diferenças distinguíveis entre os modos PRI_RUN e RC_RUN
3.2.1 PRI_RUN MODE durante a execução. Entrar ou sair do modo RC_RUN,
entretanto, causa um atraso na mudança do relógio.
O modo PRI_RUN é o modo normal de execução de potência total Portanto, se a fonte de relógio primária for o bloco oscilador
do microcontrolador. Este também é o modo padrão após uma interno, o uso do modo RC_RUN não é recomendado.
reinicialização do dispositivo, a menos que a inicialização de duas
velocidades esteja ativada (consulteSeção 2.10 "Modo de
Este modo é acessado definindo o bit SCS1 para '1 '. Para
inicialização do relógio de duas velocidades" para detalhes).
manter a compatibilidade do software com dispositivos
Neste modo, o dispositivo é operado fora do oscilador definido
futuros, é recomendado que o bit SCS0 também seja
pelos bits FOSC <3: 0> do registro de configuração CONFIG1H.
apagado, mesmo que o bit seja ignorado. Quando a fonte do
relógio é comutada para o multiplexador INTOSC (consulte a
3.2.2 MODO SEC_RUN Figura 3-1), o oscilador principal é desligado e o bit OSTS é
limpo. Os bits IRCF <2: 0> (OSCCON <6: 4>) podem ser
No modo SEC_RUN, a CPU e os periféricos são sincronizados
modificados a qualquer momento para alterar
a partir do oscilador externo secundário. Isso dá aos
imediatamente a velocidade do clock.
usuários a opção de menor consumo de energia enquanto
usa uma fonte de relógio de alta precisão. Quando os bits IRCF e o bit INTSRC estão todos limpos, a
saída INTOSC (HFINTOSC / MFINTOSC) não é habilitada e
O modo SEC_RUN é inserido definindo os bits SCS <1: 0> para '01
os bits HFIOFS e MFIOFS permanecerão limpos. Não
'. Quando o modo SEC_RUN está ativo, todas as opções a seguir
haverá indicação da fonte do relógio atual. A fonte
são verdadeiras:
LFINTOSC está fornecendo os relógios do dispositivo.
• A fonte do relógio do dispositivo é alternada para o oscilador
SOSC (consulte a Figura 3-1)
Se os bits IRCF forem alterados de todos limpos (assim,
• O oscilador primário é desligado habilitando a saída INTOSC) ou se INTSRC ou MFIOSEL for
• O bit SOSCRUN (OSCCON2 <6>) está definido definido, o bit HFIOFS ou MFIOFS será definido depois que a
• O bit OSTS (OSCCON2 <3>) é apagado saída INTOSC se tornar estável. Para obter detalhes, consulte
a Tabela 3-2.

Os relógios do dispositivo continuam enquanto a fonte INTOSC


Observação: O oscilador externo secundário já deve estar se estabiliza após um intervalo de TIOBST.
funcionando antes de entrar no modo SEC_RUN.
Se os bits IRCF estavam anteriormente em um valor
Se o bit SOSCGO ou qualquer um dos bits
diferente de zero, ou se INTSRC foi definido antes de definir
TxSOSCEN não estiverem definidos quando os bits
SCS1 e a fonte INTOSC já estava estável, então o bit HFIOFS
SCS <1: 0> estiverem definidos como '01 ',
ou MFIOFS permanecerá definido.
a entrada no modo SEC_RUN não ocorrerá até que
o bit SOSCGO seja definido e o oscilador externo
secundário esteja pronto.

Nas transições do modo SEC_RUN para o modo PRI_RUN, os


periféricos e a CPU continuam a ser sincronizados a partir do
oscilador SOSC, enquanto o relógio primário é iniciado.
Quando o relógio principal fica pronto, ocorre uma mudança
de relógio de volta para o relógio principal (consulte a Figura
3-2). Quando a mudança do relógio for concluída, o

DS41412B-page 48 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
Nas transições do modo RC_RUN para o modo PRI_RUN, o
dispositivo continua a ser sincronizado a partir do
multiplexador INTOSC enquanto o relógio primário é
iniciado. Quando o relógio principal fica pronto, ocorre uma
mudança para o relógio principal (consulte a Figura 3-3).
Quando a alternância do relógio é concluída, o bit HFIOFS ou
MFIOFS é apagado, o bit OSTS é definido e o relógio principal
está fornecendo o relógio do dispositivo. Os bits IDLEN e SCS
não são afetados pelo switch. A fonte LFINTOSC continuará a
funcionar se o WDT ou o Monitor de relógio à prova de
falhas estiverem habilitados.

FIGURA 3-1: TEMPO DE TRANSIÇÃO PARA ENTRAR NO MODO SEC_RUN

Q1 Q2 Q3 Q4 Q1 Q2 3º T Q4 T1 Q2 3º T

SOSCI 1 2 3 n-1 n
Transição de Relógio(1)
OSC1

CPU
Relógio

Periférico
Relógio

Programa
Contador PC PC + 2 PC + 4

Nota 1: A transição do relógio normalmente ocorre dentro de 2-4 TOSC.

FIGURA 3-2: TEMPO DE TRANSIÇÃO DO MODO SEC_RUN PARA O MODO PRI_RUN (HSPLL)

T1 Q2 3º T Q4 T1 Q2 Q3 Q4 Q1 Q2 Q3

SOSC
OSC1
TOST (1) TPLL (1)
1 2 n-1 n
Relógio PLL
Saída
Relógio
Transição(2)
CPU Clock

Periférico
Relógio

Programa
PC PC + 2 PC + 4
Contador

SCS <1: 0> bits alterados Conjunto de bits OSTS

Nota 1: TOST = 1024 TOSC; TPLL = 2 ms (aprox). Esses intervalos não são mostrados em escala.
2: A transição do relógio normalmente ocorre dentro de 2-4 TOSC.

TABELA 3-2: BITS DE ESTABILIDADE DE FREQUÊNCIA DO OSCILADOR INTERNO

IRCF <2: 0> INTSRC MFIOSEL Indicação de estabilidade INTOSC

000 0 x MFIOFS = 0, HFIOFS = 0 LFINTOSC


000 1 0 MFIOFS = 0, HFIOFS = 1 HFINTOSC
000 1 1 MFIOFS = 1, HFIOFS = 0 MFINTOSC
010 ou 001 x 0 MFIOFS = 0, HFIOFS = 1 HFINTOSC
010 ou 001 x 1 MFIOFS = 1, HFIOFS = 0 MFINTOSC

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 49


PIC18 (L) F2X / 4XK22
FIGURA 3-3: TEMPO DE TRANSIÇÃO DO MODO RC_RUN PARA O MODO PRI_RUN

T1 Q2 3º T Q4 T1 Q2 Q3 Q4 Q1 Q2 Q3

INTOSC
Multiplexer

OSC1
TOST (1) TPLL(1)
1 2 n-1 n
Relógio PLL
Saída
Relógio
Transição(2)
CPU Clock

Periférico
Relógio

Programa
PC PC + 2 PC + 4
Contador

SCS <1: 0> bits alterados Conjunto de bits OSTS

Nota 1: TOST = 1024 TOSC; TPLL = 2 ms (aprox). Esses intervalos não são mostrados em escala.
2: A transição do relógio normalmente ocorre dentro de 2-4 TOSC.

DS41412B-page 50 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
3.3 Modo de hibernação 3.4 Modos inativos
O modo de suspensão gerenciada por energia nos Os modos inativos permitem que a CPU do controlador seja desligada
dispositivos PIC18 (L) F2X / 4XK22 é idêntico ao modo de seletivamente enquanto os periféricos continuam a operar. A seleção
suspensão legado oferecido em todos os outros PIC® de um modo inativo específico permite que os usuários gerenciem
dispositivos microcontroladores. É inserido limpando o bit ainda mais o consumo de energia.
IDLEN do registro OSCCON e executando oDORMIR
Se o bit IDLEN for definido como um '1 ' quando um DORMIR a
instrução. Isso desliga o oscilador selecionado (Figura 3-4) e
instrução é executada, os periféricos serão sincronizados a partir da
todos os bits de status da fonte de relógio são apagados.
fonte de relógio selecionada pelos bits SCS <1: 0>; no entanto, a CPU
Para entrar no modo de Suspensão a partir do modo de não terá seu clock. Os bits de status da fonte de relógio não são
Execução ou de Espera, não é necessário alternar o relógio. Isso afetados. Configurando IDLEN e executando umDORMIR A instrução
ocorre porque nenhum relógio é necessário depois que o fornece um método rápido de alternar de um determinado modo de
controlador entra no modo de espera. Se o WDT for selecionado, operação para o modo inativo correspondente.
a fonte LFINTOSC continuará a operar. Se o oscilador SOSC
Se o WDT for selecionado, a fonte LFINTOSC continuará a
estiver habilitado, ele também continuará a funcionar.
operar. Se o oscilador SOSC estiver habilitado, ele também
Quando um evento de ativação ocorre no modo de suspensão continuará a funcionar.
(por interrupção, redefinição ou tempo limite de WDT), o
Uma vez que a CPU não está executando instruções, as
dispositivo não será cronometrado até que a fonte de relógio
únicas saídas de qualquer um dos modos inativos são por
selecionada pelos bits SCS <1: 0> esteja pronta (consulte a Figura
interrupção, tempo limite de WDT ou um Reset. Quando
3-5), ou será cronometrado a partir do bloco oscilador interno se
ocorre um evento de despertar, a execução da CPU é
o Two-Speed Start-up ou o Fail-Safe Clock Monitor estiverem
atrasada por um intervalo de TCSD enquanto fica pronto para
habilitados (consulte Seção 24.0 “Recursos especiais da CPU”)
executar o código. Quando a CPU começa a executar o
Em ambos os casos, o bit OSTS é definido quando o relógio
código, ela continua com a mesma fonte de relógio do modo
principal está fornecendo os relógios do dispositivo. Os bits
Inativo atual. Por exemplo, ao sair do modo RC_IDLE, o bloco
IDLEN e SCS não são afetados pelo wake-up.
oscilador interno irá sincronizar a CPU e periféricos (em
outras palavras, modo RC_RUN). Os bits IDLEN e SCS não são
afetados pelo wake-up.

Enquanto estiver em qualquer modo inativo ou modo de suspensão, um


tempo limite de WDT resultará em um despertar WDT para o modo de
execução atualmente especificado pelos bits SCS <1: 0>.

FIGURA 3-4: TEMPO DE TRANSIÇÃO PARA ENTRAR NO MODO DORMIR


Q1 Q2 Q3 Q4 Q1

OSC1

CPU
Relógio

Periférico
Relógio

Dormir

Programa
Contador PC PC + 2

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 51


PIC18 (L) F2X / 4XK22
FIGURA 3-5: TEMPO DE TRANSIÇÃO PARA ACORDAR DO SONO (HSPLL)
T1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4

OSC1
TOST (1) TPLL (1)
Relógio PLL
Saída

CPU Clock

Periférico
Relógio

Programa
PC PC + 2 PC + 4 PC + 6
Contador

Wake Event Conjunto de bits OSTS

Nota 1: TOST = 1024 TOSC; TPLL = 2 ms (aprox). Esses intervalos não são mostrados em escala.

3.4.1 MODO PRI_IDLE 3.4.2 MODO SEC_IDLE


Este modo é único entre os três modos ociosos de baixo No modo SEC_IDLE, a CPU é desabilitada, mas os periféricos
consumo de energia, pois não desativa o relógio do dispositivo continuam a ser sincronizados a partir do oscilador SOSC. Este
principal. Para aplicações sensíveis ao tempo, isso permite a modo é acessado a partir de SEC_RUN definindo o bit IDLEN e
retomada mais rápida da operação do dispositivo com sua fonte executando umDORMIR instrução. Se o dispositivo estiver em
de relógio primária mais precisa, uma vez que a fonte de relógio outro modo de execução, defina o bit IDLEN primeiro e, em
não precisa "aquecer" ou fazer a transição de outro oscilador. seguida, defina os bits SCS <1: 0> como '01 ' e executar
DORMIR. Quando a fonte do relógio é comutada para o
oscilador SOSC, o oscilador primário é desligado, o bit
O modo PRI_IDLE é acessado a partir do modo PRI_RUN
OSTS é apagado e o bit SOSCRUN é definido.
definindo o bit IDLEN e executando um DORMIR instrução.
Se o dispositivo estiver em outro modo de execução, defina Quando ocorre um evento de ativação, os periféricos continuam
IDLEN primeiro, depois limpe os bits SCS e executeDORMIR. a ser cronometrados a partir do oscilador SOSC. Após um
Embora a CPU esteja desabilitada, os periféricos continuam a ser intervalo de TCSD após o evento de wake, a CPU começa a
sincronizados a partir da fonte de relógio primária especificada executar o código sendo cronometrado pelo oscilador SOSC. Os
pelos bits de configuração FOSC <3: 0>. O bit OSTS permanece bits IDLEN e SCS não são afetados pelo wake-up; o oscilador
definido (consulte a Figura 3-6). SOSC continua a funcionar (consulte a Figura 3-7).

Quando ocorre um evento de ativação, a CPU é sincronizada Observação: O oscilador SOSC já deve estar em execução
a partir da fonte de relógio primária. Um atraso do intervalo T antes de entrar no modo SEC_IDLE. Pelo
CSD é necessário entre o evento de ativação e o início da menos um dos bits de ativação do oscilador
execução do código. Isso é necessário para permitir que a secundário (SOSCGO, T1SOSCEN, T3SOSCEN
CPU fique pronta para executar as instruções. Após o ou T5SOSCEN) deve ser definido quando o
despertar, o bit OSTS permanece definido. Os bits IDLEN e DORMIR a instrução é executada. Caso
SCS não são afetados pelo wake-up (consulte a Figura 3-7). contrário, o relógio do sistema principal
continuará a operar no modo selecionado
anteriormente e o modo IDLE
correspondente será inserido (ou seja,
PRI_IDLE ou RC_IDLE).

FIGURA 3-6: TEMPO DE TRANSIÇÃO PARA ENTRAR PARA O MODO OCIOSO

T1 Q2 3º T Q4 T1

OSC1

CPU Clock

Periférico
Relógio

Programa
PC PC + 2
Contador

DS41412B-page 52 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 3-7: TEMPO DE TRANSIÇÃO PARA ACORDAR DO MODO IDLE PARA RUN

T1 Q2 3º T Q4

OSC1

TCSD
CPU Clock

Periférico
Relógio

Programa
PC
Contador

Wake Event

3.4.3 MODO RC_IDLE Os relógios dos periféricos continuam enquanto a fonte


HFINTOSC se estabiliza. Os bits HFIOFS e MFIOFS
No modo RC_IDLE, a CPU é desabilitada, mas os periféricos
permanecerão definidos se os bits IRCF foram definidos
continuam a ser sincronizados a partir do bloco oscilador
anteriormente em um valor diferente de zero ou se
interno da saída do multiplexador HFINTOSC. Este modo
INTSRC foi definido antes doDORMIR a instrução foi
permite a conservação de energia controlável durante os
executada e a fonte HFINTOSC já estava estável. Se os
períodos ociosos.
bits IRCF e INTSRC estiverem todos limpos, a saída
De RC_RUN, este modo é acessado definindo o bit IDLEN e HFINTOSC não será habilitada, os bits HFIOFS e MFIOFS
executando um DORMIR instrução. Se o dispositivo estiver permanecerão limpos e não haverá indicação da fonte
em outro modo de execução, primeiro defina IDLEN, em do relógio atual.
seguida, defina o bit SCS1 e executeDORMIR. Recomenda-se
Quando ocorre um evento de ativação, os periféricos
que SCS0 também seja apagado, embora seu valor seja
continuam a ser sincronizados a partir da saída do
ignorado, para manter a compatibilidade do software com
multiplexador HFINTOSC. Depois de um atraso de TCSD após
dispositivos futuros. O multiplexador HFINTOSC pode ser
o evento de wake, a CPU começa a executar o código que
usado para selecionar uma frequência de relógio mais alta,
está sendo cronometrado pelo multiplexador HFINTOSC. Os
modificando os bits IRCF antes de executar oDORMIR
bits IDLEN e SCS não são afetados pelo wake-up. A fonte
instrução. Quando a fonte do relógio é comutada para o
LFINTOSC continuará a funcionar se o WDT ou o Monitor de
multiplexador HFINTOSC, o oscilador primário é desligado e
relógio à prova de falhas estiverem habilitados.
o bit OSTS é apagado.

Se os bits IRCF forem configurados para qualquer valor diferente


de zero, ou se os bits INTSRC ou MFIOSEL forem configurados, a
saída HFINTOSC é habilitada. Os bits HFIOFS ou MFIOFS são
definidos, após a saída HFINTOSC se estabilizar após um
intervalo de TIOBST. Para obter informações sobre os bits HFIOFS
e MFIOFS, consulte a Tabela 3-2.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 53


PIC18 (L) F2X / 4XK22
3.5 Saindo dos modos inativo e hibernação 3.5.2 SAÍDA POR WDT TIME-OUT

Uma saída do modo de suspensão ou qualquer um dos modos de Um tempo limite de WDT causará diferentes ações, dependendo de

espera é acionado por qualquer um dos seguintes: qual modo de gerenciamento de energia o dispositivo estava quando
o tempo limite ocorre.
• uma interrupção
Se o dispositivo não estiver executando o código (todos os modos de
• estão prontos
espera e modo de suspensão), o tempo limite resultará em uma saída
• um Tempo Limite do Watchdog
do modo de gerenciamento de energia (consulte Seção 3.2 "Modos
Esta seção discute os gatilhos que causam saídas dos modos de execução" e Seção 3.3 “Modo Sleep”) Se o dispositivo estiver
gerenciados por energia. As ações do subsistema de clocking são executando código (todos os modos de execução), o tempo limite
discutidas em cada um dos modos de gerenciamento de energia resultará em uma redefinição do WDT (consulteSeção 24.2
(consulteSeção 3.2 "Modos de execução", Seção 3.3 "Modo de "Watchdog Timer (WDT)")
hibernação" e Seção 3.4 "Modos ociosos")
O temporizador WDT e o postscaler são apagados por qualquer
um dos seguintes:
3.5.1 SAIR POR INTERRUPÇÃO
• executando um DORMIR instrução
Qualquer uma das fontes de interrupção disponíveis pode fazer com que o
• executando um CLRWDT instrução
dispositivo saia de um modo de Espera ou do modo de Suspensão para um
modo de Execução. Para habilitar esta funcionalidade, uma fonte de • a perda da fonte de relógio atualmente selecionada quando

interrupção deve ser habilitada configurando seu bit habilitado em um dos o Monitor de relógio à prova de falhas está habilitado
registros INTCON ou PIE. A seqüência de saída é iniciada quando o bit de • modificar os bits IRCF no registro OSCCON quando o
flag de interrupção correspondente é definido. bloco oscilador interno é a fonte de relógio do
dispositivo
A instrução imediatamente após o DORMIR
a instrução é executada em todas as saídas por interrupção dos
3.5.3 SAIR POR RESET
modos Inativo ou Dormir. A execução do código então se ramifica
para o vetor de interrupção se o bit GIE / GIEH do registro INTCON Sair dos modos Sleep e Idle por Reset faz com que a
estiver definido, caso contrário, a execução do código continua sem execução do código reinicie no endereço 0. Consulte Seção
ramificação (consulteSeção 9.0 “Interrupções”) 4.0 “Reiniciar” para mais detalhes.

Um atraso fixo de intervalo TCSD após o evento de despertar é O tempo de retardo de saída de Reset ao início da
necessário ao sair dos modos de suspensão e ocioso. Este atraso execução do código depende das fontes de relógio antes
é necessário para que a CPU se prepare para a execução. A e depois do despertar e do tipo de oscilador. Os atrasos
execução da instrução é retomada no primeiro ciclo de clock de saída estão resumidos na Tabela 3-3.
após esse atraso.
3.5.4 SAIR SEM ATRASO DE
INICIALIZAÇÃO DO OSCILADOR
Certas saídas de modos gerenciados por energia não
chamam o OST de forma alguma. Existem dois casos:

• Modo PRI_IDLE, onde a fonte de relógio primária não é


interrompida e
• a fonte de relógio primária não é nenhum dos modos
LP, XT, HS ou HSPLL.

Nesses casos, a fonte de relógio primária não requer um


atraso de inicialização do oscilador, uma vez que já está em
execução (PRI_IDLE), ou normalmente não requer um atraso
de inicialização do oscilador (modos RC, EC, INTOSC e
INTOSCIO). No entanto, um atraso fixo do intervalo TCSD
após o evento de despertar, ainda é necessário ao sair dos
modos Sleep e Idle para permitir que a CPU se prepare para
a execução. A execução da instrução é retomada no primeiro
ciclo de clock após esse atraso.

DS41412B-page 54 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
TABELA 3-3: ATRASO DE SAÍDA AO ACORDAR POR REINICIAR DO MODO DORMIR OU QUALQUER MODO IDLE (POR
FONTES DE RELÓGIO)

Fonte do relógio Fonte do relógio Status do relógio pronto


Atraso de saída
antes de acordar depois de acordar Bit (OSCCON)
LP, XT, HS
Relógio do Dispositivo Primário HSPLL OSTS
TCSD(1)
(Modo PRI_IDLE) EC, RC
HFINTOSC(2) IOSF
LP, XT, HS TOST(3)
HSPLL TOST + tPLL (3) OSTS
T1OSC ou LFINTOSC(1)
EC, RC TCSD(1)
HFINTOSC(1) TIOBST(4) IOSF
LP, XT, HS TOST(4)
HSPLL TOST + tPLL (3) OSTS
HFINTOSC(2)
EC, RC TCSD(1)
HFINTOSC(1) Nenhum IOSF
LP, XT, HS TOST(3)
Nenhum HSPLL TOST + tPLL (3) OSTS
(1)
(Modo dormir) EC, RC TCSD
HFINTOSC(1) TIOBST(4) IOSF
Nota 1: TCSD é um atraso necessário ao acordar do modo de suspensão e de todos os modos inativos e é executado simultaneamente com qualquer outro
atrasos necessários (ver Seção 3.4 "Modos ociosos") Na reinicialização, o padrão do HFINTOSC é 1 MHz.
2: Inclui a fonte HFINTOSC 16 MHz e as frequências derivadas do postscaler.
3: TOST é o temporizador de inicialização do oscilador. tPLL é o temporizador de bloqueio PLL.
4: A execução continua durante o período de estabilização do HFINTOSC, TIOBST.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 55


PIC18 (L) F2X / 4XK22
3.6 Controle de Módulo Periférico Definir o bit PMD para um módulo desativa todas as fontes
Seletivo de relógio para esse módulo, reduzindo seu consumo de
energia a um mínimo absoluto. Nesse estado, os registros de
O modo inativo permite que os usuários reduzam controle e STATUS associados ao periférico também são
substancialmente o consumo de energia parando o clock da CPU. desabilitados, portanto, as gravações nesses registros não
Mesmo assim, os módulos periféricos ainda permanecem com têm efeito e os valores lidos são inválidos.
clock e, portanto, consomem energia. Pode haver casos em que a
aplicação precisa do que o modo IDLE não oferece: a alocação de
recursos de energia para o processamento da CPU com consumo
mínimo de energia dos periféricos. Os dispositivos da família
PIC18 (L) F2X / 4XK22 atendem a esse requisito, permitindo que
os módulos periféricos sejam desabilitados seletivamente,
reduzindo ou eliminando seu consumo de energia. Isso pode ser
feito com bits de controle nos registros de Desativação do
Módulo Periférico (PMD). Esses bits genericamente denominados
XXXMD estão localizados nos registros de controle PMD0, PMD1
ou PMD2.

CADASTRE-SE 3-1: PMD0: MÓDULO PERIFÉRICO DESATIVAR REGISTRO 0


R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' = bit
- n = Valor no POR Bit está definido apagado x = bit desconhecido

bit 7 UART2MD: Bit de controle de desativação do módulo periférico UART2


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 6 UART1MD: Bit de controle de desativação de módulo periférico UART1

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 5 TMR6MD: Bit de controle de desativação do módulo periférico Timer6


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 4 TMR5MD: Bit de controle de desativação do módulo periférico Timer5


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 3 TMR4MD: Bit de controle de desativação do módulo periférico Timer4

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 2 TMR3MD: Bit de controle de desativação do módulo periférico Timer3


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 1 TMR2MD: Bit de controle de desativação do módulo periférico Timer2


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 0 TMR1MD: Bit de controle de desativação do módulo periférico Timer1

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

DS41412B-page 56 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
CADASTRE-SE 3-2: PMD1: MÓDULO PERIFÉRICO DESATIVAR REGISTRO 1
R / W-0 R / W-0 U-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

MSSP2MD MSSP1MD - CCP5MD CCP4MD CCP3MD CCP2MD CCP1MD


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' = bit
- n = Valor no POR Bit está definido apagado x = bit desconhecido

bit 7 MSSP2MD: Bit de controle de desativação de módulo periférico MSSP2


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 6 MSSP1MD: Bit de controle de desativação de módulo periférico MSSP1

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 5 Não implementado: Lido como '0 '

bit 4 CCP5MD: Bit de controle de desativação do módulo periférico CCP5


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 3 CCP4MD: Bit de controle de desativação do módulo periférico CCP4

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 2 CCP3MD: Bit de controle de desativação do módulo periférico CCP3


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 1 CCP2MD: Bit de controle de desativação do módulo periférico CCP2


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 0 CCP1MD: Bit de controle de desativação do módulo periférico CCP1

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 57


PIC18 (L) F2X / 4XK22

REGISTRAR 3-3: PMD2: MÓDULO PERIFÉRICO DESATIVAR REGISTRO 2


U-0 U-0 U-0 U-0 R / W-0 R / W-0 R / W-0 R / W-0

- - - - CTMUMD CMP2MD CMP1MD ADCMD


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' = bit
- n = Valor no POR Bit está definido apagado x = bit desconhecido

bit 7-4 Não implementado: Lido como '0 '


bit 3 CTMUMD: Bit de controle de desativação do módulo periférico CTMU

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 2 CMP2MD: Bit de controle de desativação do módulo periférico comparador C2


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 1 CMP1MD: Bit de controle de desativação do módulo periférico comparador C1


1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

bit 0 ADCMD: Bit de controle de desativação do módulo periférico ADC

1 = O módulo está desabilitado, a fonte do relógio está desconectada, o módulo não extrai energia digital
0 = O módulo está habilitado, a fonte do relógio está conectada, o módulo extrai energia digital

DS41412B-page 58 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

4.0 RESET Um diagrama de blocos simplificado do circuito de reinicialização no chip é


mostrado na Figura 4-1.
Os dispositivos PIC18 (L) F2X / 4XK22 diferenciam entre
vários tipos de redefinição:
4.1 Registro RCON
a) Poder-on Reset (POR)
Os eventos de redefinição de dispositivo são rastreados por
b) MCLR Reiniciar durante a operação normal
meio do registro RCON (Registro 4-1). Os cinco bits inferiores
c) Reiniciar MCLR durante os modos de gerenciamento de energia
do registro indicam que ocorreu um evento específico de
d) Reinicialização do temporizador de watchdog (WDT) (durante Reset. Na maioria dos casos, esses bits só podem ser
a execução) apagados pelo evento e devem ser definidos pelo aplicativo
e) Reset Brown-out programável (BOR) após o evento. O estado desses bits de flag, em conjunto,
f) REDEFINIR Instrução pode ser lido para indicar o tipo de Reset que acabou de
ocorrer. Isso é descrito em mais detalhes em
g) Stack Full Reset
Seção 4.6 "Reiniciar estado dos registros".
h) Redefinir Stack Underflow
O registro RCON também possui bits de controle para definir a
Esta seção discute Resets gerados por MCLR, POR e BOR e
prioridade de interrupção (IPEN) e o controle de software do BOR
cobre a operação dos vários temporizadores de inicialização.
(SBOREN). A prioridade de interrupção é discutida em
Os eventos de redefinição de pilha são abordados em
Seção 9.0 “Interrupções”. BOR é coberto em
Seção 5.1.2.4 “Redefinições Stack Full e Underflow”.
Seção 4.4 "Redefinição de Brown-out (BOR)".
Reinicializações WDT são abordadas emSeção 24.2
"Watchdog Timer (WDT)".

FIGURA 4-1: DIAGRAMA DE BLOCO SIMPLIFICADO DO CIRCUITO DE RESET NO CHIP


REDEFINIR
Instrução

Pilha Stack Full / Underflow Reset


Pointer

Reinicialização externa

MCLRE
MCLR
( )_OCIOSO
Dormir

WDT
Tempo esgotado

VDD POR
Detectar

VDD
Apagão
Redefinir

BOREN S

OST / PWRT
OST(2) 1024 ciclos
Chip_Reset
Contador de ondulação de 10 bits
R Q
OSC1

32-s PWRT(2) Contador de ondulação

LFINTOSC de 11 bits de 65,5 ms

Habilitar PWRT

Habilitar OST(1)

Nota 1: Consulte a Tabela para situações de tempo limite.

2: Os contadores PWRT e OST são zerados por POR e BOR. Consulte as Seções 4.3 e 4.4.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 59


PIC18 (L) F2X / 4XK22

REGISTRO 4-1: RCON: REINICIAR REGISTRO DE CONTROLE

R / W-0/0 R / Wq / u U-0 R / W-1 / q R-1 / q R-1 / q R / Wq / u R / W-0 / q

IPEN SBOREN(1) - RI PARA PD POR(2) BOR


bit 7 bit 0

Lenda:
R = bit legível '1' = W = Bit gravável '0' U = bit não implementado, lido como '0'

bit definido = Bit está limpo u - n / n = Valor em POR e BOR / Valor em todas as outras

x = bit é desconhecido = inalterado redefinições q = depende da condição

bit 7 IPEN: Bit de habilitação de prioridade de interrupção

1 = Ativar níveis de prioridade nas interrupções


0 = Desative os níveis de prioridade nas interrupções (modo de compatibilidade PIC16CXXX)

bit 6 SBOREN: Bit de habilitação de software BOR(1)


Se BOREN <1: 0> = 01:
1 = BOR está habilitado
0 = BOR está desativado

Se BOREN <1: 0> = 00, 10 ou 11:


O bit está desabilitado e lido como '0 '.

bit 5 vocênimplementado: Lido como '0 '

bit 4 RI: REDEFINIR Bit da bandeira de instrução

1 = o REDEFINIR a instrução não foi executada (definida pelo firmware ou Power-on Reset)
0 = o REDEFINIR instrução foi executada causando uma reinicialização do dispositivo (deve ser definido no firmware após um
ocorre a reinicialização executada por código)

bit 3 PARA: Bit de sinalização de tempo limite do watchdog

1 = Definido pelo power-up, CLRWDT instrução ou DORMIR instrução


0 = Ocorreu um tempo limite WDT

bit 2 PD: Sinalizador de detecção de desligamento


1 = Definido por power-up ou pelo CLRWDT instrução
0 = Definido pela execução do DORMIR instrução
bit 1 POR: Bit de status de reinicialização na inicialização(2)

1 = Nenhuma reinicialização na inicialização ocorreu

0 = Ocorreu uma reinicialização ao ligar (deve ser definido no software após uma reinicialização ao ligar)

bit 0 BOR: Bit de status de redefinição de brown-out(3)

1 = Um Brown-out Reset não ocorreu (definido apenas pelo firmware)


0 = Ocorreu um Redefinição de Brown-out (deve ser definido pelo firmware após ocorrer um POR ou Redefinição de Brown-out)

Nota 1: Quando CONFIG2L [2: 1] = 01, então o estado de reinicialização do SBOREN é '1 '; caso contrário, é '0 '.

2: O valor real de Reinicialização do POR é determinado pelo tipo de reinicialização do dispositivo. Veja as notas após este
registro eSeção 4.6 "Reiniciar estado dos registros" para obter informações adicionais.
3: Veja a Tabela.

Nota 1: Redefinir Brown-out é indicado quando BOR é '0 ' e POR é '1 '(assumindo que POR e BOR foram definidos
para '1 ' por firmware imediatamente após POR).

2: Recomenda-se que o bit POR seja definido após um Power-on Reset ter sido detectado para que
Reinicializações ao ligar podem ser detectadas.

DS41412B-page 60 Preliminares - 2010 Microchip Technology Inc.

Você também pode gostar