Can i put multiple ADCs and DACs on different tile with xu224 or xu232

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
susanyin0501
Member++
Posts: 16
Joined: Thu Apr 20, 2017 9:00 am

Can i put multiple ADCs and DACs on different tile with xu224 or xu232

Postby susanyin0501 » Fri Nov 10, 2017 9:28 am

Dear all
we have a 16 analog input ports and 16 analog output ports audio device project, can we do it with xmos xu224 or xu232 chip?

16 analog input ports need 8 data pins ( ADC0-ADC7), it need 8 1bit ports on xu224 or xu232, same as 16 analog output ports need 8 1bit ports too.

so we can not place 2 ADC( AD0-AD3) and 2 DAC (DAC0-DAC3) on the same tile, As it is not enough 1bit pin on ervery tile.

Can i put 1 DAC and 1 ADC on one tile, the rest ADC and DAC on other tile ? would you please give me some ideas? Thanks
User avatar
infiniteimprobability
XCore Expert
Posts: 875
Joined: Thu May 27, 2010 10:08 am
Contact:

Postby infiniteimprobability » Mon Nov 13, 2017 4:26 pm

Hmm - that is a lot of input output. Could you use TDM instead of I2S? That will get you down to 2 data lines in each direction. That would be the least work..
The issue is that there are maximum 16x 1b ports per tile and I2S has been written to assume it runs on a single tile. With BCLK and LRCLK that would limit you to 14 input/output..

What you are asking can be done.. bit it needs a little work. There are 3 options I can think of:

1) Have 2 x audio tasks running. Each can handle half of the I/O. I have seen this done before but you will need to do some re-naming of the globals in audio.xc for the second file and then handle either forwarding of data/commands from one to the other or modify decouple.xc to talk to 2 audios...
2) Use 4b ports instead of 1b ports for data lines. There is a prototype implementation of this but it's not an official release. I don't see why we couldn't share without support however..
3) Use some sort of bridge/port forwarding from TDM to I2S. It can be done but feels messy and would likely have unwanted delay issues..

What's your max sample rate and which chip is the I2S master?
susanyin0501
Member++
Posts: 16
Joined: Thu Apr 20, 2017 9:00 am

Postby susanyin0501 » Tue Nov 14, 2017 8:39 am

Thanks for your reply, infiniteimprobability
1st solution, a lot of works need to do, and it will not be stable too, i think
2nd one, how can we get this unofficial release?
the last one, maybe it can't meet project latency time requirment.

we'd like to use AKM AK4458 and AK5558, Max sample rat at least 96KHZ, had better 192KHZ
User avatar
infiniteimprobability
XCore Expert
Posts: 875
Joined: Thu May 27, 2010 10:08 am
Contact:

Postby infiniteimprobability » Tue Nov 14, 2017 9:53 am

Hi, I think solution 1 can be perfectly stable - the Xmos architecture allows for precise synchronisation (using channels or interfaces) and offers timing determinism so it can work. However there's a few days work to understand the code base and make the modifications.

Solution 2) is not turn key though. We have a piece of reasonably well verified code that supported a different channel count. It will need some modifying and testing by yourselves to ensure you are happy with it. So you will need to get your hands dirty to a certain extent because it's not a standard configuration of the reference design.

Before I share, can you answer the question "which chip is the I2S master?". This code assumes xmos=I2S master. Also 192kHz @ 16ch @ 24b cannot be transported over the USB ISO endpoint (64Mb bandwidth). You will either need to drop back to 16b/192kHz or 24b/96kHz due to that limitation.

<edit> - I have just looked at the code and it's optimised for 4ch out and 8ch in currently. It would take a fair bit of work to extend this to 16ch in/out and it will definitely be possible, but you'll have to get familiar with the ISA including the zip/unzip instructions. I am not sure it will support 192kHz at this configuration (it might), 96kHz feels safe. I can share on that basis?
User avatar
infiniteimprobability
XCore Expert
Posts: 875
Joined: Thu May 27, 2010 10:08 am
Contact:

Postby infiniteimprobability » Wed Nov 15, 2017 4:15 pm

I had a quick play with this and getting to 8i 8o was trivial and support 192kHz no problem. Looks like 16i 16o will work too but performance takes a hit. It will max out at 96kHz and will require a priority core (100MHz).
susanyin0501
Member++
Posts: 16
Joined: Thu Apr 20, 2017 9:00 am

Postby susanyin0501 » Tue Nov 21, 2017 4:20 am

Hi infiniteimprobability.
Thanks for your reply,
Sorry for reply so late,
we are disscussing and researching this project, we plan to use xmos xu332 chip as I2S master. we'll need your suggestion and help again later. thank a lot.

Return to “Applications”

Who is online

Users browsing this forum: No registered users and 5 guests