
Data Sheet
ADAU1442/ADAU1445/ADAU1446
Rev. D | Page 27 of 92
address responds by pulling the data line low during the ninth
clock pulse. This ninth bit is known as an acknowledge bit. All
other devices withdraw from the bus at this point and return to
the idle condition. The R/W bit determines the direction of the
data. A Logic 0 on the LSB of the first byte means that the master
writes information to the peripheral. A Logic 1 on the LSB of
the first byte means that the master reads information from the
peripheral. A data transfer takes place until a stop condition is
encountered. A stop condition occurs when SDA transitions
from low to high while SCL is held high
. Figure 13 shows the
timing of an I2C write.
Burst mode addressing, where the subaddresses are automatically
incremented at word boundaries, can be used for writing large
amounts of data to contiguous memory locations. This increment
happens automatically, unless a stop condition is encountered after
a single-word write. The registers and RAMs in the
ADAU1445/ADAU1446 range in width from one to five bytes; therefore, the
auto-increment feature knows the mapping between subaddresses
and the word length of the destination register (or memory lo-
cation). A data transfer is always terminated by a stop condition.
Stop and start conditions can be detected at any stage during the
data transfer. If these conditions are asserted out of sequence
with normal read and write operations, they cause an immediate
jump to the idle condition. During a given SCL high period, the
user should only issue one start condition, one stop condition,
or a single stop condition followed by a single start condition.
If an invalid subaddress is issued by the user, th
e ADAU1442/to the idle condition. If the user exceeds the highest subaddress
while in auto-increment mode, one of two actions is taken. In
highest subaddress register contents until the master device issues a
no acknowledge, indicating the end of a read. A no-acknowledge
condition is where the SDA line is not pulled low on the ninth
clock pulse on SCL. If the highest subaddress location is reached
while in write mode, the data for the invalid byte is not loaded
into any subaddress register, a no acknowledge is issued by the
the idle condition.
I2C Read and Write Operations
Figure 15 shows the sequence of a single-word write operation.
issue an acknowledge by pulling SDA low.
Figure 16 shows the sequence of a burst mode write operation.
This figure shows an example in which the target destination
ADAU1446 know to increment the subaddress register every
two bytes because the requested subaddress corresponds to a
register or memory area with a 2-byte word length.
The sequence of a single-word read operation is shown in
Figure 17. Note that, even though this is a read operation, the
first R/W bit is a 0, indicating a write operation. This is because
the subaddress must be written to set up the internal address.
receipt of the subaddress, the master must issue a repeated start
command followed by the chip address byte with the R/W set to 1,
indicating a read operation. This causes the SDA pin of the
begin driving data back to the master. The master then responds
every ninth pulse with an acknowledge pulse to th
e ADAU1442/Figure 18 shows the sequence of a burst mode read operation.
This figure shows an example in which the target read registers
the subaddress every two bytes because the requested subaddress
corresponds to a register or memory area with word lengths of
two bytes. Other address ranges can have a variety of word lengths,
ADAU1446 always decode the subaddress and set the auto-
increment circuit so that the address increments after the
appropriate number of bytes.
R/W
0
SCL
SDA
(CONTINUED)
SCL
(CONTINUED)
1
ADR
SEL
0
FRAME 1
CHIP ADDRESS BYTE
FRAME 2
SUBADDRESS BYTE 1
FRAME 3
DATA BYTE 1
STOP BY
MASTER
START BY
MASTER
FRAME 2
SUBADDRESS BYTE 2
07696-
013
ACK BY
ADAU1442/ADAU1445/ADAU1446
ACK BY
ADAU1442/ADAU1445/ADAU1446
ACK BY
ADAU1442/ADAU1445/ADAU1446
ACK BY
ADAU1442/ADAU1445/ADAU1446
Figure 13. I2C Write Clocking