Curso de C com microcontroladores MCF51QE128 e MC9S08QE128 – Parte 6

1. RTC – Real Time Counter

As principais características do RTC são:

  • Contador de 8 bits:
    • Módulo de 8 bits com limitador;
    • Período de interrupção controlável por software.
  • Três fontes de clock selecionáveis por software: estas fontes de clock são utilizadas em prescaler para gerar a base de tempo do RTC:
    • LPO: 1 kHz interno;
    • o ERCLK: External clock;
    • IRCLK: 32 kHz interno.

1.1. Diagrama em blocos

RTC

1.2. Funcionamento do RTC em Modos de operação

A família Flexis tem a característica de operar em modos diferenciados para baixo consumo de energia. São os Low Power Modes da família Flexis. Dependendo de qual LPM se está operando, o RTC terá comportamentos distintos, como mostrado a seguir.

1.2.1. Operação do RTC quando em Wait Mode

Neste modo o RTC continuará a operar se estiver habilitado antes de executar a instrução WAIT (que coloca o MCU em Wait Mode). Deste modo o próprio RTC pode ser utilizado para acordar o MCU do Wait Mode, através de interrupções programadas. Caso seja desejado o menor consumo de corrente possível, o RTC deve ser desligado por software quando não estiver sendo utilizado no Wait Mode.

1.2.2. Operação do RTC quando em Stop Mode

O RTC continua a funcionar em STOP2 ou STOP3 se ele foi habilitado antes das instruções STOP. Deste modo o próprio RTC pode ser a fonte de interrupção que será utilizada para acordar o MCU, se as interrupções estiverem habilitadas e configuradas.

A fonte de clock LPO está disponível nos modos STOP2 e STOP3. As fontes de clock ERCLK e IRCLK estão disponíveis apenas no modo STOP3.

1.2.3. Operação do RTC quando em Active Background Mode

O RTC suspenderá todas as contagens durante o Active Background Mode até que o MCU retorne ao modo de operação normal. A contagem recomeça no valor exato que estava no registrador até que o RTCMOD não seja escrito e os bits em RTCCPS e RTCLKS não sejam alterados.

1.3. Os registradores que controlam o RTC

1.3.1. RTCSC -> RTC Status and Control Register

O que cada bit faz neste registrador é mostrado na tabela a seguir:

1.3.2. RTCCNT -> RTC Counter Register

1.3.3. RTCMOD -> RTC Modulo Register

1.4. Funcionamento do RTC

Após qualquer reset do MCU o contador será parado e resetado (assume valor 0x00), o registrador de módulo também vai para 0x00 e o prescaler é desligado. Após o reset, a  fonte de clock de 1 kHz interna será selecionada como fonte padrão. Se um novo valor é ajustado nos bits RTCLKS, o prescaler e o RTCCNT serão zerados.

Para ajustar o valor do prescaler é necessário ajustar os bits RTCPS, de acordo com a tabela abaixo:

O modulo RTCMOD permite compara qualquer valor entre 0x00 e 0xFF. Quando o contador está ativo, este será incrementado através da fonte de clock ajustada até que o valor do contador seja igual ao valor do módulo RTCMOD. Neste momento o contador será resetado e continuará a contar.

A flag de interrupção RTIF será setada toda vez que uma igualdade ocorrer entre os registradores contador (RTCCNT) e o módulo (RTCMOD). Escrever no registrador RTCMOD causará o reset do prescaler e do RTCCNT.

1.4.1. Gráfico de estados lógicos no RTC

1.4.2. EXEMPLO 33: Como inicializar e utilizar o RTC

Veja no EXEMPLO 33 como fazer um pisca-pisca com um segundo utilizando o RTC:

1.4.3. EXEMPLO 34: Utilizando o RTC para contar tempo

Um código possível de se utilizar para contar tempo com o RTC é mostrado no EXEMPLO 34.

Veja que a configuração de segundos, minutos, horas e dias é de responsabilidade do programador.

Para ajustes de data (dia do mês, dia da semana, ano, etc.), também será de responsabilidade do programador escrever um código que incremente o calendário a cada estouro do RTC.

É bom lembrar que a fonte interna de 1 Khz, utilizada nos dois exemplos mostrados anteriormente, é bem menos precisa do que a utilização de um cristal de relógio de 32768 Hz.

Outros artigos da série

<< Curso de C com microcontroladores MCF51QE128 e MC9S08QE128 - Parte 5Curso de C com microcontroladores MCF51QE128 e MC9S08QE128 - Parte 7 >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Software » Curso de C com microcontroladores MCF51QE128 e MC9S08QE128 - Parte 6
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 

Soluções inteligentes para acionamento de MOSFETs/IGBTs com família STDRIVE

Data: 08/10 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link