Page 1 of 1

TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Fri Dec 08, 2017 2:02 pm
by AlexAdvice
Hello friends.

I'm running my own board wit XU208 and trying to test with the reference software 6.15.2rc1
It works fine for 2CH with I2S, but now I want to try multichannel with TDM.

My 1st attempt was 8CH with one TDM Data Line (using I2S_CHANS_PER_FRAME=8) - also works fine.
But unfortunately, maximum sample rate is 96kHz with MCLK=512Fs.

For some reason I do not want to change mclk to 1024fs, so I decide to use 2 Data Lines (I2S_CHANS_PER_FRAME=4).
I can see all channels data, but I got FSync frequency 96kHZ and BCLK freq 12.288kHZ at Fs=48 and Fcyns=192kHZ + BCLK = 24.576kHz at Fs-96, so TDM works at double frequency.
This is a known issue or I'm doing something wrong?


P.S. I also want to play with more then 8 channels, but I don't know which PC software I can use for testing? Up to 8 channels I use WaveGene 1.50, are any suggestions?

Re: TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Wed Dec 20, 2017 9:21 pm
by andrewxcav
I am not familiar with this application, but it does seem like you have some headroom in terms of clock frequency.

Can you get any number of channels got go about 96 kHz.? I'd also search the source code for any #defines setting a max sample frequency to rule out this being a known issue or limitation.

Re: TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Fri Dec 22, 2017 4:37 pm
by AlexAdvice
8 channels.

With I2S_CHANS_PER_FRAME=8 everything is fine, with Fs=48kHz I got:
Fsync = 48kHz
BCLK = 12.2144 MHz.

BUT:
With I2S_CHANS_PER_FRAME=4 and Fs=48kHz it should be:
Fsync = 48kHz
BCLK = 6.144 MHz.

and I got the double frequencies:
Fsync = 96kHz
BCLK = 12.288MHz

Re: TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Fri Dec 22, 2017 4:45 pm
by andrewxcav
That certainly sounds like a bug. I would see if you can reproduce it in any of these examples:

https://github.com/xmos/lib_i2s/tree/master/examples

to see if the problem is in the library or in the reference software.

If the problem is with the library, then submit an issue on it's Github page, if it's the reference design, and there isn't a newer version published, then report back here.

Re: TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Fri Dec 22, 2017 5:14 pm
by AlexAdvice
I used the Reference Design, the latest available version (~1 year ago).

Re: TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Fri Dec 22, 2017 5:17 pm
by andrewxcav
Right, I was asking if you could determine whether the library or the reference design was to blame. (the reference design probably also uses an older version of the library and may not be compatible with the latest, so the examples on Github are the best bet for testing the lib)

Re: TDM Clocks if I2S_CHANS_PER_FRAME=4 on XU208

Posted: Fri Dec 22, 2017 7:01 pm
by AlexAdvice
As I remember, the Reference Design does not use this library.
I tried to find where is the problem, but I have to switch to another project, so this is temporary postponed.