Product Preview
WM8777
Figure 6 3-Wire SPI Compatible Control Interface Readback
2-WIRE SERIAL CONTROL MODE WITH ADDITIONAL READBACK PIN
The WM8777 supports software control via a 2-wire (plus readback pin) serial bus. Many devices can
be controlled by the same bus, and each device has a unique 7-bit address (this is not the same as
the 7-bit address of each register in the WM8777).
The controller indicates the start of data transfer with a high to low transition on SDIN while SCLK
remains high. This indicates that a device address and data will follow. All devices on the 2-wire bus
respond to the start condition and shift in the next eight bits on SDIN (7-bit address + Read/Write bit,
MSB first). If the device address received matches the address of the WM8777, the WM8777
responds by pulling SDIN low on the next clock pulse (ACK). If the address is not recognised, the
WM8777 returns to the idle condition and wait for a new start condition and valid address.
Once the WM8777 has acknowledged a correct address, the controller sends the first byte of control
data (B15 to B8, i.e. the WM8777 register address plus the first bit of register data). The WM8777
then acknowledges the first data byte by pulling SDIN low for one clock pulse. The controller then
sends the second byte of control data (B7 to B0, i.e. the remaining 8 bits of register data), and the
WM8777 acknowledges again by pulling SDIN low.
The transfer of data is complete when there is a low to high transition on SDIN while SCLK is high.
After receiving a complete address and data sequence the WM8777 returns to the idle state and
waits for another start condition. If a start or stop condition is detected out of sequence at any point
during data transfer (i.e. SDIN changes while SCLK is high), the device jumps to the idle condition.
START
STOP
SCLK
SDIN
address
wr
ack
B15-B8
ack
B7-B0
ack
in
out
in
out
in
out
device address
[wr=0]
register
address and
remaining data
bits
1st data bit
Figure 7 2-Wire Serial Control Interface
The WM8777 has two possible device addresses, which can be selected using the CSBpin.
CSBSTATE
DEVICE ADDRESS IN 2-
WIRE MODE
Low or Unconnected
High
0011010
0011011
Table 13 2-Wire MPU Interface Address Selection
PP Rev 1.94 November 2004
25
w