FMS9875
PRODUCT SPECIFICATION
REV. 1.2.15 1/14/02
19
Figure 18. Serial Bus: Read/Write Timing
Figure 19. SerialBus: Typical Byte Transfer
Figure 20. Serial Bus: Slave Address with Read/Write Bit
t
BUFF
t
STAH
SDA
SCL
t
DHO
t
DSU
t
DAL
t
DAH
t
STASU
t
STOSU
SDA
SCL
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
ACK
A6
A5
A4
A3
A2
A1
A0
R/W\
ACK
SDA
SCL
There are five steps within an I
2
C/SMBus cycle:
1.
2.
3.
4.
5.
Start signal
Slave address byte
Pointer register address byte
Data byte to read or write
Stop signal
When the Serial Bus interface is inactive, SCL = H and SDA
= H. Communications are initiated by sending a start signal
(Figure 18, left waveform) that is a HIGH-to-LOW transition
on SDA while SCL is HIGH. A start signal alerts all slaved
devices that a data transfer sequence is imminent.
After a start signal, the first eight bits of data comprise a seven
bit slave address followed a single R/W bit (Read = H, Write
= L) to set the direction of data transfer: read from; or write
to the slave device. If the transmitted slave address matches
the address of the FMS9875 which set by the state of the
ADD pin, the FMS9875 acknowledges by pulling SDA
LOW on the 9th SCL pulse (see Figure 20). If the addresses
do not match or the register being accessed is 0x0F, the
FMS9875 does not acknowledge.
For each byte of data read or written, the MSB is the first bit
of the sequence.
Data Transfer via Serial Interface
If a slave device, such as the FMS9875 does not acknowl-
edge the master device during a write sequence, SDA
remains HIGH so the master can generate a stop signal. Dur-
ing a read sequence, if the master device does not acknowl-
edge by bringing SDA = L, the FMS9875 interprets SDA =
H as “end of data.” SDA remains HIGH so the master can
generate a stop signal.
To write data to a specific FMS9875 control register, three
bytes are sent:
1.
2.
3.
Write the slave address byte with bit R/W = L.
Write the pointer byte.
Write to the control register indexed by the pointer.
After each byte is written, the pointer auto-increments to
allow multiple data byte transfers within one write cycle.
Data is read from the control registers of the FMS9875 in a simi-
lar manner, except that two data transfer operations are required:
1.
2.
3.
4.
Write the slave address byte with bit R/W = L.
Write the pointer byte.
Write the slave address byte with bit R/W = H
Read the control register indexed by the pointer.