Escolar Documentos
Profissional Documentos
Cultura Documentos
Datasheet (041-060) en PT
Datasheet (041-060) en PT
com
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.
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
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
Relógio Antigo
Novo Relógio
Relógio do Sistema
Relógio Antigo
Novo Relógio
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.
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á.
Relógio de Amostra
Sistema Oscilador
Relógio Fracasso
Saída
(Q)
Fracasso
Detectou
OSCFIF
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.
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.
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.
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
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
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.
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
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.
OSC1
CPU
Relógio
Periférico
Relógio
Dormir
Programa
Contador PC PC + 2
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
Nota 1: TOST = 1024 TOSC; TPLL = 2 ms (aprox). Esses intervalos não são mostrados em escala.
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).
T1 Q2 3º T Q4 T1
OSC1
CPU Clock
Periférico
Relógio
Programa
PC PC + 2
Contador
T1 Q2 3º T Q4
OSC1
TCSD
CPU Clock
Periférico
Relógio
Programa
PC
Contador
Wake Event
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:
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
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
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
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
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
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
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
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
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
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
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
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
Habilitar PWRT
Habilitar OST(1)
2: Os contadores PWRT e OST são zerados por POR e BOR. Consulte as Seções 4.3 e 4.4.
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
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)
0 = Ocorreu uma reinicialização ao ligar (deve ser definido no software após uma reinicialização ao ligar)
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.