beautypg.com

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

Page 47

background image

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