Tutoriais

Conhecendo a Fundo o RTC

Eletrogate 28 de julho de 202110 minutos

Introdução

Podemos afirmar com confiança que o relógio de tempo real (RTC) é fundamental para a eletrônica moderna, pois ele é o componente responsável por manter qualquer máquina sincronizada com as demais, essa função é fundamental em servidores que mandem sites no ar, e também fundamental para os provedores da internet, que precisam trabalhar em conjunto constantemente para manter o enorme tráfego de informações. 

Para termos ainda mais noção do quão importante é o sincronismo dentro da eletrônica e das redes de informação, apenas o delay de 1ms (milissegundo), equivalente a 0,001 segundo, entre servidores e provedores pode fazer uma quantidade imensa de dados da internet ficar inacessível.

Existe uma grande gama de campos e projetos onde o conhecimento envolvendo RTC’s pode ser aplicado, um bom exemplo são os seguidores solares, que alteram constantemente a inclinação de placas fotovoltaicas a fim de manter o ângulo ideal com o sol durante todas as horas do dia, aumentando assim a eficiência de todo o sistema, vou deixar aqui um link de um desses projetos.

Para que os RTC’s tenham toda essa precisão eles utilizam o princípio físico da oscilação dos cristais de quartzo, esses cristais têm forma de diapasão (figura 1) e devido às propriedades piezoelétricas dos mesmos, quando uma corrente elétrica os percorre, eles vibram mecanicamente em uma frequência exata de 32,768 Hz. Utilizando dessa ressonância absurdamente precisa é possível obter sinais elétricos com frequências muito bem definidas, como é afirmado por Lemos (2016) 

Cristal oscilador de quartzo tipo diapasão (LEMOS, 2016)

Fígura 1 – Cristal oscilador de quartzo tipo diapasão. Fonte: LEMOS, 2016.

Utilizando desses sinais elétricos gerados pelo cristal é possível construir um RTC com precisão, vemos no diagrama como o circuito incorpora em si o cristal e o utiliza. O próprio arduino também possui um cristal que é usado para gerar sinais de sincronismo para seu processador. Ambos vistos na figura 2.

Blog-Eletrogate-Arduino-1

Figura 2.1 – Cristal de quartzo presente no arduino. Fonte: Eletrogate

Blog-Eletrogate-RTC-I2C-

Figura 2.2 – Diagrama do circuito interno de um RTC. Fonte própria.

Lembrando que esse diagrama é do software Proteus, nele podemos ver todos os componentes microscópicos que compõem o RTC.

Dentro do mundo da eletrônica, o uso de cristais de quartzo é muito amplo, pois eles são a alternativa mais prática para gerar sinais de sincronismo necessários para o funcionamento de circuitos integrados complexos.

Essa ressonância gerada pelos cristais também é empregada na construção de balanças extremamente precisas aplicadas em diversas áreas de estudo, vou deixar um e-book publicado pela editora Atena onde o tema é melhor abordado.


I²C, SCL e SDA

Agora que compreendemos os princípios de funcionamento do RTC, vamos nos aprofundar no meio de leitura dos seus sinais. Os relógios de tempo real operam usando o protocolo de comunicação I²C (Inter-Integrated Circuit) que permite que diversos dispositivos se comuniquem no mesmo barramento de forma distinta, sem ocorrer embaralhamento entre os sinais. Esse protocolo opera com padrão mestre-escravo, geralmente o mestre é o processador que conta com o clock de sincronismo, e os outros processadores operam subordinados a ele. 

Com o I²C é possível conectar diversos equipamentos e periféricos que precisam de comunicação de forma simples e utilizando pouco espaço (MANKAR et al, 2014) 

O barramento de comunicação do protocolo I²C utiliza de dois canais, o Serial Clock (SCL) gerado apenas pelo mestre do canal e servindo como sinal de sincronismo, e o Serial Date (SDA) sinal bidirecional que transporta a informação entre o mestre e os escravos. As informações são transportadas entre o start e o stop dos sinal I²C, esses pontos são definidos pelo estado dos canais SCL e SDA, na figura 3 é possível visualizar em qual momento é identificado o início e a parada da comunicação.

Blog-Eletrogate-RTC-I2C-1

Figura 3 – Sinais de Start e Stop. Fonte: LIU CANG, et al. 2019

Dessa forma todos os escravos são capazes de “entender” quando devem enviar suas informações, e como o mestre é responsável por definir o momento do start e do stop ele é capaz de pegar todas essas informações e organizá-las. 

Imagine um goleiro e um jogador no campo de futebol, eles estão treinando pênaltis. O goleiro precisa saber quando o jogador irá chutar para conseguir defender, então eles combinam que se o goleiro bater uma palma o jogador irá chutar 3 vezes em intervalos de 10 segundos entre cada chute. Nessa situação o goleiro está agindo como o mestre do canal, ordenando quando as coisas acontecem, as palmas estão agindo como sinal de sincronismo e o jogador está assumindo o papel do escravo, obedecendo o mestre e chutando, as informações são representadas pelas bolas de futebol, com o mestre sendo capaz de pegá-las porque sabe quando elas virão.

