USB Audio MC software (L2) - usb clock switching question

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
radaudio
Junior Member
Posts: 7
Joined: Sat Jul 14, 2012 5:14 pm

USB Audio MC software (L2) - usb clock switching question

Post by radaudio »

Dear all,

As I am quite new XMOS I am looking for some advice regarding an effort required to complete a certain task.

We have just completed a hardware design for XMOS L2, but as you know the appetite grows with eating. Currently we want to add some hardware to handle spdif/aes rx/tx comms and stream it into the xmos via I2S to make the design more robust.

I am quite confident we can design the hardware, but some parts of the software are not quite clear. For example the application allows to switch clock sources (internal or spdif recovered) and report the clock status to the driver on the PC. Same with the sampling frequency - the thesycon driver reports spdif frequency to the PC. This means that there must be a way to monitor spdif rx frequency in xmos and send it up the usb pipe.

I understand that in the demo application clock is synced via a PLL and sourced from XMOS pin. All this will need to be changed for my app as the clocking will be handled in hardware.

So here is the big question is - is it difficult to change the clocking system in the current software implementation or is there any other way to approach this task?

For a start I would also love to know where exactly is the sampling frequency of the spdif rx pin recovered and where is it reported back to the usb host.

I am using XDE 11.11.2 and usb_aud_l2 software package version 5.3.

Thanks in advance,

Cheers,

gx


User avatar
Ross
XCore Expert
Posts: 966
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

Hi,

The endpoint 0 reports the sample frequency when requested by the host.

In my experience it is a very bad idea to allow a frequency change that is not originated by the host.

By default the device just informs the host that a change in clocking has occurred - it is then up to the host to interrogate and configure the device