Figure 22. control port timing, i·c mode, 1 i²c write 4.14.2.2 i²c read, Figure 22.control port timing, i²c mode – Cirrus Logic CS4365 User Manual

Page 31: Figure 22, Cs4365, 1 i²c write, 2 i²c read

Advertising
background image

DS670F2

31

CS4365

4.14.2.1 I²C Write

To write to the device, follow the procedure below while adhering to the control port Switching Specifica-
tions in

Section

.

1. Initiate a START condition to the I²C bus followed by the address byte. The upper 6 bits must be

001100. The seventh bit must match the setting of the AD0 pin, and the eighth must be 0. The eighth
bit of the address byte is the R/W bit.

2. Wait for an acknowledge (ACK) from the part, then write to the memory address pointer, MAP. This

byte points to the register to be written.

3. Wait for an acknowledge (ACK) from the part, then write the desired data to the register pointed to by

the MAP.

4. If the INCR bit (see

Section 4.14.1

) is set to 1, repeat the previous step until all the desired registers

are written, then initiate a STOP condition to the bus.

5. If the INCR bit is set to 0 and further I²C writes to other registers are desired, it is necessary to initiate

a repeated START condition and follow the procedure detailed from step 1. If no further writes to other
registers are desired, initiate a STOP condition to the bus.

4.14.2.2 I²C Read

To read from the device, follow the procedure below while adhering to the control port Switching Specifi-
cations.

1. Initiate a START condition to the I²C bus followed by the address byte. The upper 6 bits must be

001100. The seventh bit must match the setting of the AD0 pin, and the eighth must be 1. The eighth
bit of the address byte is the R/W bit.

2. After transmitting an acknowledge (ACK), the device will then transmit the contents of the register

pointed to by the MAP. The MAP register will contain the address of the last register written to the
MAP, or the default address (see

Section 4.14.1

) if an I²C read is the first operation performed on the

device.

3. Once the device has transmitted the contents of the register pointed to by the MAP, issue an ACK.

4. If the INCR bit is set to 1, the device will continue to transmit the contents of successive registers. Con-

tinue providing a clock and issue an ACK after each byte until all the desired registers are read, then
initiate a STOP condition to the bus.

5. If the INCR bit is set to 0 and further I²C reads from other registers are desired, it is necessary to initiate

a repeated START condition and follow the procedure detailed from steps 1 and 2 from the I²C Write
instructions followed by step 1 of the I²C Read section. If no further reads from other registers are de-
sired, initiate a STOP condition to the bus.

S D A

S C L

001100

ADDR
AD 0

R/W

S ta rt

ACK

D AT A
1-8

ACK

DA TA
1-8

ACK

Stop

N ote: If o peration is a w rite, th is byte contain s the M em o ry A ddress P o inter, M A P .

N ote 1

Figure 22. Control Port Timing, I²C Mode

Advertising