usb audio sharing clock source with other components

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
Experienced Member
Posts: 75
Joined: Fri Dec 06, 2013 7:05 pm

usb audio sharing clock source with other components

Postby pasau » Sat Jun 06, 2020 4:24 am

Hi, i have a project where i want to have multiple I2S data streams to my DAC. I use the XMOS for the audio USB and for the various control interfaces.

I have a clock source of selectable precise oscillators that will be used for generating the right master clock, MCLK_441 and MCLK_48 depending what the host needs.

My main concern is that, i will mux the various I2S signals to my DAC, but i would prefer to have only a single oscillator enabled at once, which drives the output of the 2 selectable oscillators. So, if the board is in SPDIF mode for example, it will use a AK4118 SPDIF receiver and have a core running in XMOS tell the audiohw.xc functions to ignore usb host clock configuration requests and take control of the selectable clock source to use as a reference clock somewhere else, so then the USB process on the XMOS should lose control of MCLK, and could possibly receive the wrong one of the 2 MCLK. I hope i explain this clearly!

this does not matter to me anywhere else, since the I2S interface being switched off won't be sending to the DAC, but i am wondering if it can cause any problem or crash on the USB stack or host side since USB audio specification might not be respected. Should i just not care about this? is there a way to send a command to the usb endpoints to disable the audio usb device while something else uses the clock source? or even something else i should consider entirely.

Who is online

Users browsing this forum: No registered users and 3 guests