For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at
1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com.
General Description
The MAX6900, I2C™-bus-compatible real-time clock
(RTC) in a 6-pin TDFN package contains a real-time
clock/calendar and 31-byte
✕
8-bit wide of static random access memory (SRAM). The real-time clock/calendar provides seconds, minutes, hours, day, date,
month, and year information. The end of the month date
is automatically adjusted for months with fewer than 31
days, including corrections for leap year up to the year
2100. The clock operates in either the 24hr or 12hr format with an AM/PM indicator.
Applications
Portable Instruments
Point-of-Sale Equipment
Intelligent Instruments
Battery-Powered Products
Features
♦ Real-Time Clock Counts Seconds, Minutes,
Hours, Date, Month, Day, and Year
♦ Leap Year Compensation Valid up to Year 2100
♦ Fast (400kHz) I
2
C-Bus-Compatible Interface from
2.0V to 5.5V
♦ 31
✕
8 SRAM for Scratchpad Data Storage
♦ Uses Standard 32.768kHz, 12.5pF Load, Watch
Crystal
♦ Ultra-Low 225nA (typ) Timekeeping Current
♦ Single-Byte or Multiple-Byte (Burst Mode) Data
Transfer for Read or Write of Clock Registers or
SRAM
♦ 6-Pin 3mm x 3mm x 0.8mm TDFN Surface-Mount
Package
♦ No External Crystal Bias Resistors or Capacitors
I2C is a trademark of Philips Corp. Purchase of I2C components
of Maxim Integrated Products, Inc., or one of its sublicensed
Associated Companies, conveys a license under the Philips I
2
C
Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard Specification
as defined by Philips.
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
VCCto GND..............................................................-0.3V to +6V
All Other Pins to GND ................................-0.3V to (V
CC
+ 0.3V)
Input Current
All Pins ............................................................................20mA
Output Current
All Outputs .......................................................................20mA
, unless otherwise noted. Typical values are at VCC= +3.3V, TA= +25°C.) (Notes 1, 6)
Note 1: All parameters are 100% tested at TA= +25°C. Limits over temperature are guaranteed by design and not production tested.
Note 2: I
CC
is specified with SCL = 400kHz and SDA = 400kHz.
Note 3: I
TK
is specified with SCL = Logic High (4.7kΩ pullup resistor) and SDA = Logic High (4.7kΩ pullup resistor);
I
2
C-compatible bus inactive.
Note 4: MAX6900 I/O pins do not obstruct the SDA and SCL lines if V
CC
is switched off.
Note 5: Guaranteed by design. Not subject to production testing.
Note 6: All values referred to V
IH
min
and V
IL
max
levels.
Note 7: The MAX6900 internally provides a hold time of at least 300ns for the SDA signal (referred to the V
IH
min
of the SCL signal)
in order to bridge the undefined region of the falling edge of SCL.
Note 8: C
B
= total capacitance of one bus line in pF.
Note 9: The maximum t
f
for the SDA and SCL bus lines is specified at 300ns. The maximum fall time for the SDA output stage tfis
specified at 250ns. This allows series protection resistors to be connected between the SDA/SCL pins and the SDA/SCL
bus lines without exceeding the maximum specified t
f
.
PARAMETERSYMBOLCONDITIONSMINTYPMAXUNITS
Hold Time After (Repeated)
START Condition (After this
Period, the First Clock Is
Generated)
Repeated START Condition
Setup Time
STOP Condition Setup Timet
Data Hold Time (Note 7)t
Data Setup Timet
SCL Low Periodt
SCL High Periodt
Minimum SCL/SDA Rise Time
(Note 8)
Maximum SCL/SDA Rise Time
(Note 8)
Minimum SCL/SDA Fall Time
(Receiving) (Notes 8, 9)
Maximum SCL/SDA Fall Time
(Receiving) (Notes 8, 9)
Minimum SDA Fall Time
(Transmitting) (Notes 8, 9)
Maximum SDA Fall Time
(Transmitting) (Notes 8, 9)
Pulse Width of Spike Suppressedt
Capacitive Load for Each
Bus Line
t
HD:STA
t
SU:STA
SU:STO
HD:DAT
SU:DAT
LOW
HIGH
t
r
t
r
t
f
t
f
t
f
t
f
SP
C
B
0.6µs
0.6µs
0.6µs
00.9µs
100ns
1.3µs
0.6µs
20 +
0.1C
B
ns
300ns
20 +
0.1C
B
ns
300ns
20 +
0.1C
B
ns
250ns
50ns
400pF
Detailed Description
The MAX6900 contains eight timekeeping registers,
burst address registers, a control register, an on-chip
32.768kHz oscillator circuit, and a serial 2-wire, I2Ccompatible interface. There are also 31 bytes, 8 bits
wide of SRAM on board. Time and calendar data are
stored in the registers in a binary-coded decimal (BCD)
format. Figure 1 shows an I2C-bus-compatible timing
diagram. Figure 2 shows the MAX6900 functional diagram.
Real-Time Clock
The RTC provides seconds, minutes, hours, day, date,
month, and year information. The end of the month is
automatically adjusted for months with fewer than 31
days, including corrections for leap year up to the year
2100.
Crystal Oscillator
The MAX6900 uses an external, standard 12.5pF load
watch crystal. No other external components are
required for this timekeeping oscillator. Power-up oscillator start-time is dependent mainly upon applied V
CC
and ambient temperature. The MAX6900, because of
its low timekeeping current, exhibits a typical startup
time between 5s to 10s.
I2C-Compatible Interface
Interfacing the MAX6900 with a microprocessor or
other I2C master is made easier by using the serial, I2Cbus-compatible or other I2C master interface. Only 2
wires are required to communicate with the clock and
SRAM: SCL (serial clock) and SDA (data line). Data is
transferred to and from the MAX6900 over the I/O data
line, SDA. The MAX6900 uses 7-bit slave ID addressing. The MAX6900 does not respond to general call
address commands.
Applications Information
I2C-Bus-Compatible Interface
The I2C-bus-compatible serial interface allows bidirectional, 2-wire communication between multiple ICs. The
two lines are SDA and SCL. Connect both lines to a
positive supply through individual pullup resistors. A
device on the I2C-compatible bus that generates a
message is called a transmitter and a device that
receives the message is a receiver. The device that
controls the message is the master and the devices
that are controlled by the master are called slaves
(Figure 3). The word message refers to data in the form
of three 8-bit bytes for a Single Read or Write. The first
byte is the Slave ID byte, the second byte is the
Address/Command byte, and the third is the data.
Data transfer can only be initiated when the bus is not
busy (both SDA and SCL are high). A high-to-low transition of SDA while SCL is high is defined as the Start
(S) condition; low-to-high transition of the data line
while SCL is high is defined as the Stop (P) condition
(Figure 4).
After the Start condition occurs, 1 bit of data is transferred for each clock pulse. The data on SDA must
remain stable during the high portion of the clock pulse
as changes in data during this time are interpreted as a
control signal (Figure 5). Any time a start condition
occurs, the Slave ID must follow immediately, regardless of completion of the previous data transfer.
Before any data is transmitted on the I
2
C-bus-compatible serial interface, the device that is expected to
respond is addressed first. The first byte sent after the
start (S) procedure is the Address byte or 7-bit Slave
ID. The MAX6900 acts as a slave transmitter/receiver.
Therefore, SCL is only an input clock signal and SDA is
a bidirectional data line. The Slave Address for the
MAX6900 is shown in Figure 6.
An unlimited number of data bytes between the start
and stop conditions can be sent between the transmitter and receiver. Each 8-bit byte is followed by an
acknowledge bit. Also, a master receiver must generate an acknowledge after each byte it receives that has
been clocked out of the slave transmitter.
The device that acknowledges must pull down the SDA
line during the acknowledge clock pulse (Figure 7), so
that the SDA line is stable low during the high period of
the acknowledge clock pulse (setup and hold times
must also be met). A master receiver must signal an
end of data to the transmitter by not generating an
acknowledge on the last byte that has been clocked
out of the slave. In this case, the transmitter must leave
SDA high to enable the master to generate a stop condition. Any time a stop condition is received before the
current byte of data transfer is complete, the last incomplete byte is ignored.
The second byte of data sent after the start condition is
the Address/Command byte (Figure 8). Each data
transfer is initiated by an Address/Command byte. The
MSB (bit 7) must be a logic 1. When the MSB is zero,
Writes to the MAX6900 are disabled. Bit 6 specifies
clock/calendar data if logic 0 or RAM data if logic 1
(Tables 1 and 2). Bits 1 through 5 specify the designated registers to be input or output. The LSB (bit 0) specifies a Write operation (input) if logic 0 or Read
operation (output) if logic 1. The Command byte is
always input starting with the MSB (bit 7).
Reading from the Timekeeping
Registers
The timekeeping registers (Seconds, Minutes, Hours,
Date, Month, Day, Year, and Century) read either with a
Single Read or a Burst Read. Since the clock runs continuously and a Read takes a finite amount of time, it is
possible that the clock counters could change during a
Read operation, thereby reporting inaccurate timekeeping data. In the MAX6900, the clock counter data is
buffered by a latch. Clock counter data is latched by the
I2C-bus-compatible read command (on the falling edge
of SCL when the Slave Acknowledge bit is sent after the
Address/Command byte has been sent by the master to
read a timekeeping register). Collision-detection circuitry
ensures that this does not happen coincident with a seconds counter update to ensure accurate time data is
being read. This avoids time data changes during a
Read operation. The clock counters continue to count
and keep accurate time during the Read operation.
When using a Single Read to read each of the timekeeping registers individually, perform error checking
on the receiving end. The potential for errors occurs
when the seconds counter increments before all the
other registers are read out. For example, suppose a
carry of 13:59:59 to 14:00:00 occurs during Single
Read operations of the timekeeping registers. The net
data could become 14:59:59, which is erroneous realtime data. To prevent this with Single Read operations,
read the Seconds register first (initial seconds) and
store this value for future comparison. When the
remaining timekeeping registers have been read out,
read the Seconds register again (final seconds). If the
initial seconds value is 59, check that the final seconds
value is still 59; if not, repeat the entire Single Read
process for the timekeeping registers. A comparison of
the initial seconds value with the final seconds value
can indicate if there was a bus delay problem in reading the timekeeping data (difference should always be
1s or less). Using a 100kHz bus speed, sequential
Single Reads take under 2.5ms to read all seven of the
timekeeping registers plus a second read of the
Seconds register.
The most accurate way to read the timekeeping registers is a Burst Read. In the Burst Read mode, the main
timekeeping registers (Seconds, Minutes, Hours, Date,
Month, Day, Year) and the Control register are read
sequentially. All of the main timekeeping registers and
the Control register must be read out as a group of
eight registers, with 8 bytes each, for proper execution
of the Burst Read function. The seven timekeeping registers are latched upon the receipt of the Burst Read
command. The worst-case error that can occur
between the actual time and the read time is 1s,
assuming the entire Burst Read is done in less than 1s.
Writing to the Timekeeping
Registers
The time and date may be set by writing to the timekeeping registers (Seconds, Minutes, Hours, Date, Month,
Day, Year, and Century). To avoid changing the current
time by an incomplete Write operation, the current time
value is buffered from being written directly to the clock
counters. Current time data is loaded into this buffer at
the falling edge of SCL, on the Slave Acknowledge bit,
before the data input byte or bytes are sent to the
MAX6900. The clock counters continue to count. The
new data replaces the current contents of this input
buffer. The time update data is loaded into the clock
counters by the Stop bit at the end of the I2C- bus-compatible Write operation. Collision-detection circuitry
ensures that this does not happen coincident with a seconds counter update to ensure accurate time data is
being written. This avoids time data changes during a
Write operation. An incomplete Write operation aborts
the time update procedure and the contents of the input
buffer are discarded. The clock counters reflect the new
time data beginning with the first 1s clock cycle after the
Stop bit.
When using single Write operations to write to each of
the timekeeping registers, error checking is needed. If
the Seconds register is the one to be updated, update it
first and then read it back and store its value as the initial seconds. Update the remaining timekeeping registers and then read the Seconds register again (final
seconds). If initial seconds was 59, ensure that it is still
59. If initial seconds was not 59, ensure that final seconds is within 1s of initial seconds. If the Seconds register is not to be written to, then read the Seconds register
first and save it as initial seconds. Write to the required
timekeeping registers and then read the Seconds register again (final seconds). If initial seconds was 59,
ensure it is still 59. If initial seconds was not 59, ensure
that final seconds is within 1s of initial seconds.
The burst write mode is the most accurate way to write to
the timekeeping registers, although both single Writes
and Burst Writes are possible. In Burst Write, the main
timekeeping registers (Seconds, Minutes, Hours, Date,
Month, Day, Year) and the control register are written to
sequentially. All the main timekeeping registers and the
Control register must be written to as a group of eight
registers, with 8 bytes each, for proper execution of the
burst write function. All seven timekeeping registers are
simultaneously loaded into the clock counters by the
Stop bit at the end of the I2C-bus-compatible Write operation. The worst-case error that can occur between the
actual time and the write time update is 1s, assuming the
entire Burst Write is done in less than 1s. Note: After
writing to any time or date register, no read or write
operations are allowed for 2.5ms.
Write Protect Bit
Bit 7 of the Control register is the Write Protect bit. The
lower 7 bits (bits 0 to 6) are forced to zero and always
read a zero when read. Before any Write operation to
the clock or RAM, bit 7 must be zero. When high, the
Write Protect bit prevents a Write operation to any other
register.
AM-PM/12Hr-24Hr Mode
Bit 7 of the Hours register is defined as the 12hr or 24hr
Mode Select bit. When high, the 12hr mode is selected.
In the 12hr mode, bit 5 is the AM/PM bit with logic high
being PM. In the 24hr mode, bit 5 is the second 10hr
bit (20hr to 23hr).
Clock Burst Mode
Addressing the Clock Burst register (BEh for write, or
BFh for read) specifies burst mode operation. In this
mode, the first eight clock/calendar registers can be
consecutively read or written starting with bit 7 of
Address/Command 81h (Read) or 80h (Write). If the
Write Protect bit is set high when a write clock/calendar
burst mode is specified, no data transfer occurs to any
of the eight clock/calendar registers or the Control register. When writing to the clock registers in the burst
mode, the first eight registers must be written in order
for the data to be transferred.
RAM
The static RAM is 31 bytes addressed consecutively in
the RAM address space. Even Address/Commands
(C0h–FCh) are used for Writes, and odd Address/
Commands (C1h–FDh) are used for Reads. The contents of the RAM are static and remain valid for V
CC
down to 2V.
RAM Burst Mode
Addressing the RAM Burst register (FEh for Write, or
FFh for Read) specifies burst mode operation. In this
mode, the 31 RAM locations can be consecutively read
or written starting with bit 7 of Address/Command C1h
(Read) or C0h (Write). When writing to RAM in burst
mode, it is not necessary to write all 31 bytes for the
data to transfer. Each byte that is written to is transferred to RAM. If the Write Protect bit is set high when a
RAM burst mode is specified, no data transfer occurs
to any of the RAM locations. Burst writes of data greater
than 31 bytes could cause erroneous data in the
MAX6900.
Power-On Reset (POR)
The MAX6900 contains an integral POR circuit that
ensures all registers are reset to a known state on
power-up. Once VCCrises above 1.6V (typ), the POR
circuit releases the registers for normal operation.
When VCCdrops to less than 1.6V (typ), the MAX6900
resets all register contents to the POR defaults.
Oscillator Startup
The MAX6900 oscillator typically takes 5s to 10s to
begin oscillating. To ensure the oscillator is operating
correctly, the software should validate proper timekeeping. This is accomplished by reading the Seconds
register. Any reading of 1s or more from the POR is a
validation of proper startup.
Reserved Register
This is reserved for factory testing ONLY. Do not write
to this register. If inadvertent Writes are done to this
register, cycle power on the MAX6900.
Crystal Selection
Connect a 32.768kHz watch crystal directly to the
MAX6900 through pin 2 and pin 3 (X1, X2). Use a crys-
tal with a specified load capacitance (CL) of 12.5pF.
See Table 4 for a list of crystal parameters.
Table 5 lists some crystal manufacturers and part numbers for their surface-mount 32.768kHz watch crystals
that require 12.5pF. In addition, these manufacturers
offer other package options depending upon the specific application considerations.
Frequency Stability Overtemperature
Timekeeping accuracy of the MAX6900 is dependent
on the frequency stability of the external crystal. To
Figure 9. Oscillator Functional Schematic
Rf
MAX6900
Rd
Cg
25pF
X1X2
EXTERNAL
CRYSTAL
Cd
25pF
Frequencyf32.768kHz
Equivalent Series Resistance (ESR)R
Parallel Load CapacitanceC
Q FactorQ40,00060,000
MANUFACTURER
Abracon Corporation
Caliber Electronics
ECS INC InternationalECS-.327-12.5-17-10°C to +60°C12.5±20
determine frequency stability, use the parabolic curve
in Figure 10 and the following equations:
∆f = f
✕k ✕
(T0- T )
2
where:
∆f= change in frequency from +20°C.
f = nominal crystal frequency.
k = parabolic curvature constant (-0.035
±0.005ppm/°C
2
for 32.768kHz watch crystals).
T0= turnover temperature
(+25°C ±5°C for 32.768kHz watch crystals).
T = temperature of interest (°C).
For example: What is the worst-case change in oscillator frequency from +25°C to +45°C ambient?
∆f(worst case) = 32,768 ✕(-0.04 / 1 ✕10e6)
✕
(20 -45)2= -0.8192Hz
After 1 month, that translates to:
Assuming ±20ppm initial crystal tolerance (±53s initial
accuracy); total worst-case timekeeping error at the
end of 1 month = 66.96s - 53s = -119.96s or about 2
minutes (assumes negligible parasitic layout capacitance).
Power-Supply Considerations
For most applications, a 0.1µF capacitor from VCCto
GND provides adequate bypassing for the MAX6900.
Because the MAX6900’s supply current is well under
1µA, a series resistor can be added to the supply to
reject extremely harsh noise.
PC Board Layout Considerations
When designing the PC board, keep the crystal as
close to the X1 and X2 pins of the MAX6900 as possible (Figure 11). Keep the trace lengths short and small
to avoid introducing excessive capacitive loading and
preventing unwanted noise pickup. Place a guard ring
around the crystal and tie the ring to ground to help isolate the crystal from unwanted noise pickup. Keep all
signals away from the crystal and the X1 and X2 pins to
prevent noise coupling. Finally, an additional local
ground plane on an adjacent PC board layer can be
added under the crystal to shield it from unwanted
pickup from traces on other layers of the board. This
plane should be isolated from the regular PC board
ground plane and tied to the GND pin of the MAX6900.
This plane needs to be no larger than the perimeter of
the guard ring. Ensure that this ground plane does not
contribute to significant capacitance between ground
and the traces that run from X1 and X2 to the crystal.
Chip Information
TRANSISTOR COUNT: 19,307
PROCESS: CMOS
Figure 10. Typical Temperature Curve for 32.768kHz Watch Crystal
LAYER 2 LOCAL GROUND PLANE
CONNECT ONLY TO PIN 4
GROUND PLANE VIA
Package Information
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information
go to www.maxim-ic.com/packages
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 ____________________ 17
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information
go to www.maxim-ic.com/packages