Search Results for: AN00162

AN00162: Using the I2S library [sw]

Version Released Comments 1.0.3rc1 2017-01-26 DOWNLOAD 1.0.2rc1 2016-04-07 DOWNLOAD 1.0.1rc1 2016-04-05 DOWNLOAD 1.0.0rc1 2016-02-03 DOWNLOAD

AN00162: Using the I2S library

Version Released Comments 1.0.3rc1 2017-01-26 DOWNLOAD 1.0.2rc1 2016-04-07 DOWNLOAD 1.0.1rc1 2016-04-05 DOWNLOAD 1.0.0rc1 2016-02-03 DOWNLOAD

I2S/TDM Library

I2S/TDM Library

A software library that allows you to control an I2S or TDM (time
division multiplexed) bus via xCORE ports. I2S and TDM are digital
data streaming interface particularly appropriate for transmission of
audio data. The components in the libary
are controlled via C using the XMOS multicore extensions (xC) and
can either act as I2S master, TDM master or I2S slave.

Features

  • I2S master, TDM master and I2S slave modes.
  • Handles multiple input and output data lines.
  • Support for standard I2S, left justified or right justified
    data modes for I2S.
  • Support for multiple formats of TDM synchronization signal.
  • Sample rate support up to 192KHz.
  • Up to 32 channels in/32 channels out (depending on sample rate)

Resource Usage

This following table shows typical resource usage in some different configurations. Exact resource usage will depend on the particular use of the library by the application.

Configuration

Pins

Ports

Clocks

Ram

Logical cores

I2S Master

3 + data lines

3 x (1-bit) + data lines

2

~1.8K

1

I2S Slave

2 + data lines

2 x (1-bit) + data lines

1

~1.3K

1

TDM Master

2 + data lines

2 x (1-bit) + data lines

1

~1.6K

1

Software version and dependencies

This document pertains to version 2.1.1 of this library. It is known to work on
version 14.1.1 of the xTIMEcomposer tools suite, it may work on other versions.

This library depends on the following other libraries:

  • lib_logging (>=2.0.0)
  • lib_xassert (>=2.0.0)

The following application notes use this library:

  • AN00162 – Using the I2S library
Scroll to Top