5.2 I2SC Modes

The I2SC supports Master, Slave and Controller modes with an integrated transmitter, a receiver and a clock generator that can be enabled separately. Data transfer can be done either through the CPU or through the DMA controller with a single DMA channel for both audio channels (left and right channels).

In Master and Controller modes, the I2SC provides the master clock, the serial clock and the word select signal. I2SMCK, I2SCK, and I2SWS pins are outputs.

In Controller mode, the I2SC receiver and transmitter are disabled. Only the clocks are enabled and used by an external receiver and/or transmitter.

In Slave mode, the I2SC receives the serial clock and the word select from an external master. The I2SCK and I2SWS pins are inputs.

The mode is selected by writing to the MODE field in the I2SC_MR register. Since the MODE field changes the direction of the I2SWS and I2SCK pins, the I2SC_MR must be written when the I2SC is stopped.

The I2SC supports a Loop-back mode, which loops back the signal from the transmitter to the receiver. Writing a '1' to the I2SC_MR.LOOP bit internally connects I2SDO to I2SDI, so that the transmitted data is also received.