Control port interface, 1 map auto increment, 2 i2c mode – Cirrus Logic CS4392 User Manual

Page 14: 2a i2c write, 1 map auto increment 4.0.2 i2c mode, I2c write, Cs4392

Advertising
background image

CS4392

14

DS459PP3

4. CONTROL PORT INTERFACE

The control port is used to load all the internal register settings (see section 6). The operation of the control
port may be completely asynchronous with the audio sample rate. However, to avoid potential interference
problems, the control port pins should remain static if no operation is required.

The control port operates in one of two modes: I

2

C

or SPI.

Notes: MCLK must be applied during all I

2

C communication.

4.0.1

MAP Auto Increment

The device has MAP (memory address pointer) auto increment capability enabled by the INCR bit
(also the MSB) of the MAP. If INCR is set to 0, MAP will stay constant for successive I

2

C writes

or reads, and SPI writes. If INCR is set to 1, MAP will auto increment after each byte is written,
allowing block reads or writes of successive registers.

4.0.2

I

2

C Mode

In the I

2

C mode, data is clocked into and out of the bi-directional serial control data line, SDA, by

the serial control port clock, SCL (see Figure 8 for the clock to data relationship). There is no CS
pin. Pin AD0 enables the user to alter the chip address (001000[AD0][R/W]) and should be tied to
VL or AGND as required, before powering up the device. If the device ever detects a high to low
transition on the AD0/CS pin after power-up, SPI mode will be selected.

4.0.2a

I

2

C Write

To write to the device, follow the procedure below while adhering to the control port
Switching Specifications in section 7.

1) Initiate a START condition to the I

2

C bus followed by the address byte. The upper 6 bits

must be 001000. 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.0.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

2

C writes to other registers are desired, it is nec-

essary 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.

Advertising