I dispositivi RTCC (Real-Time Clock/Calendar) possono essere utilizzati con successo in applicazioni che richiedono l'indicazione accurata dell'ora esatta. L'MCP79410 è un'RTCC ricco di funzionalità che incorpora EEPROM, SRAM, ID e time-stamp.
Le caratteristiche dell'RTCC:
-
• interfaccia I2C bus
• RTCC con registri per tempo/data: anno, mese, data, giorno della settimana, ore, minuti, secondi
• Supporto per anno bisestile
• Tecnologia CMOS a bassa potenza
• Input per batteria di backup (mantiene SRAM, RTCC e cronometraggio)
• Oscillatore al cristallo 32,768 kHz
• Funziona fino a 1.3V VBAT
I moduli hardware utilizzati sulla scheda demo sono:
-
• LCD
• 2 pulsanti
• scheda figlia AC164140 RTCC PICtail
L'applicazione presenta un cronometro elettronico che ha due funzioni principali:
-
• visualizzazione delle tre variabili: ore, minuti, secondi. Questa operazione viene eseguita sull'LCD on-board; il formato è di 24 ore.
• start o stop/riavvio del cronometro con i due pulsanti on-board:
S1 = START KEY, S2 = STOP/RESTART KEY. Le variabili di tempo vengono visualizzate se il pulsante START (S1) è stato premuto.
L'applicazione è implementata sulla demo board PIC18 Explorer. Su questa scheda è stato importante ridurre il numero di pin GPIO utilizzato per accedere al display LCD. L'accesso al display LCD viene eseguito su un bus SPI (incluso nel modulo MSSP1) attraverso un chip ausiliario, l'expander MCP23S17 SPI.
il real time clock ha un importanza non indifferente…vi aggiungo qualche informazione su questo integrato…. che non è un rozzo contatore… prima di tutto è da notare sia la bassa potenza che è fondamentale (una Vcc di minimo 1,3 non è poco) che la compensazione digitale tempi per un controllo del tempo più accurato (infatti il critallo di quarzo a 32,768 kHz introduce un certo errore seppur piccolo)
si regola automaticamente per i mesi con meno di 31 giorni, comprese le correzioni per
gli anni bisestili. L’orologio funziona sia come piace a me ossia in formato da 24 ore o in formato di 12 ore con (AM e PM) ha poi allarme impostabile a partire dal secondo, minuto, ora, giorno, settimana o mese.
tramite “CLKOUT” si possono scegliere le frequenze di 32,768, 8,192 e 4,096 kHz e 1 Hz può essere generate dal cristallo di quarzo esterno.
tra le altre cose parlando di memoria, (ID, come s’è scritto anche nel titolo dell articolo) é riservato anche uno spazio a 64-bit, disponibile per un codice identificativo (ID) programmabile sia in fabbrica o da parte dell’utente finale.
Il dispositivo è completamente accessibile anche tramite la porta seriale,
La Vcc ideale è tra 1,8 V e 5,5 V, ma può operare fino a 1,3 V per il cronometraggio. E disponibile nello standard 8-lead SOIC, TSSOP, MSOP e 2×3 pacchetti TDFN.
Il modello preso in questione sembra molto versatile in quanto comprende anche 1k di eeprom e 64 byte di sram.
Non scordatevi la comodità di poter utilizzare l’rtc come ram tamponata.
Attualmente sto sviluppando il firmware per un cliente su una vecchia scheda in uso in campo alimentare. Una delle implementazioni richieste era di poter salvare costantemente cosa stesse facendo il sistema e a che punto fosse del programma corrente, così in caso di power fault alla riaccensione si poteva capire a che punto si era arrivati prima dell’interruzione di corrente. Invece di utilizzare la eeprom ho preferito usare l’rtc in quanto le scritture di salvataggio stato avvengono ogni pochi secondi; peccato che l’rtc montato a bordo è un vecchio pcf8563 della nxp che non dispone di sram, per cui mi è toccato giocare con i registri dell’allarme e di altre impostazioni e salvare lì combinazioni di bit e un byte.I modelli che escono ora di rtc per fortuna sono quasi tutti dotati di sram libera per l’utente.