beautypg.com

6 control port description and timing, 1 spi mode, Figure 24. control port timing in spi mode – Cirrus Logic CS44800 User Manual

Page 36: Figure 24.control port timing in spi mode

background image

36

DS632F1

CS44800

4.6

Control Port Description and Timing

The control port is used to access the registers, allowing the CS44800 to be configured for the desired op-
erational modes and formats. The operation of the control port may be completely asynchronous with re-
spect 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 has 2 modes: SPI and I²C, with the CS44800 acting as a slave device. SPI mode is selected
if there is a high to low transition on the AD0/CS pin, after the RST pin has been brought high. I²C mode is
selected by connecting the AD0/CS pin through a resistor to VLC or GND, thereby permanently selecting
the desired AD0 bit address state.

4.6.1

SPI Mode

In SPI mode, CS is the CS44800 chip select signal, CCLK is the control port bit clock (input into the
CS44800 from the microcontroller), CDIN is the input data line from the microcontroller, CDOUT is the
output data line to the microcontroller. Data is clocked in on the rising edge of CCLK and out on the falling
edge.

Figure 24

shows the operation of the control port in SPI mode. To write to a register, bring CS low. The

first seven bits on CDIN form the chip address and must be 1001111. The eighth bit is a read/write indi-
cator (R/W), which should be low to write. The next eight bits form the Memory Address Pointer (MAP),
which is set to the address of the register that is to be updated. The next eight bits are the data which will
be placed into the register designated by the MAP. During writes, the CDOUT output stays in the Hi-Z
state. It may be externally pulled high or low with a 47 k

Ω resistor, if desired

There is a MAP auto increment capability, enabled by the INCR bit in the MAP register. If INCR is a zero,
the MAP will stay constant for successive read or writes. If INCR is set to a 1, the MAP will autoincrement
after each byte is written, allowing block writes of successive registers. Autoincrement reads are not sup-
ported.

To read a register, the MAP has to be set to the correct address by executing a partial write cycle which
finishes (CS high) immediately after the MAP byte. The MAP auto increment bit (INCR) may be set or not,
as desired. To begin a read, bring CS low, send out the chip address and set the read/write bit (R/W) high.
The next falling edge of CCLK will clock out the MSB of the addressed register (CDOUT will leave the high
impedance state).

M A P

MSB

LSB

DATA

b y te 1

b y te n

R/W

R/W

A D D R E S S

C H IP

ADDRESS

C H IP

C D IN

C C L K

CS

C D O U T

MSB

LSB MSB

LSB

1001111

1001111

MAP = Memory Address Pointer, 8 bits, MSB first

High Impedance

Figure 24. Control Port Timing in SPI Mode