Max9867 ultra-low power stereo audio codec – Rainbow Electronics MAX9867 User Manual
Page 47

MAX9867
Ultra-Low Power Stereo Audio Codec
______________________________________________________________________________________
47
Early STOP Conditions
The MAX9867 recognizes a STOP condition at any
point during data transmission except if the STOP con-
dition occurs in the same high pulse as a START condi-
tion. For proper operation, do not send a STOP
condition during the same SCL high pulse as the
START condition.
Slave Address
The slave address is defined as the 7 most significant
bits (MSBs) followed by the read/write bit. For the
MAX9867, the 7 most significant bits are 0011000.
Setting the read/write bit to 1 (slave address = 0x31)
configures the MAX9867 for read mode. Setting the
read/write bit to 0 (slave address = 0x30) configures
the MAX9867 for write mode. The address is the first
byte of information sent to the MAX9867 after the
START condition.
Acknowledge
The acknowledge bit (ACK) is a clocked 9th bit that the
MAX9867 uses to handshake receipt each byte of data
when in write mode (see Figure 11). The MAX9867 pulls
down SDA during the entire master-generated 9th clock
pulse if the previous byte is successfully received.
Monitoring ACK allows for detection of unsuccessful
data transfers. An unsuccessful data transfer occurs if
a receiving device is busy or if a system fault has
occurred. In the event of an unsuccessful data transfer,
the bus master retries communication. The master pulls
down SDA during the 9th clock cycle to acknowledge
receipt of data when the MAX9867 is in read mode. An
acknowledge is sent by the master after each read byte
to allow data transfer to continue. A not acknowledge is
sent when the master reads the final byte of data from
the MAX9867, followed by a STOP condition.
Write Data Format
A write to the MAX9867 includes transmission of a
START condition, the slave address with the R/W bit set
to 0, 1 byte of data to configure the internal register
address pointer, 1 or more bytes of data, and a STOP
condition. Figure 12 illustrates the proper frame format
for writing 1 byte of data to the MAX9867. Figure 10
illustrates the frame format for writing n bytes of data to
the MAX9867.
A
0
SLAVE ADDRESS
REGISTER ADDRESS
DATA BYTE
ACKNOWLEDGE FROM MAX9867
R/W
1 BYTE
AUTOINCREMENT INTERNAL
REGISTER ADDRESS POINTER
ACKNOWLEDGE FROM MAX9867
ACKNOWLEDGE FROM MAX9867
B1
B0
B3
B2
B5
B4
B7
B6
S
A
A
P
Figure 12. Writing 1 Byte of Data to the MAX9867
1
SCL
START
CONDITION
SDA
28
9
CLOCK PULSE FOR
ACKNOWLEDGMENT
ACKNOWLEDGE
NOT ACKNOWLEDGE
Figure 11. Acknowledge