32 channel ADC

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
Post Reply
grinux
New User
Posts: 3
Joined: Thu Dec 21, 2017 10:11 pm

32 channel ADC

Post by grinux »

Hello.
I'm learning XMOS one day.
So may be this is the duplicate question.
Is there supported configuration for 32channel adc conversion for usb application?
I spent some time to learn 8SoundsUSB project based on XS1-L16A-128-QF124. It uses two CS42448 6 channel codecs so i need 6 pcs but main.xc says that:
"#if I2S_WIRES_ADC > 7
#error I2S_WIRES_ADC value is too large!"
CS42448 uses 2 I2S wires so i need 12 to connects 6pcs.
So probably i cant use 6 pcs of CS42448 and i need more density ADC.
Could someone please help me with low cost adc P/N that fits my needs and supported by firmware?

Thanks!


User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

By default the reference design can only handle 7 data wires in/out which gives 14 channels in/out for I2S. That's because each tile has 16 1b ports and you need at least two for LRCLK/BCLK (slave) and MCLK if you are master.

You can do 32ch but you'll need to use TDM mode. There are configs that support TDM (eg. 2i16o16xxxxx_tdm8_xcore_master) which would be a good starting point.

You are slightly in uncharted territory though as we do not test for 32ch. However the design supports 16in 16 out at 96k so I would expect it to work in theory..

Also, the highest sample rate you could use for 32ch is 48k because
48000 * 32 * 32 = 49Mbps. The limit is 64Mbps.
grinux
New User
Posts: 3
Joined: Thu Dec 21, 2017 10:11 pm

Post by grinux »

Hi. Sorry but i comletely lost your answer due to disabled email notofocations.
In my app i dont need any audio outputs. Only 16 inputs.
So is it safe to midify this #error ?
"#if I2S_WIRES_ADC > 7
#error I2S_WIRES_ADC value is too large!"
To allow me to compile app with I2S_WIRES_ADC = 8?
I replaced 6ch codecs with 8 stereo I2S ADC UDA1361TS but still need I2S_WIRES_ADC = 8.

Thanks for assistance!

P.S. I asked this question few minutes ago in separate topic which can be removed.
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

Yes, this should be safe, subject to the comment in the previous post.
Thanks for the note about the double post.
Post Reply