Preliminary Data Sheet
AD8197
I2C_SCL
GENERAL CASE
I2C_SDA
EXAMPLE
I2C_SDA
START
FIXED PART
ADDR
R/W
ADDR
ACK
REGISTER ADDR
SR
ACK
FIXED PART
ADDR
R/W
ADDR
ACK
DATA
STOP
ACK
1
2
345
67
8
Figure 30. I2C Read Diagram
9 10 11
12
13
READ PROCEDURE
To read data from the AD8197 register set, an I2C master (such
as a microcontroller) needs to send the appropriate control
signals to the AD8197 slave device. The signals are controlled
by the I2C master, unless otherwise specified. For a diagram of
the procedure, see Figure 30. The steps for a read procedure are
as follows:
1. Send a start condition (while holding the I2C_SCL line
high, pull the I2C_SDA line low).
2. Send the AD8197 part address (seven bits). The upper four
bits of the AD8197 part address are the static value [1001]
and the three LSBs are set by Input Pin I2C_ADDR2, Input
Pin I2C_ADDR1, and Input Pin I2C_ADDR0 (LSB). This
transfer should be MSB first.
3. Send the write indicator bit (0).
4. Wait for the AD8197 to acknowledge the request.
5. Send the register address (eight bits) from which data is to
be read. This transfer should be MSB first.
6. Wait for the AD8197 to acknowledge the request.
7. Send a repeated start condition (Sr) by holding the
I2C_SCL line high and pulling the I2C_SDA line low.
13b. Send a repeated start condition (while holding the
I2C_SCL line high, pull the I2C_SDA line low) and
continue with Step 2 of the write procedure (previous
Write Procedure section) to perform a write.
13c. Send a repeated start condition (while holding the
I2C_SCL line high, pull the I2C_SDA line low) and
continue with Step 2 of this procedure to perform a
read from another address.
13d. Send a repeated start condition (while holding the
I2C_SCL line high, pull the I2C_SDA line low) and
continue with Step 8 of this procedure to perform a
read from the same address.
SWITCHING/UPDATE DELAY
There is a delay between when a user writes to the configura-
tion registers of the AD8197 and when that state change takes
physical effect. This update delay occurs regardless of whether
the user programs the AD8197 via the serial or the parallel
control interface. When using the serial control interface, the
update delay begins at the falling edge of I2C_SCL for the last
data bit transferred, as shown in Figure 29. When using the
parallel control interface, the update delay begins at the
transition edge of the relevant parallel interface pin. This update
delay is register specific and the times are specified in Table 1.
8. Resend the AD8197 part address (seven bits) from Step 2.
The upper four bits of the AD8197 part address are the
static value [1001] and the three LSBs are set by the Input
Pin I2C_ADDR2, I2C_ADDR1 and Input Pin I2C_ADDR0
(LSB). This transfer should be MSB first.
9. Send the read indicator bit (1).
10. Wait for the AD8197 to acknowledge the request.
11. The AD8197 serially transfers the data (eight bits) held in
the register indicated by the address set in Step 5. This data
is sent MSB first.
During a delay window, new values can be written to the
configuration registers but the AD8197 does not physically
update until the end of that register’s delay window. Writing
new values during the delay window does not reset the window;
new values supersede the previously written values. At the end
of the delay window, the AD8197 physically assumes the state
indicated by the last set of values written to the configuration
registers. If the configuration registers are written after the delay
window ends, the AD8197 immediately updates and a new
delay window begins.
12. Acknowledge the data from the AD8197.
13. Perform one of the following:
13a. Send a stop condition (while holding the I2C_SCL
line high, pull the SDA line high) and release control
of the bus to end the transaction (shown in Figure 30).
PrA | Page 17 of 32