S i M 3 U 1 x x
48
Preliminary Rev. 0.8
The I2C interface may operate as a master and/or slave, and may function on a bus with multiple masters. The I2C
provides control of SDA (serial data), SCL (serial clock) generation and synchronization, arbitration logic, and start/
stop control and generation.
The I2C module includes the following features:
Standard (up to 100 kbps) and Fast (400 kbps) transfer speeds.
Can operate down to APB clock divided by 32768 or up to APB clock divided by 8.
Support for master, slave, and multi-master modes.
Hardware synchronization and arbitration for multi-master mode.
Clock low extending (clock stretching) to interface with faster masters.
Hardware support for 7-bit slave and general call address recognition.
Firmware support for 10-bit slave address decoding.
Ability to disable all slave states.
Programmable clock high and low period.
Programmable data setup/hold times.
Spike suppression up to 2 times the APB period.
4.6.7. I
2
S (I2S0)
The I
2
S module receives digital data from an external source over a data line in the standard I
2
S, left-justified, right-
justified, or time domain multiplexing format, de-serializes the data, and generates requests to transfer the data
using the DMA. The module also reads stereo audio samples from the DMA, serializes the data, and sends it out of
the chip on a data line in the same standard serial format for digital audio. The I
2
S receive interface consists of 3
signals: SCK (bit clock), WS (word select or frame sync), and SD (data input). The block’s transmit interface
consists of 3 signals: SCK (bit clock), WS (word select or frame sync) and SD (data output).
The I
2
S module includes the following features:
Master or slave capability.
Flexible 10-bit clock divider with 8-bit fractional clock divider provides support for various common
sampling frequencies (16 kHz, 22.05 kHz, 24 kHz, 32 kHz, 44.1 kHz, and 48 kHz) for up to two 32-bit
channels.
Support for DMA data transfers.
Support for various data formats.