XCore 200 MC Board Multichannel Output

New to XMOS and XCore? Get started here.
Post Reply
jamesg
Junior Member
Posts: 7
Joined: Fri Oct 19, 2018 8:16 pm

XCore 200 MC Board Multichannel Output

Post by jamesg »

Hi all,

Apologies in advance if I am not posting in the right forum, but I had a few questions, and I am totally new to the xcore environment. I have a decent chunk of experience with C# and matlab, but most of my experience has been with FPGAs or windows assemblies. I would like to get at least 12 channels going, output only, no input. TDM would be great if I could get more channels, but I haven't done enough research yet.

1. Is xTime studio the best development tool for use when working with the xcore 200 mc board? Java is driving me up a wall right now, and I'd love to use a different IDE if that is not a terrible idea.

2. Is the xcore 200 mc board the best for developing an AVB endpoint? Would I be better off using a DIP mount? Apart from the TDM jumpers at J7 and J8, I don't see much room for digital expansion on the MC board.

3. Regarding the drivers from Thesycon... are those specifically necessary for USB audio only? Or will I need those drivers for AVB as well? I haven't seen much mention of Mac audio drivers. Can someone educate me/point me in the right direction there?

Thank you in advance,
James


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hello jamesg and welcome. Not an audio developer but..

A1) Yes. Are you facing JAVA issues with the installation of the XMOS toolchain? The secret is to install the 32 bit JAVA engine, even if you are on 64 bit platforms. You do not need to uninstall the 64 bit version off your box as both the 32 and 64 bit versions can co-exist.

A2) Yes. Most audio developers using XMOS are basing their efforts from this reference design. Most of the parts related to these devices will be SMT.

A3) Not sure.

FPGA? Painfully working through ModelSim now :( for a manchester encoder / decoder.
jamesg
Junior Member
Posts: 7
Joined: Fri Oct 19, 2018 8:16 pm

Post by jamesg »

Mon2,

Thanks so much for the reply. I'll try the 32bit java installer right away.

Do you know if I can use those TDM jumpers at J7 and J8 to break out more digital audio streams? Is there a special config file I need to load or do I just need to specify 30 channels TDM output in the standard header?

I'll give AVB a try once I have the environment loaded with 32bit java. I assume that I won't have problems... :)

Good luck with ModelSim. I feel your pain.
jamesg
Junior Member
Posts: 7
Joined: Fri Oct 19, 2018 8:16 pm

Post by jamesg »

Follow-up question (probably very dumb).

I've read the section in the manual about using the jumpers at J7 and J8 to select TDM mode, but I don't see any mention of where that TDM output can be accessed.

Is there a separate readme or something that explains in detail how to use the TDM output on the MC board?


Another question:
I'm working on a project where I need about 500 channels of audio playback in clock sync. My I210 NIC will saturate around 350-400 channels given a healthy safety factor, and I'm pretty sure the PHY on the MC board will be completely overwhelmed long before then. I've been looking at the cisco routers that support AVB... would I be correct in assuming that a good cisco switch will only serve the applicable audio streams to each avb endpoint?
jamesg
Junior Member
Posts: 7
Joined: Fri Oct 19, 2018 8:16 pm

Post by jamesg »

For more than 32 channels of audio via TDM, should I use the xcore-200 Explorer Kit? Or would the lack of PLL make that a poor choice?

My plan is to direct the TDM into the TI TAS5825M, which does not need MCLK input.

Any thoughts?
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Hi jamesg

You've looked at the schematics for the xCORE-200 MC audio platform, right? You can pull the TDM output directly from J7 (and insert TDM signals directly to J8). You will need to access the TDM FSYNC and BCLK -- I used the LRCLK and SCLK test points for that.

I have never used more than 32ch @ 48kHz on one xCORE-200 MC audio AVB endpoint but I think the TDM code should be able to support 64 ch at 48 ksps with 4 TDM lines, 16 ch/ line (24.576MHz BCLK, which you can generate from the existing PLL on the board). You might have to do a bit of work though, I'd get it working with the 32ch first.
ashiqkodawath
New User
Posts: 3
Joined: Thu Oct 08, 2020 12:50 pm

Post by ashiqkodawath »

Hi akp,

Could you please share the details of any extra hardwares you used to enable the 32 channel tdm communication?.
I was looking to implement a avb application that supports 32 channel uisng tdm input. From the tdm example from xmos it is understandable that we can put the tdm input lines in j8 jumper and the code modification is also very little.
I would like to know how you gave the tdm input to the xcore 200 j8..
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Right, it's been a while. I suppose I must have wired up TDM ADCs or DSP chips with TDM output. Sorry I can't be more specific. But you've got the J8 there -- 4 tdm lanes on a 0.1" pitch header or whatever it is. So you just need to run the FSYNC and BCLK to the ADCs and if it's 8 channel ADC you'd use one TDM lane per ADC and hook up 4 I suppose. You'll need to be careful on timing and if you use single ended signalling it's got to be pretty clean and short wires.
Post Reply