USB Audio 2.0: Problems with I2S and various DACs

Technical questions regarding the XTC tools and programming with XMOS.
misterten
Member++
Posts: 19
Joined: Mon Aug 08, 2011 10:06 am

USB Audio 2.0: Problems with I2S and various DACs

Post by misterten »

Hi,

I made a layout near to reference design. The development board L1 contains a Crystal sound chip which converts I2S data. Anyone out there who uses other chips?

I am using a Burr Brown which causes trouble. When changing sample rate the I2S clocks stop (LRCK and BCLK). The Burr Brown DAC reacts on this with an offset on the ouput, regardless wether MUTE has been set or not!!! :o

Can anyone tell me which thread generates the clocks in which I could see and prevent the turning off of these? I'd like to generate a dummy clock while XMOS is calculating and configuring the real clock.

Any help appreciated because I am new in multitasking cores.


User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Is the BB CODEC running in master I2S mode ?
(And XMOS is the slave)
Probably not the most confused programmer anymore on the XCORE forum.
misterten
Member++
Posts: 19
Joined: Mon Aug 08, 2011 10:06 am

Post by misterten »

No, XMOS as master and CODEC as slave. Like in reference design.
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Search for "#ifdef CODEC_SLAVE" in audio.xc (module_usb_aud_shared)

You will find the generation of lrclk och bclk there from the masterclock.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
Ross
XCore Expert
Posts: 966
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

Have you thought about using an external mute circuit?
misterten
Member++
Posts: 19
Joined: Mon Aug 08, 2011 10:06 am

Post by misterten »

@Ross:
regardless wether MUTE has been set or not!!
I even pulled MUTE on my DAC hard to low. No chance. Seems to be a bug on the BurrBrown DAC I am using. :(

I've taken out PLL_CLOCK_DELAY and DAC reset which causes something like a clock stretching for just one period. The clock looks like strechted about 4 times. Even this causes a crackle on the DAC.

It gets even worse when selecting an audio file of other frequency and bit rate, which causes a pausing period of clocking of about 500us.

So, BurrBrown doesn't like clock switching. :evil:
I guess I won't be able to avoid these cracklings... :(
User avatar
Ross
XCore Expert
Posts: 966
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

misterten wrote:@Ross:
regardless wether MUTE has been set or not!!
I even pulled MUTE on my DAC hard to low. No chance. Seems to be a bug on the BurrBrown DAC I am using. :(

I've taken out PLL_CLOCK_DELAY and DAC reset which causes something like a clock stretching for just one period. The clock looks like strechted about 4 times. Even this causes a crackle on the DAC.

It gets even worse when selecting an audio file of other frequency and bit rate, which causes a pausing period of clocking of about 500us.

So, BurrBrown doesn't like clock switching. :evil:
I guess I won't be able to avoid these cracklings... :(
No, I mean an *external* mute circuit to clamp the output of the DAC.