English
Language : 

CS42438 Datasheet, PDF (36/64 Pages) Cirrus Logic – 108 dB, 192 kHz 6-in, 8-out TDM CODEC
5.7 Control Port Description and Timing
The control port is used to access the registers, in software mode, allowing the CS42438 to be configured
for the desired operational modes and formats. The operation of the control port may be completely asyn-
chronous 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 has 2 modes: SPI and I²C, with the CS42438 acting as a slave device. SPI mode is se-
lected 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 DGND, thereby permanently
selecting the desired AD0 bit address state.
5.7.1 SPI Mode
In SPI mode, CS is the CS42438 chip select signal, CCLK is the control port bit clock (input into
the CS42438 from the microcontroller), CDIN is the input data line from the microcontroller, CD-
OUT 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 17 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 indicator (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 read or written, allowing block reads or writes of successive
registers.
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 ad-
CS
CCLK
C D IN
C H IP
ADDRESS
1001111
MAP
DATA
R/W
MSB
LSB
byte 1 b yte n
C H IP
ADDRESS
1001111 R/W
CDOUT
High Impedance
MSB
LSB MSB
LSB
MAP = Memory Address Pointer, 8 bits, MSB first
Figure 17. Control Port Timing in SPI Mode
36
DS646PP2