VCC - Primary Power Supply
X1, X2 - 32.768kHz Crystal Connection
V
- +3V Battery Input
BAT
GND - Ground
SDA - Serial Data
SCL - Serial Clock
SQW/OUT - Square Wave/Output Driver
DESCRIPTION
The DS1307 Serial Real-Time Clock is a low-power, full binary-coded decimal (BCD) clock/calendar
plus 56 bytes of NV SRAM. Address and data are transferred serially via a 2-wire, bi-directional bus.
The 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. The clock operates in either the 24-hour or 12-hour format with AM/PM indicator. The
DS1307 has a built-in power sense circuit that detects power failures and automatically switches to the
battery supply.
1 of 12100101
DS1307
TYPICAL OPERATING CIRCUIT
OPERATION
The DS1307 operates as a slave device on the serial bus. Access is obtained by implementing a START
condition and providing a device identification code followed by a register address. Subsequent registers
can be accessed sequentially until a STOP condition is executed. When V
device terminates an access in progress and resets the device address counter. Inputs to the device will
not be recognized at this time to prevent erroneous data from being written to the device from an out of
tolerance system. When V
mode. Upon power-up, the device switches from battery to V
and recognizes inputs when VCC is greater than 1.25 x V
falls below V
CC
the device switches into a low-current battery backup
BAT
when VCC is greater than V
CC
. The block diagram in Figure 1 shows the
BAT
main elements of the serial RTC.
falls below 1.25 x V
CC
+ 0.2V
BAT
BAT
the
DS1307 BLOCK DIAGRAM Figure 1
2 of 12
DS1307
SIGNAL DESCRIPTIONS
VCC, GND – DC power is provided to the device on these pins. V
applied within normal limits, the device is fully accessible and data can be written and read. When a 3V
battery is connected to the device and V
is below 1.25 x V
CC
, reads and writes are inhibited. However,
BAT
the timekeeping function continues unaffected by the lower input voltage. As V
RAM and timekeeper are switched over to the external power supply (nominal 3.0V DC) at V
V
– Battery input for any standard 3V lithium cell or other energy source. Battery voltage must be
BAT
held between 2.0V and 3.5V for proper operation. The nominal write protect trip point voltage at which
access to the RTC and user RAM is denied is set by the internal circuitry as 1.25 x V
lithium battery with 48mAhr or greater will back up the DS1307 for more than 10 years in the absence of
power at 25ºC. UL recognized to ensure against reverse charging current when used in conjunction with a
lithium battery.
See “Conditions of Acceptability” at http://www.maxim-ic.com/TechSupport/QA/ntrl.htm.
SCL (Serial Clock Input) – SCL is used to synchronize data movement on the serial interface.
SDA (Serial Data Input/Output) – SDA is the input/output pin for the 2-wire serial interface. The SDA
pin is open drain which requires an external pullup resistor.
is the +5V input. When 5V is
CC
falls below V
CC
nominal. A
BAT
BAT
BAT
.
the
SQW/OUT (Square Wave/Output Driver) – When enabled, the SQWE bit set to 1, the SQW/OUT pin
outputs one of four square wave frequencies (1Hz, 4kHz, 8kHz, 32kHz). The SQW/OUT pin is open
drain and requires an external pull-up resistor. SQW/OUT will operate with either Vcc or Vbat applied.
X1, X2 – Connections for a standard 32.768kHz quartz crystal. The internal oscillator circuitry is
designed for operation with a crystal having a specified load capacitance (CL) of 12.5pF.
For more information on crystal selection and crystal layout considerations, please consult Application
Note 58, “Crystal Considerations with Dallas Real-Time Clocks.” The DS1307 can also be driven by an
external 32.768kHz oscillator. In this configuration, the X1 pin is connected to the external oscillator
signal and the X2 pin is floated.
RECOMMENDED LAYOUT FOR CRYSTAL
3 of 12
DS1307
CLOCK ACCURACY
The accuracy of the clock is dependent upon the accuracy of the crystal and the accuracy of the match
between the capacitive load of the oscillator circuit and the capacitive load for which the crystal was
trimmed. Additional error will be added by crystal frequency drift caused by temperature shifts. External
circuit noise coupled into the oscillator circuit may result in the clock running fast. See Application Note
58, “Crystal Considerations with Dallas Real-Time Clocks” for detailed information.
Please review Application Note 95, “Interfacing the DS1307 with a 8051-Compatible Microcontroller”
for additional information.
RTC AND RAM ADDRESS MAP
The address map for the RTC and RAM registers of the DS1307 is shown in Figure 2. The RTC registers
are located in address locations 00h to 07h. The RAM registers are located in address locations 08h to
3Fh. During a multi-byte access, when the address pointer reaches 3Fh, the end of RAM space, it wraps
around to location 00h, the beginning of the clock space.
DS1307 ADDRESS MAP Figure 2
00H
07H
08H
3FH
SECONDS
MINUTES
HOURS
DAY
DATE
MONTH
YEAR
CONTROL
RAM
56 x 8
CLOCK AND CALENDAR
The time and calendar information is obtained by reading the appropriate register bytes. The RTC
registers are illustrated in Figure 3. The time and calendar are set or initialized by writing the appropriate
register bytes. The contents of the time and calendar registers are in the BCD format. Bit 7 of register 0
is the clock halt (CH) bit. When this bit is set to a 1, the oscillator is disabled. When cleared to a 0, the
oscillator is enabled.
Please note that the initial power-on state of all registers is not defined. Therefore, it is important
to enable the oscillator (CH bit = 0) during initial configuration.
The DS1307 can be run in either 12-hour or 24-hour mode. Bit 6 of the hours register is defined as the
12- or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is
the AM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the second 10 hour bit (2023 hours).
On a 2-wire START, the current time is transferred to a second set of registers. The time information is
read from these secondary registers, while the clock may continue to run. This eliminates the need to reread the registers in case of an update of the main registers during a read.
4 of 12
DS1307 TIMEKEEPER REGISTERS Figure 3
0
0
0
0
00
00
0
DS1307
0
0
0
00
0
0
CONTROL REGISTER
The DS1307 control register is used to control the operation of the SQW/OUT pin.
BIT 7BIT 6BIT 5BIT 4BIT 3BIT 2BIT 1BIT 0
OUT00SQWE00RS1RS0
OUT (Output control): This bit controls the output level of the SQW/OUT pin when the square wave
output is disabled. If SQWE = 0, the logic level on the SQW/OUT pin is 1 if OUT = 1 and is 0 if
OUT = 0.
SQWE (Square Wave Enable): This bit, when set to a logic 1, will enable the oscillator output. The
frequency of the square wave output depends upon the value of the RS0 and RS1 bits. With the square
wave output set to 1Hz, the clock registers update on the falling edge of the square wave.
RS (Rate Select): These bits control the frequency of the square wave output when the square wave
output has been enabled. Table 1 lists the square wave frequencies that can be selected with the RS bits.
SQUAREWAVE OUTPUT FREQUENCY Table 1
RS1RS0SQW OUTPUT FREQUENCY
001Hz
014.096kHz
108.192kHz
1132.768kHz
5 of 12
DS1307
2-WIRE SERIAL DATA BUS
The DS1307 supports a bi-directional, 2-wire bus and data transmission protocol. A device that sends
data onto the bus is defined as a transmitter and a device receiving data as a receiver. The device that
controls the message is called a master. The devices that are controlled by the master are referred to as
slaves. The bus must be controlled by a master device that generates the serial clock (SCL), controls the
bus access, and generates the START and STOP conditions. The DS1307 operates as a slave on the 2wire bus. A typical bus configuration using this 2-wire protocol is show in Figure 4.
TYPICAL 2-WIRE BUS CONFIGURATION Figure 4
Figures 5, 6, and 7 detail how data is transferred on the 2-wire bus.
§ Data transfer may be initiated only when the bus is not busy.
§ During data transfer, the data line must remain stable whenever the clock line is HIGH. Changes in
the data line while the clock line is high will be interpreted as control signals.
Accordingly, the following bus conditions have been defined:
Bus not busy: Both data and clock lines remain HIGH.
Start data transfer: A change in the state of the data line, from HIGH to LOW, while the clock is HIGH,
defines a START condition.
Stop data transfer: A change in the state of the data line, from LOW to HIGH, while the clock line is
HIGH, defines the STOP condition.
Data valid: The state of the data line represents valid data when, after a START condition, the data line
is stable for the duration of the HIGH period of the clock signal. The data on the line must be changed
during the LOW period of the clock signal. There is one clock pulse per bit of data.
Each data transfer is initiated with a START condition and terminated with a STOP condition. The
number of data bytes transferred between START and STOP conditions is not limited, and is determined
by the master device. The information is transferred byte-wise and each receiver acknowledges with a
ninth bit. Within the 2-wire bus specifications a regular mode (100kHz clock rate) and a fast mode
(400kHz clock rate) are defined. The DS1307 operates in the regular mode (100kHz) only.
6 of 12
DS1307
Acknowledge: Each receiving device, when addressed, is obliged to generate an acknowledge after the
reception of each byte. The master device must generate an extra clock pulse which is associated with
this acknowledge bit.
A device that acknowledges must pull down the SDA line during the acknowledge clock pulse in such a
way that the SDA line is stable LOW during the HIGH period of the acknowledge related clock pulse. Of
course, setup and hold times must be taken into account. A master must signal an end of data to the slave
by not generating an acknowledge bit on the last byte that has been clocked out of the slave. In this case,
the slave must leave the data line HIGH to enable the master to generate the STOP condition.
DATA TRANSFER ON 2-WIRE SERIAL BUS Figure 5
Depending upon the state of the R/ W bit, two types of data transfer are possible:
1. Data transfer from a master transmitter to a slave receiver. The first byte transmitted by the
master is the slave address. Next follows a number of data bytes. The slave returns an acknowledge
bit after each received byte. Data is transferred with the most significant bit (MSB) first.
2. Data transfer from a slave transmitter to a master receiver. The first byte (the slave address) is
transmitted by the master. The slave then returns an acknowledge bit. This is followed by the slave
transmitting a number of data bytes. The master returns an acknowledge bit after all received bytes
other than the last byte. At the end of the last received byte, a “not acknowledge” is returned.
The master device generates all of the serial clock pulses and the START and STOP conditions. A
transfer is ended with a STOP condition or with a repeated START condition. Since a repeated START
condition is also the beginning of the next serial transfer, the bus will not be released. Data is transferred
with the most significant bit (MSB) first.
7 of 12
DS1307
The DS1307 may operate in the following two modes:
1. Slave receiver mode (DS1307 write mode): Serial data and clock are received through SDA and
SCL. After each byte is received an acknowledge bit is transmitted. START and STOP conditions
are recognized as the beginning and end of a serial transfer. Address recognition is performed by
hardware after reception of the slave address and *direction bit (See Figure 6). The address byte is
the first byte received after the start condition is generated by the master. The address byte contains
the 7 bit DS1307 address, which is 1101000, followed by the *direction bit (R/ W ) which, for a write,
is a 0. After receiving and decoding the address byte the device outputs an acknowledge on the SDA
line. After the DS1307 acknowledges the slave address + write bit, the master transmits a register
address to the DS1307 This will set the register pointer on the DS1307. The master will then begin
transmitting each byte of data with the DS1307 acknowledging each byte received. The master will
generate a stop condition to terminate the data write.
DATA WRITE – SLAVE RECEIVER MODE Figure 6
2. Slave transmitter mode (DS1307 read mode): The first byte is received and handled as in the slave
receiver mode. However, in this mode, the *direction bit will indicate that the transfer direction is
reversed. Serial data is transmitted on SDA by the DS1307 while the serial clock is input on SCL.
START and STOP conditions are recognized as the beginning and end of a serial transfer (See
Figure 7). The address byte is the first byte received after the start condition is generated by the
master. The address byte contains the 7-bit DS1307 address, which is 1101000, followed by the
*direction bit (R/ W ) which, for a read, is a 1. After receiving and decoding the address byte the
device inputs an acknowledge on the SDA line. The DS1307 then begins to transmit data starting
with the register address pointed to by the register pointer. If the register pointer is not written to
before the initiation of a read mode the first address that is read is the last one stored in the register
pointer. The DS1307 must receive a “not acknowledge” to end a read.
DATA READ – SLAVE TRANSMITTER MODE Figure 7
8 of 12
DS1307
ABSOLUTE MAXIMUM RATINGS*
Voltage on Any Pin Relative to Ground -0.5V to +7.0V
Storage Temperature -55°C to +125°C
Soldering Temperature 260°C for 10 seconds DIP
See JPC/JEDEC Standard J-STD-020A for
Surface Mount Devices
* This is a stress rating only and functional operation of the device at these or any other conditions above
those indicated in the operation sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods of time may affect reliability.
RangeTemperatureV
Commercial0°C to +70°C4.5V to 5.5V V
Industrial-40°C to +85°C4.5V to 5.5V V
CC
CC1
CC1
RECOMMENDED DC OPERATING CONDITIONS
(Over the operating range*)
PARAMETERSYMBOLMINTYPMAXUNITSNOTES
Supply VoltageV
Logic 1V
Logic 0V
V
Battery VoltageV
BAT
CC
IH
IL
BAT
4.55.05.5V
2.2VCC + 0.3V
-0.5+0.8V
2.03.5V
*Unless otherwise specified.
DC ELECTRICAL CHARACTERISTICS
(Over the operating range*)
PARAMETERSYMBOLMINTYPMAXUNITSNOTES
Input Leakage (SCL)I
I/O Leakage (SDA &
SQW/OUT)
Logic 0 Output (IOL = 5mA)V
Active Supply CurrentI
Standby CurrentI
Battery Current (OSC ON);
SQW/OUT OFF
Battery Current (OSC ON);
SQW/OUT ON (32kHz)
Power-Fail VoltageV
*Unless otherwise specified.
I
CCA
CCS
I
BAT1
I
BAT2
LI
LO
OL
PF
1.216 x V
BAT
300500nA2
480800nA
1.25 x V
BAT
1
1
mA
mA
0.4V
1.5mA7
200
1.284 x V
BAT
mA
V8
1
9 of 12
DS1307
AC ELECTRICAL CHARACTERISTICS
(Over the operating range*)
PARAMETERSYMBOLMINTYPMAXUNITSNOTES
SCL Clock Frequencyf
Bus Free Time Between a STOP and
t
BUF
START Condition
Hold Time (Repeated) START Conditiont
LOW Period of SCL Clockt
HIGH Period of SCL Clockt
Set-up Time for a Repeated START
HD:STA
LOW
HIGH
t
SU:STA
Condition
Data Hold Timet
Data Set-up Timet
HD:DAT
SU:DAT
Rise Time of Both SDA and SCL Signalst
Fall Time of Both SDA and SCL Signalst
Set-up Time for STOP Conditiont