Datasheet

Data Sheet AD9520-0
Rev. A | Page 51 of 80
SERIAL CONTROL PORT
The AD9520 serial control port is a flexible, synchronous serial
communications port that allows an easy interface with many
industry-standard microcontrollers and microprocessors. The
AD9520 serial control port is compatible with most synchronous
transfer formats, including Philips I²C, Motorola® SPI®, and
Intel® SSR protocols. The AD9520 I²C implementation deviates
from the classic I²C specification on two specifications, and
these deviations are documented in Table 14. The serial control
port allows read/write access to all registers that configure the
AD9520.
SPI/I²C PORT SELECTION
The AD9520 has two serial interfaces, SPI and I²C. Users can
select either SPI or I²C depending on the states of the three- level
(high, open, low) logic input pins, SP1 and SP0. When both SP1
and SP0 are high, the SPI interface is active. Otherwise, I²C is active
with eight different I²C slave address (seven bits wide) settings
(see Table 41). The four MSBs of the slave address are hardware
coded as 1011b; the three LSBs are programmed by SP1 and SP0.
Table 41. Serial Port Mode Selection
SP1 SP0 Address
Low Low I²C, 1011000b
Low Open I²C, 1011001b
Low
High
I²C, 1011010b
Open Low I²C, 1011011b
Open Open I²C, 1011100b
Open High I²C, 1011101b
High Low I²C, 1011110b
High Open I²C, 1011111b
High
High
SPI
I²C SERIAL PORT OPERATION
The AD9520 I²C port is based on the I²C fast mode standard.
The AD9520 supports both I²C protocols: standard mode
(100 kHz) and fast mode (400 kHz).
The AD9520 I²C port has a 2-wire interface consisting of a serial
data line (SDA) and a serial clock line (SCL). In an I²C bus system,
the AD9520 is connected to the serial bus (data bus SDA and clock
bus SCL) as a slave device, meaning that no clock is generated by
the AD9520. The AD9520 uses direct 16-bit (two bytes) memory
addressing instead of traditional 8-bit (one byte) memory
addressing.
I
2
C Bus Characteristics
Table 42. I
2
C Bus Definitions
Abbreviation Definition
S Start
Sr Repeated start
P Stop
A Acknowledge
A
No acknowledge
W
Write
R Read
One pulse on the SCL clock line is generated for each data bit
transferred.
The data on the SDA line must not change during the high period
of the clock. The state of the data line can change only when the
clock on the SCL line is low.
SDA
SCL
DATA LINE
STABLE;
DATA VALID
CHANGE
OF DATA
ALLOWED
07213-160
Figure 56. Valid Bit Transfer
A start condition is a transition from high to low on the SDA
line while SCL is high. The start condition is always generated
by the master to initialize the data transfer.
A stop condition is a transition from low to high on the SDA
line while SCL is high. The stop condition is always generated
by the master to end the data transfer.
START
CONDITION
S
STOP
CONDITION
P
SDA
SCL
07213-161
Figure 57. Start and Stop Conditions
A byte on the SDA line is always eight bits long. An acknowledge
bit must follow every byte. Bytes are sent MSB first.
The acknowledge bit is the ninth bit attached to any 8-bit data
byte. An acknowledge bit is always generated by the receiving
device (receiver) to inform the transmitter that the byte has
been received. It is accomplished by pulling the SDA line low
during the ninth clock pulse after each 8-bit data byte.
The no acknowledge bit is the ninth bit attached to any 8-bit
data byte. A no acknowledge bit is always generated by the
receiving device (receiver) to inform the transmitter that the
byte has not been received. It is accomplished by leaving the SDA
line high during the ninth clock pulse after each 8-bit data byte.