DS1307 64 x 8, Serial, I
2
C Real-Time Clock
10 of 14
I
2
C DATA BUS
The DS1307 supports the I
2
C 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 I
2
C bus.
Figures 3, 4, and 5 detail how data is transferred on the I
2
C bus.
Data transfer can 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
I
2
C bus specifications a standard mode (100kHz clock rate) and a fast mode (400kHz clock rate) are defined.
The DS1307 operates in the standard mode (100kHz) only.
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.
DS1307 64 x 8, Serial, I
2
C Real-Time Clock
11 of 14
Figure 3. Data Transfer on I
2
C Serial Bus
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 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.
ACKNOWLEDGEMENT
SIGNAL FROM RECEIVER
ACKNOWLEDGEMENT
SIGNAL FROM RECEIVER
R/
W
DIRECTION
BIT
REPEATED IF MORE BYTES
ARE TRANSFERED
START
CONDITION
STOP
CONDITION
OR
REPEATED
START
CONDITION
MSB
1
2
6
7
8
9
1
2
3-7
8
9
ACK
ACK
SDA
SCL
DS1307 64 x 8, Serial, I
2
C Real-Time Clock
12 of 14
...A
XXXXXXXXA
1101000
S 0
XXXXXXXX
A XXXXXXXX
A XXXXXXXX
A P
<Slave Address> <Word Address (n)> <Data(n)> <Data(n+1)> <Data(n+X)>
S - Start
A - Acknowledge (ACK)
P - Stop
<RW>
DATA TRANSFERRED
(X+1 BYTES + ACKNOWLEDGE)
Master to slave
Slave to master
A
XXXXXXXX
A
1101000
S
1
XXXXXXXX
A
XXXXXXXX XXXXXXXX
A
P
<Slave Address> <Data(n)> <Data(n+1)> <Data(n+2)> <Data(n+X)>
S - Start
A - Acknowledge (ACK)
P - Stop
A - Not Acknowledge (NACK)
<RW>
DATA TRANSFERRED
(X+1 BYTES + ACKNOWLEDGE); NOTE: LAST DATA BYTE IS
FOLLOWED BY A NOT ACKNOWLEDGE (A) SIGNAL)
Master to slave
Slave to master
...
A
The DS1307 can operate in the following two modes:
1. Slave Receiver Mode (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. Hardware performs address recognition after reception of
the slave address and direction bit (see Figure 4). The slave address byte is the first byte received
after the master generates the START condition. The slave address byte contains the 7-bit DS1307
address, which is 1101000, followed by the direction bit (R/W), which for a write is 0. After receiving and
decoding the slave address byte, the DS1307 outputs an acknowledge on SDA. After the DS1307
acknowledges the slave address + write bit, the master transmits a word address to the DS1307. This
sets the register pointer on the DS1307, with the DS1307 acknowledging the transfer. The master can
then transmit zero or more bytes of data with the DS1307 acknowledging each byte received. The
register pointer automatically increments after each data byte are written. The master will generate a
STOP condition to terminate the data write.
2. Slave Transmitter Mode (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. The
DS1307 transmits serial data on SDA 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 5). The slave
address byte is the first byte received after the START condition is generated by the master. The slave
address byte contains the 7-bit DS1307 address, which is 1101000, followed by the direction bit (R/W),
which is 1 for a read. After receiving and decoding the slave address the DS1307 outputs an
acknowledge on SDA. 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 register pointer
automatically increments after each byte are read. The DS1307 must receive a Not Acknowledge to
end a read.
Figure 4. Data WriteSlave Receiver Mode
Figure 5. Data ReadSlave Transmitter Mode

DS1307Z

Mfr. #:
Manufacturer:
Maxim Integrated
Description:
Real Time Clock 64x8 Serial I2C RTC
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet