Rainbow Electronics MAX9877 User Manual
Page 26
MAX9877
Low RF Susceptibility, Mono Audio
Subsystem with DirectDrive Headphone Amplifier
26
______________________________________________________________________________________
ACKNOWLEDGE FROM MAX9877
1 BYTE
AUTOINCREMENT INTERNAL
REGISTER ADDRESS POINTER
ACKNOWLEDGE FROM MAX9877
NOT ACKNOWLEDGE FROM MASTER
A
A
P
A
0
ACKNOWLEDGE FROM MAX9877
R/W
S
A
R/W
REPEATED START
Sr
1
SLAVE ADDRESS
REGISTER ADDRESS
SLAVE ADDRESS
DATA BYTE
Figure 11. Reading One Indexed Byte of Data from the MAX9877
1 BYTE
AUTOINCREMENT INTERNAL
REGISTER ADDRESS POINTER
ACKNOWLEDGE FROM MAX9877
ACKNOWLEDGE FROM MAX9877
B1 B0
B3 B2
B5 B4
B7 B6
A
A
0
ACKNOWLEDGE FROM MAX9877
R/W
S
A
1 BYTE
ACKNOWLEDGE FROM MAX9877
B1 B0
B3 B2
B5 B4
B7 B6
P
A
SLAVE ADDRESS
REGISTER ADDRESS
DATA BYTE 1
DATA BYTE n
Figure 10. Writing n-Bytes of Data to the MAX9877
The second byte transmitted from the master config-
ures the MAX9877’s internal register address pointer.
The pointer tells the MAX9877 where to write the next
byte of data. An acknowledge pulse is sent by the
MAX9877 upon receipt of the address pointer data.
The third byte sent to the MAX9877 contains the data
that will be written to the chosen register. An acknowl-
edge pulse from the MAX9877 signals receipt of the
data byte. The address pointer autoincrements to the
next register address after each received data byte.
This autoincrement feature allows a master to write to
sequential registers within one continuous frame. Figure
10 illustrates how to write to multiple registers with one
frame. The master signals the end of transmission by
issuing a STOP condition.
Register addresses greater than 0x04 are reserved. Do
not write to these addresses.
Read Data Format
Send the slave address with the R/W bit set to 1 to initiate
a read operation. The MAX9877 acknowledges receipt of
its slave address by pulling SDA low during the 9th SCL
clock pulse. A START command followed by a read
command resets the address pointer to register 0x00.
The first byte transmitted from the MAX9877 will be the
contents of register 0x00. Transmitted data is valid on the
rising edge of SCL. The address pointer autoincrements
after each read data byte. This autoincrement feature
allows all registers to be read sequentially within one
continuous frame. A STOP condition can be issued after
any number of read data bytes. If a STOP condition is
issued followed by another read operation, the first data
byte to be read will be from register 0x00.
The address pointer can be preset to a specific register
before a read command is issued. The master presets
the address pointer by first sending the MAX9877‘s
slave address with the R/W bit set to 0 followed by the
register address. A REPEATED START condition is then
sent followed by the slave address with the R/W bit set
to 1. The MAX9877 then transmits the contents of the
specified register. The address pointer autoincrements
after transmitting the first byte. The master acknowl-
edges receipt of each read byte during the acknowl-
edge clock pulse. The master must acknowledge all
correctly received bytes except the last byte. The final
byte must be followed by a not acknowledge from the
master and then a STOP condition. Figure 11 illustrates
the frame format for reading one byte from the
MAX9877. Figure 12 illustrates the frame format for
reading multiple bytes from the MAX9877.