How many channels of I2S supported in a XU208 USB audio instance?

If you have a simple question and just want an answer.
User avatar
migueljds
Experienced Member
Posts: 90
Joined: Thu Dec 10, 2009 7:08 pm

How many channels of I2S supported in a XU208 USB audio instance?

Post by migueljds »

Check the xCORE-200 Devices Portmap document - http://www.xmos.com/published/xcore-200-devices-portmap

You can see the XU208 leaves 9 x 1b ports after USB is turned on (columns S to V).

For USB audio to I2S you need the following 1b ports:

MCLK
LRCLK
BCLK
1 data line per 2 channels per direction

For USB to TDM you need:

MCLK
FCLK
SCLK
1 data line per 8 channels per direction

You also need:
4 x 1b ports for SPI flash

or

2 x 1b ports for QSPI flash (data is handled on 4b port)

Luckily I2C can be handled on a 4b port so any config can be done without consuming 1b ports.

Let's assume using QSPI (or device with integrated flash which internally is QSPI). So you have:

9 - 3 - 2 = 4 data lines available for audio. So that will easily support 6 channels output with a spare 1b port for I2S or 3 data lines if you choose TDM. You could also re-use the QSPI QSCLK after boot time as an output (eg. BCLK) if you are careful with board layout, which claws back another 1b port.

Note this is a straight n channel USB to I2S bridge which transports bit perfect samples across. There is no 'decode' of multichannel - it is assumed that is done on the host.