Características
- Contador de tempo real de 32 bit com pré contador de 16 bits
- Pulsos por oscilador RC ou oscilador 32 KHz
- Alta resolução: Máxima frequência de contagem de 16 Khz
- Longos atrasos: Máximo tempo de espera 272 anos
- Extremamente baixo consumo de energia
- Disponível em todos os modos de suspensão exceto no modo estática
- Interrupção na eletrônica (hardware)
Descrição
O contador de tempo real (RTR) permite interrupções
periódicas em intervalos longos, ou em sequência de medida precisa
em tempo real. O RTR é alimentada a partir de um divisor de 16 bits,
o qual é temporizado a partir do oscilador RC ou um cristal de 32
Khz. Qualquer base do pre contador pode ser selecionado como fonte
dos pulsos para o RTR, permitindo tanto longos tempos de espera como
de alta resolução. O pré contador não pode ser escrito
diretamente mas pode ser zerado pelo usuário. O RTR pode gerar uma
interrupção, quando o valor do contador armazenado no registrador
da parte superior produzindo interrupções periódicas precisas.
Gestão de energia
A RTR é continuamente pulsado e permanece operando em todas as
modalidades de sono, exceto na estática. Interrupções não estão
disponíveis no modo de parada profunda.
Interrupção
A linha de interrupção do RTR está ligado a uma das fontes
internas do controlador de interrupção. Para usar a interrupção
do RTR é requerido a devida programação do controlador de
interrupção em primeiro lugar.
Operação de depuração
O
pré contador do RTR é congelado durante a operação de depuração
a menos que o sistema OCD mantenha os periféricos em execução na
operação de depuração.
Pulsos de disparo
O RTR pode usar o oscilador RC interno como fonte dos pulsos. Este
oscilador é habilitado sempre que este módulo esta ativo. É
importante que seja consultado as características elétricas
referentes a freqüência do oscilador denominada de fRC. O RTR
também pode usar um cristal oscilador de 32 KHz como fonte dos
pulsos. Este oscilador deve ser habilitado antes do uso. Consulte as
informações sobre o gerenciador de energia para obter mais
detalhes.
Descrição Funcional
A RTR é habilitado escrevendo um nível elevado no bit EN do
registrador CTRL. O pré contador ou divisor de 16 bits então irá
incrementar no pulsador selecionado. O divisor não pode ser lido ou
escrito mas pode ser reiniciado com o controle PCLR.
Fonte dos pulsos
O RTC é ativado escrevendo no bit EN do registrador CTRL um 1. O
divisor de 16 bits será então
incrementado no relógio seleccionado. O divisor não pode ser lido ou escrito, mas pode ser redefinido escrevendo no controle PCLR. O bit CLK32 seleciona o oscilador RC ou o oscilador de 32 kHz como fonte de pulsos para o divisor. O bit PSEL seleciona o contador, selecionando a fonte para o relógio do RTC:
incrementado no relógio seleccionado. O divisor não pode ser lido ou escrito, mas pode ser redefinido escrevendo no controle PCLR. O bit CLK32 seleciona o oscilador RC ou o oscilador de 32 kHz como fonte de pulsos para o divisor. O bit PSEL seleciona o contador, selecionando a fonte para o relógio do RTC:
Quando ativado, o RTC será incrementado até
atingir TOP e, em seguida, indo para 0x0. O estado do bit TOPI no
registrador ISR é definido quando isso ocorre. De 0x0 o contador
contará TOP + 1 ciclos do relógio fonte antes que volte para 0x0. O
valor da contagem do RTC pode ser lido ou escrito no registrador VAL.
Devido a sincronização, a leitura contínua da configuração do
registrador VAL na parte menor do contador irá ignorar qualquer
outro valor.
RTC interrupção
Escrevendo o bit TOPI no registrador IER permite a
interrupção do RTC, ao escrever o bit correspondente no IDR
desativa a interrupção RTC. IMR pode ser lido para ver se a
interrupção esta ou não ativada. Se ativada, uma interrupção
será gerada se o sinalizador TOPI no registrador ISR estiver
elevado. A bandeira pode ser apagada escrevendo um elevado no bit
TOPI do registrador ICR. A interrupção RTC pode acordar a UCP de
todos os modos, exceto no modo sono na “parada profunda” e no
“estático”.
RTC despertador
O
RTC também pode acordar a UCP diretamente sem disparar uma
interrupção quando a bandeira TOPI no registrador ISR estiver
elevado. Neste caso, a UCP continuará a executando a instrução de
acordo com a instrução do sono. Esta ativação do disparo do RTC é
habilitado escrevendo um nível elevado no bit WAKE_EN do registrador
CTRL. Quando a UCP acorda do sono, o bit WAKE_EN deve ser escrito a
zero para limpar o sinal de ativação interna do controlador de
sono, caso contrário, uma nova instrução sono não terá nenhum
efeito. O despertar do RTC está disponível em todos os modos do
sono, exceto no modo estático. O despertar do RTC pode ser
configurado independentemente da interrupção do RTC.
Bit de ocupado
Devido ao cruzamento dos pulsos do relógio, o RTC utiliza alguns
ciclos de pulsos para propagar os valores armazenados no registrador
CTRL, TOP e VAL para o RTC. O bit de ocupado no registrador CTRL indica
que a gravação do registrador ainda está em curso e todas as
gravações do regsitrador CTRL, TOP e VAL serão descartados até
desocupar isto é o bit ocupado ir para baixo novamente.
Nenhum comentário:
Postar um comentário