14 control port operation, 1 i·c control, Figure 21. control port timing, i·c write – Cirrus Logic CS42L55 User Manual

Page 38: Figure 22. control port timing, i·c read, 1 i²c control, Cs42l55, Figure 21. control port timing, i²c write, Figure 22. control port timing, i²c read

Advertising
background image

38

DS773F1

CS42L55

4.14

Control Port Operation

The control port is used to access the registers allowing the CODEC to be configured for the desired oper-
ational modes and formats. The operation of the control port may be completely asynchronous with respect
to the audio sample rates. However, to avoid potential interference problems, the control port pins should
remain static if no operation is required.

The control port operates using an I²C interface with the CODEC acting as a slave device.

4.14.1

I²C Control

SDA is a bidirectional data line. Data is clocked into and out of the part by the clock, SCL. The signal tim-
ings for a read and write cycle are shown in

Figure 21

and

Figure 22

. A Start condition is defined as a

falling transition of SDA while the clock is high. A Stop condition is defined as a rising transition of SDA
while the clock is high. All other transitions of SDA occur while the clock is low. The first byte sent to the
CS42L55 after a Start condition consists of a 7-bit chip address field and a R/W bit (high for a read, low
for a write).

The upper 7 bits of the address field are fixed at 1001010. To communicate with the CS42L55, the chip
address field, which is the first byte sent to the CS42L55, should match 1001010. The eighth bit of the
address is the R/W bit. If the operation is a write, the next byte is the Memory Address Pointer (MAP); the
MAP selects the register to be read or written. If the operation is a read, the contents of the register pointed
to by the MAP will be output. Setting the auto-increment bit in MAP allows successive reads or writes of
consecutive registers. Each byte is separated by an acknowledge bit. The ACK bit is output from the
CS42L55 after each input byte is read and is input to the CS42L55 from the microcontroller after each
transmitted byte.

Since the read operation cannot set the MAP, an aborted write operation is used as a preamble. As shown
in

Figure 22

, the write operation is aborted (after the acknowledge for the MAP byte) by sending a stop

condition. The following pseudocode illustrates an aborted write operation followed by a read operation.

Send start condition.
Send 10010100 (chip address & write operation).
Receive acknowledge bit.
Send MAP byte, auto-increment off.

4 5 6 7

24 25

SCL

CHIP ADDRESS (WRITE)

MAP BYTE

DATA

DATA +1

START

ACK

STOP

ACK

ACK

ACK

1 0 0 1 0 1 0 0

SDA

INCR

6 5 4 3 2 1 0

7 6 1 0

7 6 1 0

7 6 1 0

0 1 2 3

8 9

12

16 17 18 19

10 11

13 14 15

27 28

26

DATA +n

Figure 21. Control Port Timing, I²C Write

SCL

CHIP ADDRESS (WRITE)

MAP BYTE

DATA

DATA +1

START

ACK

STOP

ACK

ACK

ACK

1 0 0 1 0 1 0 0

SDA

1 0 0 1 0 1 0 1

CHIP ADDRESS (READ)

START

INCR

6 5 4 3 2 1 0

7 0

7 0

7 0

NO

16

8 9

12 13 14 15

4 5 6 7

0 1

20 21 22 23 24

26 27 28

2 3

10 11

17 18 19

25

ACK

DATA + n

STOP

Figure 22. Control Port Timing, I²C Read

Advertising