MAXIM MAX6901EKA-T

19-2085; Rev 0; 7/01
3-Wire Serial Real-Time Clock in a SOT23
Applications
Point-of-Sale Equipment
Features
♦ Real-Time Clock Counts Seconds, Minutes,
Hours, Day of Week, Date of Month, Month, Year,
and Century
♦ Leap-Year Compensation Valid up to Year 2100
♦ Wide +2V to +5.5V Operating Voltage Range
♦ 3-Wire Serial Interface, 2MHz at 5V, 500kHz at 2V
♦ 31 x 8-Bit SRAM for Scratchpad Data Storage
♦ Uses Standard 32.768kHz, 12.5pF Watch Crystal
♦ Low Timekeeping Current (400nA at 2V)
♦ Single-Byte or Multiple-Byte (Burst Mode)
Data Transfer for Read or Write of Clock
Registers or SRAM
♦ 8-Pin SOT23 Surface-Mount Package
Intelligent Instruments
♦ Push-Pull 32.768kHz Clock Output
Fax Machines
♦ Programmable Time/Date Polled ALARM Function
Battery-Powered Products
♦ No External Crystal Bias Resistors or Capacitors
Required
Portable Instruments
Typical Operating Circuit
3.3V
0.1µF
3.3V
Ordering Information
PART
TEMP.
RANGE
PINPACKAGE
TOP
MARK
MAX6901EKA-T
-40°C to +85°C
8 SOT23-8
AAIS
2
VCC
P1.0
µC P1.1
P1.2
CLKIN
1 SCLK MAX6901
7
CS
8 I/O
5 32KHZ
X1 4
X2 3
32.768kHz
CRYSTAL
Pin Configuration appears at end of data sheet.
Functional Diagram appears at end of data sheet.
GND
6
Related Real-time Clock Products
PART
SERIAL
INTERFACE
ALARM
(bits)
ALARM
FUNCTION
OUTPUT
FREQUENCY
PIN-PACKAGE
MAX6900
I2C™ compatible
31 x 8
MAX6901
3 wire
31 x 8
—
—
6-SOT23
Polled
32kHz
MAX6902
SPI™ compatible
31 x 8
Polled
8-SOT23
—
8-SOT23
I2C is a trademark of Philips Corp.
SPI is a trademark of Motorola, Inc.
________________________________________________________________ Maxim Integrated Products
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.
1
MAX6901
General Description
The MAX6901 3-wire serial interface real-time clock in a
SOT23 package contains a real-time clock/calendar
and 31 x 8 bits of static RAM (SRAM). The real-time
clock/calendar provides seconds, minutes, hours, day,
date, month, year, and century information. A
time/date-programmable polled ALARM is included in
the MAX6901. 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. A push-pull 32kHz output is
also included. The MAX6901 operates with a supply
voltage of +2V to +5.5V, is available in the ultra-small 8pin SOT23 package, and works over the industrial temperature range, -40°C to +85°C.
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
ABSOLUTE MAXIMUM RATINGS
VCC to GND.......................................................……-0.3V to +6V
All Other Pins to GND ................................-0.3V to (Vcc + 0.3V)
Current into Any Pin..........................................................±20mA
Rate-of-Rise, VCC ............................................................100V/µs
Continuous Power Dissipation (TA = +70°C)
8-Pin SOT23 (derate 8.9mW/°C above +70°C)............714mW
Junction Temperature .....................................................+150°C
Storage Temperature Range .............................-65°C to +150°C
ESD Protection (all pins, Human Body Model) ..................2000V
Lead Temperature (soldering, 10s) .................................+300°C
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.
DC ELECTRICAL CHARACTERISTICS
(VCC = +2.0V to +5.5V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at VCC = +3.3V, TA = +25°C.) (Note 1)
PARAMETER
Operating Voltage Range
SYMBOL
CONDITIONS
VCC
Active Supply Current (Note 2)
ICC
Timekeeping Supply Current
(Note 3)
ITK
MIN
TYP
2
MAX
UNITS
5.5
V
VCC = +2.0V
0°C < TA < +70°C
110
VCC = +5V
0°C < TA < +70°C
800
VCC = +2.0V
0.4
0.7
VCC = +5V
1.3
1.7
µA
µA
32kHz OUTPUT
Output High Voltage (Note 5)
VOH
Output Low Voltage (Note 5)
VOL
VCC = +2.0V, ISOURCE = -0.4mA
1.8
VCC = +5.0V, ISOURCE = -1mA
4.5
V
VCC = +2.0V, ISINK = 1.5mA
0.4
VCC = +5.0V, ISINK = 4mA
0.4
Duty Cycle
40
Output Leakage Current
VIN = 0 to VCC, 32kHz output disabled
-10
V
%
10
nA
3-WIRE DIGITAL INPUTS AND OUTPUTS (SCLK, I/O, CS)
Input High Voltage
VIH
Input Low Voltage
VIL
Input Leakage Current
2
VCC = +2.0V
1.4
VCC = +5.0V
2.2
V
VCC = +2.0V
0.6
VCC = +5.0V
0.8
VIN = 0 to VCC
-10
10
SCLK, RST Capacitance
5
I/O Capacitance
10
I/O Output Low Voltage
VOL
I/O Output High Voltage
VOH
pF
0.4
VCC = +5.0V, ISINK = 4mA
0.4
1.8
VCC = +5.0V, ISOURCE = -1mA
4.5
_______________________________________________________________________________________
nA
pF
VCC = +2.0V, ISINK = 1.5mA
VCC = +2.0V, ISOURCE = -0.4mA
V
V
V
3-Wire Serial Real-Time Clock in a SOT23
(VCC = +2.0V to +5.5V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at VCC = +3.3V, TA = +25°C.) (Figures 4, 5
and Notes 1, 4)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
OSCILLATOR
X1 to Ground Capacitance (Note 5)
25
pF
X2 to Ground Capacitance (Note 5)
25
pF
3-WIRE SERIAL TIMING
Data to CLK Setup
tDC
CLK to Data Hold
tCDH
CLK to Data Delay
tCDD
CLK Low Time
tCL
CLK High Time
tCH
CLK Frequency
fCLK
CLK Rise and Fall Time
tR, tF
VCC = +2V
200
VCC = +5V
50
VCC = +2V
280
VCC = +5V
70
CL = 50pF
ns
ns
VCC = +2V
800
VCC = +5V
200
VCC = +2V
1000
VCC = +5V
250
VCC = +2V
1000
VCC = +5V
250
VCC = +2V
DC
0.5
VCC = +5V
DC
2.0
ns
ns
VCC = +2V
2000
VCC = +5V
500
VCC = +2V
4
VCC = +5V
1
VCC = +2V
240
VCC = +5V
60
VCC = +2V
4
VCC = +5V
1
CS to CLK Setup
tCC
CLK to CS Hold
tCCH
CS Inactive Time
tCWH
CS to I/O High Z
tCDZ
RL = 1kΩ, CL = 60pF
SCLK to I/O High Z
tCCZ
RL = 1kΩ, CL = 60pF
ns
MHz
ns
µs
ns
µs
VCC = +2V
0
280
VCC = +5V
0
70
VCC = +2V
0
280
VCC = +5V
0
70
ns
ns
Note 1: All parameters are 100% tested at TA = +25°C. Limits over temperature are guaranteed by design and not production tested.
Note 2: ICC is specified with the I/O grounded, CS high, SCLK = 2MHz at VCC = +5V; SCLK = 500kHz at VCC = +2.0V, 32kHz output
enabled, and no load on 32kHz output.
Note 3: Timekeeping current is specified with CS = GND, SCLK = GND, I/O = GND, 32kHz = GND, and 32kHz disabled.
Note 4: All values referred to VIH min and VIL max levels.
Note 5: Guaranteed by design. Not production tested.
_______________________________________________________________________________________
3
MAX6901
AC ELECTRICAL CHARACTERISTICS
Typical Operating Characteristics
(TA = +25°C, unless otherwise noted.)
TIMEKEEPING CURRENT
vs. SUPPLY VOLTAGE
MAX6901 toc01
10.0
SUPPLY CURRENT (µA)
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
1.0
0.1
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
SUPPLY VOLTAGE (V)
Pin Description
PIN
NAME
1
SCLK
2
VCC
3
X2
4
X1
FUNCTION
Serial Clock Input. 3-wire serial clock for I/O data transfers.
Power-Supply Pin. Bypass VCC to GND with a 0.1µF capacitor.
External 32.768kHz Crystal Connection
External 32.768kHz Crystal Connection
Buffered Push-Pull 32.768kHz Output. When enabled, 32KHZ puts a buffered version of the timekeeping clock.
When disabled, 32KHZ is high impedance. The power-on reset (POR) default state of 32KHZ is enabled.
5
32KHZ
6
GND
7
CS
Chip-Select Input. Active-high for valid data transfers.
8
I/O
Data Input/Output. 3-wire serial data input/output connection.
Ground Connection
Detailed Description
Command and Control
The MAX6901 is a real-time clock/calendar with a 3-wire
serial interface and 31 ✕ 8 bits of SRAM. It provides seconds, minutes, hours, day of the week, date of the
month, month, and year information, held in seven 8-bit
timekeeping registers (Functional Diagram). An on-chip
32.768kHz oscillator circuit does not require any external resistors or capacitors to operate. Table 1 specifies
the parameters for the external crystal, and Figure 1
shows a functional schematic of the oscillator circuit.
The MAX6901’s register addresses and definitions are
described in Tables 2 and 3. Time and calendar data
are stored in the registers in binary coded decimal
(BCD) format. A polled alarm function is included for
scheduled timing of user-defined times or intervals.
Each data transfer into or out of the MAX6901 is initiated by an Address/Command byte. The Address/
Command byte specifies which registers are to be
accessed, and if the access is a read or a write. Table
2 shows the Address/Command bytes and their associated registers, and Table 3 lists the hex codes for all
read and write operations. The Address/Command
bytes are input LSB (bit 0) first. Bit 0 specifies a write
(logic 0) or read (logic 1). Bits 1 to 5 specify the designated register to be written or read. Bit 6 specifies register data (logic 0), or RAM data (logic 1). The MSB (bit
4
Address/Command Byte
_______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
PARAMETER
SYMBOL
Frequency
MIN
TYP
MAX
32.76
f
Equivalent Series Resistance (ESR)
Rs
40
Parallel Load Capacitance
CL
Q Factor
Q
11.2
40,000
12.5
UNITS
kHz
60
kΩ
13.7
60,000
pF
31 bytes for the data to transfer; each complete byte
written is transferred to RAM. When reading from RAM,
data bits are output until all 31 bytes have been read,
or until CS is driven low.
Rf
MAX6901
Setting the Clock
Rd
Cg
25pF
Cd
25pF
X1
X2
EXTERNAL
CRYSTAL
Figure 1. Oscillator Circuit Schematic
7) must be logic 1. If the MSB is a zero, writes to the
MAX6901 are disabled.
Clock Burst Mode
Accessing the Clock Burst register specifies burstmode operation. In this mode, multiple bytes are read
or written with a single Address/Command write. If the
Clock Burst register is accessed (BEh for Write and
BFh for Read), the first seven clock/calendar registers
(Seconds, Minutes, Hours, Date, Month, Day, and Year)
and the Control register, are consecutively read or written, starting with the LSB of the Seconds register. When
writing to the clock registers in burst mode, all seven
registers must be written in order for the data to be
transferred (see Example: Setting the Clock with a
Burst Write).
RAM Burst Mode
Sending the RAM Burst Address/Command specifies
Burst-Mode operation. In this mode, the 31 RAM registers can be consecutively read or written, starting with
bit 0 of address C0h for Writes, and C1h for Reads.
Burst Read outputs all 31 registers of RAM. When writing to RAM in burst mode, it is not necessary to write all
Writing to the Timekeeping Registers
The Time and Date are set by writing to the timekeeping registers (Seconds, Minutes, Hours, Date, Month,
Day, Year, and Century). During a write operation, an
input buffer accepts the new time data while the timekeeping registers continue to increment normally,
based on the crystal counter. The buffer also keeps the
timekeeping registers from changing as the result of an
incomplete Write operation, and collision detection circuitry ensures that a time write does not occur coincident with a Seconds register increment. The updated
time data are loaded into the timekeeping registers on
the falling edge of CS, at the end of the 3-wire serial
Write operation. An incomplete Write operation aborts
the update procedure, and the contents of the input
buffer are discarded. The timekeeping registers reflect
the new time, beginning with the first Seconds register
increment after the falling edge of CS.
Although both Single Writes and Burst Writes are possible, the best way to write to the timekeeping registers is
with a Burst Write. With a Burst Write, main timekeeping
registers (Seconds, Minutes, Hours, Date, Month, Day,
Year), and the Control register are written sequentially
following the Address/Command byte. They must be
written as a group of eight registers, with 8 bits each,
for proper execution of the Burst Write function. All
seven timekeeping registers are simultaneously loaded
into the clock counters by the falling edge of CS, at the
end of the 3-wire serial Write operation. For a normal
burst data transfer, the worst-case error that can occur
between the actual time and the written time update is
1 second.
If Single Write operations are used to enter data into the
timekeeping registers, error checking is required. If the
Seconds register is not to be written, then begin by
reading the Seconds register and save it as initial-seconds. Write to the required timekeeping registers and
_______________________________________________________________________________________
5
MAX6901
Table 1. Acceptable Quartz Crystal Parameters
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
Table 2. Register Address/Definition
REGISTER ADDRESS
FUNCTION
REGISTER DEFINITION
A7 A6 A5 A4 A3 A2 A1 A0
VALUE
RD
/W
00-59
D7
D6 D5 D4
32kHz
EN
10 SEC
D3
D2 D1
D0
TIMEKEEPING
SECOND
MINUTE
HOUR
DATE
MONTH
DAY
YEAR
CONTROL
CENTURY
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
RD
/W
*POR STATE
00-59
*POR STATE
RD
/W
0
0
0
1
0
0
RD
/W
1
0
0
0
1
0
1
RD
/W
1
0
0
0
1
1
0
RD
/W
1
0
0
0
1
1
1
RD
/W
1
0
0
1
0
0
1
RD
/W
0
ALM
OUT
0
0
0
10 MIN
0
0
00-23
12/24
01-12
1/0
0
0
0
0
1 MIN
0
0
10
HR 10
A/P HR
0/1
0
0
1 HR
0
01-28/29
01-30
01-31
0
0 10 DATE
*POR STATE
0
0
0
01-12
0
0
0 10M
*POR STATE
0
0
0
0
0
0
01-07
0
0
0
0
0
WEEKDAY
*POR STATE
0
0
0
0
0
*POR STATE
*POR STATE
0
0
0
0
0
1 DATE
0
0
0
1
1 MONTH
10 YEAR
0
0
0
1
1
1 YEAR
0
1
1
1
0
0
0
0
WP
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00-99
*POR STATE
0
0
0
00-99
0
0
*POR STATE
RD
/W
1
0
1 SEC
1000 YEAR
0
0
0
100 YEAR
1
1
0
0
1
Note: *POR STATE defines power-on reset state of register content.
then read the Seconds register again (final-seconds).
Check to see that final-seconds is equal to initial-seconds. If not, repeat the write process. If the Seconds
register is to be written, update the Seconds register
6
first, and then read it back and store its value (initialseconds). Update the remaining timekeeping registers
and then read the Seconds register again (final-sec-
_______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
MAX6901
Table 2. Register Address/Definition (continued)
1
0
RD
/W
*POR STATE
RESERVED
Do not write
to this location.
1
0
0
1
0
1
1
RD
/W
*POR STATE
SECOND
0
D0
MINUTE
1
D2 D1
HOUR
0
D6 D5 D4
D3
0
DATE
0
D7
MONTH
1
VALUE
DAY
ALARM
CONFIG
REGISTER DEFINITION
A7 A6 A5 A4 A3 A2 A1 A0
YEAR
REGISTER ADDRESS
FUNCTION
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
ALARM
THRESHOLDS
SECOND
MINUTE
HOUR
DATE
MONTH
DAY
YEAR
CLOCK
BURST
1
0
0
1
1
0
0
RD
/W
1
0
0
1
1
0
1
RD
/W
0
RD
/W
1
1
0
0
0
0
1
1
1
1
1
1
1
RD
/W
1
0
1
0
0
0
0
RD
/W
1
0
1
0
0
0
1
RD
/W
1
0
1
0
0
1
0
RD
/W
1
0
1
1
1
1
1
RD
/W
00-59
0
*POR STATE
0
00-59
0
*POR STATE
0
10 SEC
1
1
1 SEC
1
1
10 MIN
1
00-23
12/24
01-12
1/0
0
1
1
1
1
0
01-28/29
01-30
01-31
0
0 10 DATE
*POR STATE
0
0
1
01-12
0
0
0 10 M
*POR STATE
0
0
0
01-07
0
0
0
0
0
*POR STATE
0
0
0
0
0
*POR STATE
1
1
1
1
1
1
1
1
1
1
1
1
1 DATE
1
1
1
1
1 MONTH
1
10 YEAR
1
1
1 HR
*POR STATE
00-99
1
1 MIN
10
HR 10
A/P HR
0/1
1
1
1
1
1
WEEKDAY
1
1
1
1 YEAR
1
1
1
1
1
Note: *POR STATE defines power-on reset state of register content.
_______________________________________________________________________________________
7
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
Table 2. Register Address/Definition (continued)
REGISTER ADDRESS
FUNCTION
REGISTER DEFINITION
A7 A6 A5 A4 A3 A2 A1 A0
VALUE
RD
/W
RAM DATA 0
D7
D6 D5 D4
D3
D2 D1
D0
RAM
RAM 0
1
1
0
0
0
0
0
x
x
x
x
•
•
•
•
•
•
•
•
•
•
•
•
RAM 30
1
1
1
1
1
1
0
RD
/W
RAM BURST
1
1
1
1
1
1
1
RD
/W
RAM DATA 30
x
x
x
x
x
x
x
x
x
x
x
x
Note: *POR STATE defines power-on reset state of register content.
onds). Check to see that final-seconds is equal to initial-seconds. If not, repeat the write process.
AM/PM and 12Hr/24Hr Mode
Bit 7 of the Hours register selects 12hr or 24hr mode.
When high, 12hr mode is selected. In 12hr mode, bit 5
is the AM/PM bit, logic high for PM. In 24hr mode, bit 5
is the second 10hr bit, logic high for hours 20 through
23.
Write-Protect Bit
Bit 7 of the Control register is the write-protect bit.
When high, the write-protect bit prevents write operations to all registers except itself. After initial settings
are written to the timekeeping registers, set the writeprotect bit to logic 1 to prevent erroneous data from
entering the registers during power glitches or interrupted serial transfers. The lower 7 bits (bits 0–6) are
unusable, and always read zero. Any data written to
bits 0–6 are ignored. Bit 7 must be set to zero before a
single byte write to the clock, before a write to RAM, or
during a burst write to the clock.
Example: Setting the Clock
with a Burst Write
To set the clock with a Burst Write operation to
10:11:31PM, Thursday July 4th, 2002, write BEh as
Address/Command byte, followed by 8 bytes, B1h,
11h, B0h, 04h, 07h, 04h, 02h, and 00h (Table 2). BEh
8
accesses the Clock Burst Write register. The first byte,
B1h, sets the Seconds register to 31, and disables the
32.768kHz output. The second byte, 11h, sets the
Minutes register to 11. The third byte, B0h, sets the
Hours register to 12hr mode, and 10PM. The fourth
byte, 04h, sets the Date register (day of the month) to
the 4th. The fifth byte, 07h, sets the Month register to
July. The sixth byte, 04h, sets the Day register (day of
the week) to Thursday. The seventh byte, 02h, sets the
Year register to 02. The eighth byte, 00h, clears the
write-protect bit of the Control register to allow writing to
the MAX6901. The Century register is not accessed
with a Burst Write and therefore must be written to separately to set the century to 20. Note the Century register corresponds to the thousand and hundred digits of
the current year and defaults to 19.
Reading the Clock
Reading the Timekeeping Registers
The main timekeeping registers (Seconds, Minutes,
Hours, Date, Month, Day, Year) can be read with either
Single Reads or a Burst Read. In the MAX6901, a latch
buffers each clock counter’s data. Clock counter data
are latched by the 3-wire serial Read command (on the
falling edge of SCLK, 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
_______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
MAX6901
Table 3. HEX Register Address/Description
WRITE
ADDRESS/COMMAND
BYTE (HEX)
READ
ADDRESS/COMMAND
BYTE (HEX)
DESCRIPTION
POR CONTENTS
(HEX)
80
81
SECONDS
00
82
83
MINUTES
00
84
85
HOUR
00
86
87
DATE
01
88
89
MONTH
01
8A
8B
DAY
01
8C
8D
YEAR
70
8E
8F
CONTROL
00
90
91
RESERVED
Nonapplicable
92
93
CENTURY
19
94
95
ALARM CONFIGURATION
00
96
97
RESERVED
07
98
99
SECONDS ALARM THRESHOLD
7F
9A
9B
MINUTES ALARM THRESHOLD
7F
9C
9D
HOURS ALARM THRESHOLD
BF
9E
9F
DATE ALARM THRESHOLD
3F
A0
A1
MONTH ALARM THRESHOLD
1F
A2
A3
DAY ALARM THRESHOLD
07
A4
A5
YEAR ALARM THRESHOLD
FF
BE
BF
CLOCK BURST
Nonapplicable
C0
C1
RAM 0
Indeterminate
C2
C3
RAM 1
Indeterminate
C4
C5
RAM 2
Indeterminate
C6
C7
RAM 3
Indeterminate
C8
C9
RAM 4
Indeterminate
CA
CB
RAM 5
Indeterminate
CC
CD
RAM 6
Indeterminate
CE
CF
RAM 7
Indeterminate
D0
D1
RAM 8
Indeterminate
D2
D3
RAM 9
Indeterminate
D4
D5
RAM 10
Indeterminate
D6
D7
RAM 11
Indeterminate
D8
D9
RAM 12
Indeterminate
DA
DB
RAM 13
Indeterminate
DC
DD
RAM 14
Indeterminate
DE
DF
RAM 15
Indeterminate
E0
E1
RAM 16
Indeterminate
E2
E3
RAM 17
Indeterminate
_______________________________________________________________________________________
9
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
Table 3. HEX Register Address/Description (continued)
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
increment to ensure accurate time data is being read.
The clock counters continue to count and keep accurate 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 timekeeping registers (Seconds, Minutes, Hours, Date, Month,
Day, Year) and the Control register are read sequentially 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 command. 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 inaccurate 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 operations, 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;
10
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 information 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 timekeeping register. A logic 1 in ALM OUT indicates the
alarm function is triggered. There are eight registers
associated with the alarm function, seven programmable 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 respective alarm function. For example, if the Alarm
______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
Using the On-Board RAM
The static RAM is 31 x 8 bits addressed consecutively
in the RAM address space. Even-addressed commands (C0h–FCh) are used for Writes, and oddaddressed commands (C1h–FDh) are used for Reads.
The contents of the RAM are static and remain valid for
V CC down to 2V. All RAM data are lost if power is
cycled. The write-protect bit (bit 7 of the Control register), when high, disallows any changes to RAM.
3-Wire Serial Interface
Interfacing the MAX6901 with a microcontroller is
accomplished by using a 3-wire, synchronous, serial
interface. Required to communicate are a Chip Select
signal (CS), a Serial Clock signal (SCLK), and a Data
line (I/O).
All data transfers are framed by the CS signal that must
be active-high for any data transfer to occur. At the
beginning of any data transfer (rising edge of CS),
SCLK should be low. This prevents the MAX6901 from
misinterpreting the transition of CS as a high-to-low
transition of SCLK (if SCLK were to be left high when
CS transitions from a low to high). The first 8 bits sent
after CS is pulled high by the microcontroller comprise
the Address/Command Byte, which tells the MAX6901
if the data transfer is a read or a write, and which register is read to or written from. Data are clocked into the
MAX6901, through the I/O pin, on the rising edges of
SCLK, and data are clocked out on the falling edge of
SCLK. Data format is always LSB first to MSB last.
When CS is low, I/O is high impedance.
Single data transfer timing is shown in Figure 2. Burstmode data transfer timing is shown in Figure 3.
Detailed Read and Write timing diagrams are shown in
Figures 4 and 5, respectively.
Chip Select
CS serves two functions. First, CS turns on the control
logic that allows access to the Shift register for
Address/Command and data transfer. Second, CS provides a method of terminating either single-byte or multiple-byte data transfers. All data transfers are initiated
by driving CS high. If CS is low, I/O is high impedance.
At power-up, CS must be low until VCC ≥ 2.0V.
Serial Clock
A clock cycle on SCLK is a rising edge followed by a
falling edge. For data input, data must be valid at I/O
during the rising edge of the clock. For data outputs,
bits are valid on I/O after the falling edge of clock. Also,
SCLK must be low when CS is driven high.
Data Input (Single-Byte Write)
Following the eight SCLK cycles that input a SingleByte Write Address/Command, data bits are input on
the rising edges of the next eight SCLK cycles.
Additional SCLK cycles are ignored. Input data LSB first.
Data Input (Burst Write)
Following the eight SCLK cycles that input a Burst Write
Address/Command, data bits are input on the rising
edges of the following SCLK cycles. The number of
clock cycles depends on whether the timekeeping registers or RAM are being written. A clock Burst Write
requires an Address/Command byte, 7 timekeeping
data bytes, and 1 Control register byte. A Burst Write to
RAM may be terminated after any complete data byte
by driving CS low. Input data LSB first (Figures 3 and 5).
Data Output (Single-Byte Read
and Burst Read)
A read from the MAX6901 is initiated by an Address/
Command Write from the microcontroller (master) to the
MAX6901 (slave). The Address/Command Write portion
of the data transfer is clocked into the MAX6901 on rising clock edges. On the eighth rising SCLK edge, the
last bit of the Address/Command Byte is clocked into
the MAX6901. After t CDH (CLK to Data Hold time,
Figure 4), the microcontroller must release the data
line. On the eighth falling edge of SCLK, the MAX6901
takes control of the data line and begins to output data.
The MAX6901 outputs data on the falling edge of SCLK
after tCDD (CLK to Data Delay time, Figure 4). On the
next rising edge of SCLK, I/O goes to high impedance
after tCCZ (which is specified with a maximum time).
Minimum time for tCCZ can be 0ns. Since the I/O line
can go to high impedance on the rising edge of SCLK,
it is best to read the data from the MAX6901 before the
rising edge of SCLK but after tCDD (CLK to Data Delay
time). This is best accomplished through the microcontroller I/O port pins by writing a low to SCLK, waiting
tCDD (CLK to Data Delay time), reading the MAX6901
I/O pin, and then writing a high to SCLK. Data bytes are
output LSB first. Additional SCLK cycles transmit additional data bits, as long as CS remains high. This permits continuous burst-mode read capability.
______________________________________________________________________________________
11
MAX6901
Configuration register is set to 0000 0011, ALM OUT is
set when both the minutes and seconds indicated in
the Alarm Threshold registers match the respective
timekeeping registers. Once set, ALM OUT stays high
until it is cleared by reading or writing to the Alarm
Configuration register, or by reading or writing to any of
the Alarm Threshold registers. The Alarm Configuration
register is written with Address/Command 94h, and
read with Address/Command 95h.
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
(a) 3-WIRE SINGLE BYTE READ:
CS
SCLK
I/O
A0
A1
A2
A3
A4
A5
A6
A7
1
A1
A2
A3
A4
A5
R
1
D0
D1
D2
D3
D4
D5
D6
D7
I/O DATA BYTE
ADDRESS/COMMAND BYTE
R = RAM/ REGISTER SELECT BIT
RAM = 1, REGISTER = 0
(b) 3-WIRE SINGLE BYTE WRITE:
CS
SCLK
I/O
0
A1
A2
A3
A4
A5
A6
A7
A1
A2
A3
A4
A5
R
1
D0
D1
D2
D3
D4
D5
D6
D7
I/O DATA BYTE
ADDRESS/COMMAND BYTE
R = RAM/ REGISTER SELECT BIT
RAM = 1, REGISTER = 0
Figure 2. Single Byte Data Transfer
32.768kHz Output (32KHZ)
32KHZ is a push-pull 32.768kHz output for timing or
clocking of external devices. Bit D7 in the Clock
Seconds register is the active-low enable bit for 32KHZ.
When D7 is logic 0, 32KHZ is enabled. When logic 1,
32KHZ is disabled and set to high impedance. Poweron reset enables the 32.768kHz output.
Applications Information
Table 4. In addition to the specified SMT devices, some
of the listed manufacturers also offer other package
options.
Frequency Stability and Temperature
Timekeeping accuracy of the MAX6901 is dependent
on the frequency stability of the external crystal. To
determine frequency stability, use the parabolic curve
in Figure 6 and the following equations:
∆f = fk (T0 - T)2
Crystal Selection
The MAX6901 is designed to use a standard 32.768kHz
watch crystal. Table 1 details the recommended crystal
requirements. Some suggested crystals are listed in
12
where:
∆f = change in frequency from +25°C
______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
( )
MAX6901
CS
SCLK
I/O
A0
A1
A2
A3
A4
A5
A6
A7
1
1
1
1
1
1
R
1
D0
D1
D2
ADDRESS/COMMAND BYTE
D3
D4
D5
D6
D7
D0
D1
I/O DATA BYTE 1
D2
D3
D4
D5
D6
D7
I/O DATA BYTE N
N = 8 FOR TIMEKEEPING REGISTER BURST
N = 31 MAX FOR RAM BURST
R = RAM/ REGISTER SELECT BIT
RAM = 1, REGISTER = 0
(b) 3-WIRE BURST WRITE:
CS
SCLK
I/O
A0
A1
A2
A3
A4
A5
A6 A7
0
1
1
1
1
1
R
ADDRESS/COMMAND BYTE
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
1
I/O DATA BYTE 1
R = RAM/ REGISTER SELECT BIT
RAM = 1, REGISTER = 0
I/O DATA BYTE N
N = 8 FOR TIMEKEEPING REGISTER BURST
N = 31 MAX FOR RAM BURST
Figure 3. Burst Mode Data Transfer
f = nominal crystal frequency
k = parabolic curvature constant (-0.035ppm/°C2
±0.005ppm/°C2 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 ambient to +45°C ambient?
∆fdrift = 32,768 ✕ (-0.04 ✕ (1 ✕ 10-6)) ✕ (20-45)2
= -0.8192Hz
What is the worst-case timekeeping error per second?
Error due to temperature drift:
∆tdrift = {[1 / [(f+∆fdrift) / 32768]]-1s} / 1s
∆tdrift = {[1 / [(32768 - 0.8192) / 32768]]-1}/1s
= 0.000025s/s
Error due to +25°C initial crystal tolerance of ±20ppm:
∆finitial = 32,768 ✕ (-20 ✕ ((1 ✕ 10-6)) = -0.65536Hz
∆tinitial = {[1 / [(f+∆finitial) / 32768]]-1s} / 1s
∆tinitial = {[1 / [(32768-0.65536) / 32768]]-1} / 1s
= 0.000025s/s
Total timekeeping error per second:
______________________________________________________________________________________
13
MAX6901
3-Wire Serial Real-Time Clock in a SOT23
CS
tCC
SCLK
tCCZ
tCDH
I/O
tCDZ
tCDD
tDC
tCDD
0
1
7
READ ADDRESS/COMMAND BYTE
0
1
READ DATA BIT
Figure 4. 3-Wire Read Data Transfer Serial Timing Diagram
tCWH
CS
tCC
tCL
tCCH
tR
tF
SCLK
tCDH
tCDH
tDC
I/O
0
1
WRITE ADDRESS/COMMAND BYTE
7
0
WRITE DATA BIT
Figure 5. 3-Wire Write Data Transfer Serial Timing Diagram
∆ttotal = ∆tdrift + ∆tinitial
∆ttotal = 0.00002+0.000025=0.000045s/s
After 1 month, that translates to:

hr   min  
s 
∆t = (31 days) ×  24
 ×  60
×
 ×  60



min
day
hr


(0.00045s / s) = 120.528s
Total worst-case timekeeping error at the end of 1
month at +45°C is about 120s or 2 min (assumes negligible parasitic layout capacitance).
14
Oscillator Start Time
The MAX6901 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 value
of zero is a validation of proper startup.
Power-On Reset
The MAX6901 contains an integral POR circuit that
ensures all registers are reset to a known state on
power-up. Once VCC rises above 1.6V (typ), the POR
circuit releases the registers for normal operation. When
______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
MAX6901
Table 4. 32.768kHz Surface-Mount Watch Crystals
MANUFACTURER
PART NO.
MANUFACTURER
Abracon Corporation
TEMP. RANGE
CL (pF)
+25°C FREQUENCY
TOLERANCE (ppm)
ABS25-32.768-12.5-B-2-T
AWS2A-32.768kHz,
-40°C to +85°C
12.5
±20
Caliber Electronics
-20°C to +70°C
12.5
±20
ECS INC International
ECS-.327-12.5-17
-10°C to +60°C
12.5
±20
Fox Electronics
FSM327
-40°C to +85°C
12.5
±20
M-tron
SX2010/ SX2020
-20°C to +75°C
12.5
±20
Raltron
RSE-32.768-12.5-C-T
-10°C to +60°C
12.5
±20
SaRonix
32S12A
-40°C to +85°C
12.5
±20
TEMPERATURE (°C)
-50 -40 -30 -20 -10
0
10
20
25
30
40
50
60
70
80
90
0
∆f (ppm)
-50
-100
-150
-200
if the I/O is allowed to float. If minimum timekeeping
current is desired, the microcontroller port pin should
be configured as an input with a weak pullup.
Alternatively, use a 100kΩ or less pulldown or pullup
resistor (for microcontroller port pins with ≤1µA input
leakage).
There are similar considerations for 32KHZ if it is
placed in its high-impedance state. For lowest timekeeping current, it should not be allowed to float. Force
it high or low, or terminate it with a pullup or pulldown
resistor.
Timekeeping Current—Battery Backup
Systems
-250
TYPICAL TEMPERATURE CHARACTERISITICS
(k = 0.035ppm/°C2, TO = +25°C)
Figure 6. Typical Temperature Curve for 32.768kHz Watch
Crystal
VCC drops to less than 1.6V (typ), the MAX6901 resets
all register contents to the POR defaults (Table 2).
RESERVED Registers
Addresses/Commands 90h, 91h, 96h, and 97h are
reserved for factory testing ONLY. Do not write to these
registers. If inadvertent Writes are done to any of these
registers, cycle power to the MAX6901.
Power-Supply Considerations
For most applications, a 0.1µF capacitor from VCC to
GND provides adequate bypassing for the MAX6901. A
series resistor can be added to the supply line for operation in extremely harsh or noisy environments.
Timekeeping Current—Normal Operation
When I/O is high impedance (CS = low, or after each
rising-clock edge for a data output transfer), there is a
potential for increased timekeeping current (up to 100x)
Often times, an RTC is operated in a system with a
backup battery. A microprocessor supervisory circuit
with backup battery switchover, or other switching
arrangement, is used to switch power from V CC to
VBATT when VCC falls below a set threshold. Most of
these systems leave only the RTC and some SRAM to
run from VBATT. The microcontroller that communicates
with the RTC is powered only from V CC . When the
microcontroller is reset, its port pins typically become
high impedance. This essentially floats I/O, CS, and
SCLK on the MAX6901. There is a potential for
increased timekeeping current (up to x100) as VCC falls
through the linear region of the input gates for I/O,
SCLK, and CS. The duration of this effect depends on
the discharge rate of VCC. To minimize current draw
from V BATT in such systems, ensure that V CC falls
rapidly at power down. One option is a VCC discharge
resistor of 100kΩ or less from VCC to ground. This also
ensures sufficient impedance when VCC is gone back
through the microcontroller’s ESD protection, to keep
I/O, SCLK, and CS from floating. Alternately, a 100kΩ
pulldown (for microcontroller port pins with ≤1µA input
leakage) on each pin (I/O, SCLK, and CS) ensures that
timekeeping current specifications are met during the
power switchover.
______________________________________________________________________________________
15
3-Wire Serial Real-Time Clock in a SOT23
MAX6901
;
;;
;
;;;
GROUND PLANE
VIA CONNECTION
*
VCC PLANE
VIA CONNECTION
**
*
*
0.1µF
SM CAP
*
*
*
GROUND PLANE
VIA CONNECTION
*
MAX6901
GUARD RING
*
*
SM WATCH CRYSTAL
*
**
*
**
*LAYER 1 TRACE
GROUND PLANE
VIA CONNECTION
** LAYER 2 LOCAL GROUND PLANE
CONNECT ONLY TO PIN 6
GROUND PLANE VIA
Figure 7. Printed Circuit Board Layout for Crystal Connections
There are similar considerations for 32KHZ if it is
placed in its high-impedance state. For lowest timekeeping current, it should not be allowed to float. Force
it high or low, or terminate it with a pullup or pulldown
resistor.
PC Board Layout Considerations
The MAX6901 uses a very-low-current oscillator to minimize supply current. This causes the oscillator pins, X1
and X2, to be relatively high impedance. Exercise care
to prevent unwanted noise pickup.
ground plane, and tied to ground at the MAX6901
ground pin. Restrict the plane to be no larger than the
perimeter of the guard ring. Do not allow this ground
plane to contribute significant capacitance between X1
and X2.
Chip Information
TRANSISTOR COUNT: 26,214
PROCESS: CMOS
Connect the 32.768kHz crystal directly across X1 and
X2 of the MAX6901. To eliminate unwanted noise pickup, design the PC board using these guidelines (Figure
7): place the crystal as close to X1 and X2 as possible
and keep the trace lengths short; place a guard ring
around the crystal, X1 and X2 traces (where applicable), and connect the guard ring to GND; keep all signal traces away from beneath the crystal, X1, and X2.
Finally, an additional local ground plane can be added
under the crystal on an adjacent PC board layer. The
plane should be isolated from the regular PC board
16
______________________________________________________________________________________
3-Wire Serial Real-Time Clock in a SOT23
X1
X2
1Hz
DIVIDER
OSCILLATOR
32.768kHz
SECONDS
MINUTES
HOURS
32kHz
DATE
CONTROL
LOGIC
CS
MONTH
DAY
YEAR
SCLK
I/O
INPUT SHIFT
REGISTERS
ADDRESS
REGISTER
CONTROL
CENTURY
ALARM
CONFIGURATION
31 × 8
RAM
TEST
CONFIGURATION
ALARM
THRESHOLDS
CLOCK
BURST
VCC
GND
RAM
BURST
ALARM OUT
ALARM
CONTROL
LOGIC
Pin Configuration
TOP VIEW
SCLK
1
8
I/O
7
CS
3
6
GND
X1 4
5
32KHZ
VCC 2
MAX6901
X2
SOT23
______________________________________________________________________________________
17
MAX6901
Functional Diagram
3-Wire Serial Real-Time Clock in a SOT23
SOT23, 8L.EPS
MAX6901
Package Information
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.
18 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
© 2001 Maxim Integrated Products
Printed USA
is a registered trademark of Maxim Integrated Products.