This note describes building an SPDIF/ADAT/IยฒS slave to IยฒS converter using ASRC
Overview#
This note describes the authoring of a ADAT/SPDIF/IยฒS to IยฒS converter/bridge. Asynchronous sample rate conversion (ASRC) is employed in order to bridge the two differing clock domains.
This note replaces AN00231: SPDIF Receive to I2S output using Asynchronous Sample Rate Conversion
Key features#
The documented application is designed to run on the XK-316-AUDIO-MC board and has the following key features:
- ASRC input interfaces:
S/PDIF Receive
ADAT Receive (including support for S/MUX)
IยฒS slave receive
- ASRC output interfaces:
IยฒS slave transmit
Additional ADAT/SPDIF transmitters are enabled in ADAT or S/PDIF mode (data derived from input received from the ASRC โoutputโ IยฒS bus)
Support for the following sample frequencies: 44.1, 48, 88.2, 96, 176.4, 192 kHz
Sample latency of between 1.9 and 0.33 milliseconds (Higher sample rates -> lower latency) which can be lowered to between 1.1 and 0.24 milliseconds
Core power consumption between 126 and 205 mW depending on configuration
Provides similar functionality to the CS8422 device
Known issues#
None
Required tools#
XMOS XTC Tools: 15.3.0
Required libraries (dependencies)#
lib_src (www.xmos.com/file/lib_src)
lib_adat (www.xmos.com/file/lib_adat)
lib_spdif (www.xmos.com/file/lib_spdif)
lib_i2c (www.xmos.com/file/lib_i2c)
lib_i2s (www.xmos.com/file/lib_i2s)
lib_sw_pll (www.xmos.com/file/lib_sw_pll)
lib_logging (www.xmos.com/file/lib_logging)
lib_xassert (www.xmos.com/file/lib_xassert)
lib_xcore_math (www.xmos.com/file/lib_xcore_math)