Imaginar essa situação com milhares de chutes com milésimos de diferença entre eles torna ela mais próxima do real.

Agora vamos montar uma simulação no software Proteus para sermos capazes de ver os sinais em tempo real com um osciloscópio virtual.


Simulações

Lembrando novamente que estamos usando outro software para construir o circuito porque com ele podemos ver o funcionamento elétrico de cada componente usando ferramentas como multímetros e osciloscópios, para não ficar muito confuso vou deixar duas imagens de mesmo circuito que vamos utilizar hoje, uma com o Fritzing e outra com o Proteus (Figura 4).

Blog-Eletrogate-RTC-I2C-diagrama

Figura 4.1 – Circuito desenvolvido no Fritzing. Fonte própria.

Blog-Eletrogate-RTC-I2C-Proteus

Figura 4.2 – Circuito desenvolvido no Proteus. Fonte própria.

Mesmo que pareça um pouco complicado, aprender a usar softwares de nível profissional como o Proteus vai ser de muita utilidade no futuro, e digo isso por experiência própria. Agora voltando a olhar para a figura 4.2 podemos ver dois componentes diferentes na parte inferior da imagem, eles são um decodificador de sinais I²C e um osciloscópio.

O decodificador em resumo serve para nos ajudar a ver o sinal em movimento, e mesmo com a ajuda desse componente é difícil conseguir achar algo tão rápido quanto esse sinal, já o osciloscópio é uma ferramenta que mostra em sua tela o aumento ou decrescimento da corrente e/ou voltagem elétrica com muita precisão.

Abaixo podemos ver o osciloscópio funcionando na figura 5 e mostrando um rápido sinal elétrico na linha amarela, agora eu peço que usem muito a imaginação para conseguir visualizar esse rabisco no monitor como a comunicação serial I²C, eu sei que não se parece com as ilustrações que apresentei no início do post, mas a teoria e a realidade sempre possuem diferenças.

Blog-Eletrogate-RTC-I2C-Proteus-Oscilopio

Figura 5 – Osciloscópio digital em funcionamento. Fonte própria.

Na figura podemos ver dois traços horizontais no monitor, um amarelo e outro azul, esses traços são o SDA e o SCL respectivamente. Como aprendemos com a figura 3, o start da comunicação acontece quando o SCL está em nivel analogico alto e o SDA está transicionando entre o estado alto e baixo, então a comunicação se inicia, essa comunicação no nosso exemplo são os dados do RTC, ou seja, podemos ver o momento quem que o RTC “fala” ao arduino que horas são. Essa troca de informações não acontece a cada segundo como um relógio comum, mas ocorre centenas de vezes por segundo, por isso é tão difícil ver claramente.

Uma vez que a comunicação se encerra o sinal de stop é enviado, esse sinal se caracteriza pela mudança do estado baixo para alto do SDA e do sinal constantemente alto do SCL, então o silêncio retorna ao canal. Lembrando que como isso é uma simulação, o sinal foi alterado para ficar o mais lento possível, na velocidade normal nós nem seríamos capazes de vê-lo no osciloscópio.


Considerações Finais

Meu objetivo com esse post foi apresentar da forma mais simples possível os princípios que fazem com que determinados componentes eletrônicos funcionem. A inspiração para escrever esse conteúdo veio de outro post escrito por Vitor Vidal, recomendo a leitura do seu post, ele apresenta de forma prática e sucinta tudo que você precisa saber para usar um RTC.

Obrigado por ler meu conteúdo até o final, qualquer dúvida estarei atento aos comentários, até a próxima!


Referências Bibliograficas

Lemos, Felipe Ptak. Cristais Osciladores de Quartzo como Sensores para Microscopia de Força Atômica. Diss. PUC-Rio, 2016.

Tischer, Cesar Augusto, and Gina Alejandra Gil Giraldo. “MICROBALANÇA DE CRISTAL DE QUARTZO NO MONITORAMENTO DE REAÇÕES EM TEMPO-REAL.” MICROBALANÇA DE CRISTAL DE QUARTZO NO MONITORAMENTO DE REAÇÕES EM TEMPO-REAL: 1-388.

Mankar, Jayant, et al. “Review of I2C protocol.” International Journal of Research in Advent Technology 2.1 (2014).

Liu, Cang, et al. “A flexible hardware architecture for slave device of i2c bus.” 2019 International Conference on Electronic Engineering and Informatics (EEI). IEEE, 2019

Conheça a Metodologia Eletrogate e ofereça aulas de robótica em sua escola!


Sobre o Autor


Mateus Santos
 

Técnico em Eletromecânica. Estuda e desenvolve pesquisas nas áreas de energias renováveis e gestão de recursos hídricos. Sempre em busca de mais conhecimentos.


Eletrogate

28 de julho de 2021

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!