RTC  e Micro



 

INTRODUZIONE

Prima di addentrarci nei dettagli del progetto parliamo un po' dell'integrato DS1307 prodotto dalla Maxim. Il chip in questione e' un RTC acronimo di REAL TIME CLOCK ovvero di orologio / calendario elettronico. Praticamente questo dispositivo, se alimentato, conta il tempo generando dei dati digitali che rappresentano l'ora e la data che possono essere letti da un master I2C. Il formato dei dati, che rappresentato le informazioni temporali, e' il BCD ( BINARY CODED DECIMAL). L' RTC  fornisce le seguenti informazioni: secondi, minuti, ore, giorno, data, mese, anno (fino al 2100!). La data di fine mese e' regolata automaticamente per i mesi con meno di 31 giorni e sono comprese le correzioni per l'anno bisestile. L'orologio funziona sia nel formato 24 ore o 12 ore con indicatore AM / PM. Inoltre sono disponibili 56 byte di RAM utilizzabili dal microcontrollore 

Per quanto riguarda la alimentazione del DS1307 ci sono due fonti di alimentazione: una batteria di backup e una alimentazione di funzionamento normale VCC. Se la l'alimentazione normale VCC viene a mancare si passa automaticamente nella modalità di basso consumo ( circa 500nA)  sotto batteria di backup mantenendo sempre viva la funzione di conteggio del tempo ma non permettendo la comunicazione seriale via i2c . La comunicazione tra il dispositivo e il master e' di tipo  I2C in cui il dispositivo e' uno slave con indirizzo predefinito. Il dispositivo può' generare in uscita un segnale ad onda quadra a 32kHz se configurato in maniera opportuna tramite registro interno.

Pilotaggio con un microcontrollore

L'applicazione di base di un RTC richiede un interfacciamento con un microcontrollore. Nel disegno e' rappresentata lo schema generale di come utilizzare un RTC  con un microcontrollore.

schema di utlizzo del rtc con un micro

Fig.1: Schema applicativo del RTC DS1307 con microcontrollore

In queste pagine e' proposto l'utilizzo del RTC DS1307 utilizzando un microcontrollore della Microchip. Nello specifico si utilizzerà il micro modello 16F628A ma possono essere utilizzati tutti i modelli di micro a 8 bit adattando il firmware. Il progetto permette di leggere attraverso un semplice programma, che gira sul PC, le informazioni contenute nell'RTC. L'interfacciamento tra il PC e il circuito e' di tipo RS232 mentre tra il micro e l'RTC e' di tipo I2C. Il micro usato ha una periferica UART  con cui si realizzerà la comunicazione RS232 con il PC interfacciando il circuito tramite un traslatore di livelli come il DS232. Per quanto riguarda la comunicazione I2C, il micro non dispone di interfaccia I2C apposita che quindi verrà implementata via codice. In figura 2 lo schema elettrico del circuito.

schema elettrico del circuito applicatico del ds1307 con micro

Fig.2: Schema elettrico del circuito applicativo del RTC ds1307 con controllore