Modulo RTC by PCBWay

Molto spesso sentiamo parlare di RTC senza sapere esattamente di cosa stiamo parlando, perché spesso questo concetto viene dato per scontato o, più semplicemente, non viene approfondito. Quando una macchina è accesa l’hardware non ha alcun problema a tenere traccia dell’orario o della data, ma il discorso cambia quando il sistema viene messo in uno stato di basso consumo (Low Power State) o, ancor peggio, viene spento del tutto. Levando tensione, infatti, il conteggio del tempo viene irrimediabilmente perso. In altre parole, il Time Clock inizializza l’orologio di sistema partendo dal momento in cui la macchina viene accesa. Quella che può sembrare una banalità di poco conto, in realtà, non la è affatto. L’orologio di sistema, infatti, è assolutamente volatile e, ogni volta, ha bisogno di appoggiarsi alla rete internet o di essere manualmente regolato per tornare a funzionare correttamente. Immaginate di avere un orologio che, ogni volta che lo togliete dal polso, smette completamente di funzionare. Ogni mattina dovete ripetere l’operazione di regolazione dell’ora, cosa che rende totalmente vana l’ipotesi di utilizzarlo come sveglia (da spento, non sa più che ore siano).

 

RTC

 

Bene, e ora vi starete senz’altro chiedendo: d’accordo, ci hai appena detto che l’orologio di sistema calcola il tempo da quando si accende la macchina, ma come mai quando imposto la sveglia sul cellulare e poi lo spengo, l’indomani mattina mi butta inesorabilmente giù dal letto? Lo avevo spento, avrebbe dovuto perdere la memoria e invece quel maledetto ha fatto partire il verso del gallo alle 7 come ogni giorno. Il responsabile della vostra levataccia, è proprio l’hardware che gestisce il Real Time Clock.

Se vi state chiedendo quanto possa essere complesso il circuito dedicato al RTC sappiate che è molto più semplice di quanto si pensi. Quello che abbiamo utilizzato noi nel progetto realizzato in collaborazione con PCBWay presenta i seguenti componenti:

  • 1 x Integrato RTC M41T81M6F
  • 1 x Cristallo da 32.768 Khz, 12.5 pF
  • 1 x Batteria CR1220 (BAT)
  • 1 x Porta batteria CR 1220
  • 1 x Condensatore da 10uF (C1)
  • 2 x Resistore 4.7 KOhm (R1 e R2)
  • 1 x Connettore GPIO

Il cuore del modulo RTC è, senza alcun dubbio, l’integrato M41T81M6F di cui potete trovare il datasheet qui. Si tratta di un componente SMD a otto pin seriale a basso consumo con oscillatore integrato da 32.768 kHz (controllato tramite il cristallo di quarzo sui pin X1 e X0). Per la funzione clock/data vengono utilizzati otto byte della SRAM, configurati in formato decimale con codice binario (BCD). Tramite ulteriori 12 byte di SRAM l’integrato fornisce lo stato/controllo dell’allarme, la funzione watchdog e onda quadra. Gli indirizzi e i dati vengono trasferiti in serie tramite l’interfaccia I2C bidirezionale. Il registro viene incrementato automaticamente dopo ciascuna operazione di lettura o scrittura.

Le otto locazioni di memoria riservate contengono il secolo, l’anno, il mese, la data, giorno, ora, minuto, secondo e decimi/centesimi di secondo nel formato BCD da 24 ore. L’integrato gestisce automaticamente i mesi da 28 e 29 giorni e gli anni bisestili (fino al 2100).

la piedinatura dell’M41T81M6F è  la seguente:

Qui possiamo vedere lo schema di collegamento della circuiteria RTC:

 

Il pin 7 in questo caso specifico di utilizzo non viene collegato, mentre i due resistori da 4.7 KOhm vengono utilizzati in configurazione di pull-up. Questo perché, all’interno dell’integrato sono presenti transistor in configurazione open-drain, che necessitano di una tensione positiva sul drain per poter far scorrere corrente tra drain e source. Attraverso un valore di resistenza compreso tra 1 e 5 KOhm, con una tensione applicata di 5V stabiliamo il pull up che ci permette di far funzionare regolarmente l’integrato. Analogamente, C1 funziona come soppressore di disturbi, evitando possibili ripple sull’alimentazione. Quando l’alimentazione da 5V esterna al modulo RTC viene a mancare (tipicamente a causa dello spegnimento della macchina, la batteria CR1220 si occupa di fornire l’alimentazione necessaria al modulo che può quindi occuparsi del mantenimento della data e dell’ora.

 

 

Nell’immagine potete vedere il risultato finale. Ci teniamo a ringraziare ancora una volta PCBWay per il supporto datoci durante tutto il percorso di creazione del PCB, cosa decisamente non scontata. Se possedete un MISTer FPGA e volete far funzionare il modulo RTC, non vi resta che montarlo sul GPIO e accendere il MISTer. Il modulo rileverà l’ora e la data esatta, mantenendole allo spegnimento. Volete saperne di più sugli FPGA e, in particolare, sul MISTer? Pazientate fino al prossimo articolo e lo scoprirete! Se volete realizzare anche voi un circuito elettronico e avete già i file gerber, potete rivolgervi a PCBWay!

Join our groups on Telegram…

… and don’t forget our social channels!

 

###Da sempre appassionato di tecnologia, soffro di insaziabile curiosità scientifica. Adoro sperimentare e approfondire le mie conoscenze sulle ultime novità sul mercato in termini di hardware, alta tecnologia e videogiochi. Attratto e coinvolto nella prototipazione hardware dalla piattaforma Arduino, Raspberry Pi e Nvidia Jetson.### ###Always passionate about technology, I am suffering from insatiable scientific curiosity. I love experimenting and deepening of my knowledge on the latest news on the market in terms of hardware, hi-tech and video games. Got attracted and involved in hardware prototyping by the Arduino platform, Raspberry Pi and Nvidia Jetson.###

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.