Max6901, Wire serial rtc in a tdfn, Using the alarm – Rainbow Electronics MAX6901 User Manual
Page 10

MAX6901
does not happen coincident with a Seconds counter
increment to ensure accurate time data is being read.
The clock counters continue to count and keep accu-
rate time during the Read operation.
The simplest way to read the timekeeping registers is to
use a Burst Read. In a Burst Read, the main timekeep-
ing registers (Seconds, Minutes, Hours, Date, Month,
Day, Year) and the Control register are read sequential-
ly in the order listed with the Seconds register first.
They are read out as a group of eight registers, with 8
bits each. All timekeeping registers (except Century)
are latched upon the receipt of the Burst Read com-
mand. The worst-case error between the “actual” time
and the “read” time is 1 second for a normal data transfer.
The timekeeping registers may also be read using
Single Reads. If Single Reads are used, it is necessary
to do some error checking on the receiving end,
because it is possible that the clock counters could
change during the Read operations, and report inaccu-
rate time data. The potential for error is when the
Seconds register increments before all the registers are
read. For example, suppose a carry of 13:59:59 to
14:00:00 occurs during Single Read operations. The
net data read could be 14:59:59, which is erroneous.
To prevent errors from occurring with Single Read oper-
ations, read the Seconds register first (initial-seconds)
and store this value for future comparison. After the
remaining timekeeping registers have been read,
reread the Seconds register (final-seconds). Check that
the final-seconds value equals the initial-seconds value;
if not, repeat the entire Single Read process. Using
Single Reads at a 100kHz serial speed, it takes under
2.5ms to read all seven of the timekeeping registers,
including two reads of the Seconds register.
Example: Reading the Clock
with a Burst Read
To read the time with a Burst Read, send BFh as the
Address/Command byte. Then clock out 8 bytes,
Seconds, Minutes, Hours, Date of the month, Month,
Day of the week, Year, and finally the Control byte. All
data are output LSB first. Decode the required informa-
tion based on the register definitions listed in Table 2.
Using the Alarm
A polled alarm function is available by reading the ALM
OUT bit. The ALM OUT bit is D7 of the Minutes time-
keeping register. A logic 1 in ALM OUT indicates the
alarm function is triggered. There are eight registers
associated with the alarm function, seven programma-
ble Alarm Threshold registers and one programmable
Alarm Configuration register. The Alarm Configuration
register determines which Alarm Threshold registers
are compared to the timekeeping registers, and the
ALM OUT bit sets if the compared registers are equal.
Table 2 shows the function of each bit of the Alarm
Configuration register. Placing a logic 1 in any given bit
of the Alarm Configuration register enables the respec-
3-Wire Serial RTC in a TDFN
10
______________________________________________________________________________________
WRITE
ADDRESS/COMMAND
BYTE (HEX)
READ
ADDRESS/COMMAND
BYTE (HEX)
DESCRIPTION
POR CONTENTS
(HEX)
E4
E5
RAM 18
Indeterminate
E6
E7
RAM 19
Indeterminate
E8
E9
RAM 20
Indeterminate
EA
EB
RAM 21
Indeterminate
EC
ED
RAM 22
Indeterminate
EE
EF
RAM 23
Indeterminate
F0
F1
RAM 24
Indeterminate
F2
F3
RAM 25
Indeterminate
F4
F5
RAM 26
Indeterminate
F6
F7
RAM 27
Indeterminate
F8
F9
RAM 28
Indeterminate
FA
FB
RAM 29
Indeterminate
FC
FD
RAM 30
Indeterminate
FE
FF
RAM Burst
Nonapplicable
Table 3. HEX Register Address/Description (continued)