Page 1 of 1

Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Tue Jun 12, 2018 7:56 pm
by shaw
To help with development of a new product, we wanted to run some tests on the xCORE 200 MC audio 2v0 platform, with the latest USB Audio 2.0 Reference software, to get some experience.

I installed Thesycon eval driver, v4.11.0.0 on a Windows 8 machine. First test was to check setup, we ran preinstalled firmware on xcore 200. I connecting micro usb connector to Windows 8 machine and applied 12v power. Thesycon driver was loaded, and I was able to play audio (using Jriver MC 24). Device manager indicated that it was enumerated as "XMOS USB 2.0 Audio Device". (Just fyi, only worked for sameple rates up to 176K).

I then downloaded the latest USB Audio 2.0 Reference software (v 6.15.2rc1). I opened xTIME composer(v14.3.3) and imported the dowloaded zip. It built successfully. I then started a debug session, and IDE recognized and connected to xcore device (via Xmos xTAG 3 1v2 )and ran code. The device manager indicated "xCORE USB Audio 1.0" device. The Thesycon driver was not loaded, the default Windows drivers were loaded.

I didn't make any changes to USB reference software, just built it as provided by Xmos. Source code sets up for Class 2 and no fallback. (Also I couldn't play any audio files with the same Jriver setup, used with preinstalled image ).

Am I missing something obvious with why it enumerates as Class 1 and doesn't play audio. Windows 8 and Jriver are unchanged from setup used that worked with preinstalled firmware?

Thanks,

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Tue Jun 12, 2018 9:32 pm
by mon2
Can you confirm that the build is for the audio class 2 for your project?

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Tue Jun 12, 2018 11:38 pm
by shaw
mon2, thank-you. I modified makefile as you suggested and rebuilt. This build now behaves like the xcore preinstalled firmware. It is recognized as a audio class 2 device, it loads Thesycon driver and plays audio files up to 176Khz (but not above and not DSD).

I redefined MAX_FREQ from default 192000 to 384000. But it still does not work above 176 Khz. I think there is more to it to get it to work up to 384 Khz. I will review this Xmos application note at (https://www.xmos.com/support/appnotes/AN00103) and then follow-up with findings.

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Wed Jun 13, 2018 2:01 am
by mon2
Please review this thread and post your results:

http://www.xcore.com/viewtopic.php?f=37&t=4375

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Wed Jun 13, 2018 11:55 am
by shaw
I made just two change in customdefines.h, per suggestions in thread
#define MAX_FREQ 384000
#define I2S_CHANS_DAC (2)

Results after rebuilding:
176Khz 24 bits plays successfully
384Khz 24 bits does not play at all. (Just puts up message indicating that Xmos device does not support 384Khz)

note: Jriver player is using TUSBAudio ASIO Driver

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Wed Jun 13, 2018 1:06 pm
by mon2
Have you tested the suggestion from infinite on page 2 of the same thread? We are not audio developers but please review.

http://www.xcore.com/viewtopic.php?f=37&t=4375&start=10

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Wed Jun 13, 2018 2:51 pm
by shaw
I have now rebuilt with all the changes shown in attachment, as suggested by referenced thread. The new build now plays up to 384Khz successfully. It does not play DSD 64 or 128, I will look at that next, and provide any useful feedback or questions.

Thanks again for the help mon2

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Wed Jun 13, 2018 4:30 pm
by mon2
Excellent! Now that is what I call teamwork. Well done and thanks for your updates :)

Re: Xcore 200 with unmodified USB Audio 2.0 software issue

Posted: Wed Jun 13, 2018 5:26 pm
by shaw
Thanks mon2, this issue has been resolved successfully. Probably best to open a new thread to address the separate issue of enabling DSD functionality, with USB Audio 2.0 reference software as a starting point (ie DSD64, DSD128 and DSD256).

note: If I resolve DSD issue without needing to open a new thread, I will post findings here, otherwise all DSD related issue will be in the new thread.