DS1629
12 of 23
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.
Figure 6 details how data transfer is accomplished on the two-wire bus. Depending upon the state of the
R/
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.
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. Next follows a number of
data bytes transmitted by the slave to the master. 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.
The DS1629 may operate in the following two modes:
1.
Slave receiver 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.
2.
Slave transmitter 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 DS1629 while the serial clock is input on SCL. START and
STOP conditions are recognized as the beginning and end of a serial transfer.
SLAVE ADDRESS
A control byte is the first byte received following the START condition from the master device. The
control byte consists of a 4-bit control code; for the DS1629, this is set as 1001 binary for read and write
operations. The next 3 bits of the control byte are the device select bits (A2, A1, A0). All 3 bits are hard-
wired high for the DS1629. Thus, only one DS1629 can reside on a 2-wire bus to avoid contention;
however, as many as seven other devices with the 1001 control code can be dropped on the 2-wire bus so
long as none contain the 111 address. The last bit of the control byte (R/
) defines the operation to be
performed. When set to a 1 a read operation is selected, and when set to a 0 a write operation is selected.
Following the START condition, the DS1629 monitors the SDA bus checking the device type identifier
being transmitted. Upon receiving the control byte, the slave device outputs an ACK on the SDA line.