Page 1 of 2

DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Wed Jun 13, 2018 10:41 pm
by shaw
To help with the 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've attached a list of the ONLY modifications that we have made so far, to the USB Audio 2.0 ref software (v 6.15.2rc1). Mods were made with mon2's guidance and allowed for successful playback of audio files recorded up to 384Khz sampling rate (using Jriver MC 24 with TUSBAudio ASIO driver). I have verified that newly installed Thesycon eval driver, v4.11.0.0 , is loading when firmware is running under debugger control (xTIME composer v14.3.3, via Xmos xTAG 3 1v2 ) . Device manager indicates that it has enumerated as "XMOS USB 2.0 Audio Device".

So the issue is that we can play wav files up to the MAX_FREQ of 384Khz, but we can't get DSD64 and DSD128 dsf files to play successfully. Jriver is setup and enabled to output dsf files in DoP format. When I try to play dsd files, Jriver indicates that it is playing, but no audio is output. TUSBAudio Control panel shows the correct sample rate when both files play (176400 Hz and 352800 Hz respectively).

Any tips on a direction to begin looking is appreciated.

Thanks,

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Thu Jun 14, 2018 12:25 am
by mon2
Hello again. Please review this document and post your results:

https://www.xmos.com/support/appnotes/AN00103

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Thu Jun 14, 2018 11:42 am
by shaw
I have reviewed AN00103 and broke it into a series of requirements, that I have listed below. Steps 1 - 7 are required to allow DSD 64 and DSD 128 to play. Additionally, steps 8 - 10 are required to then allow DSD 256 to play. I wanted to work towards getting DSD 64/128 working first. Once DSD 64/128 was working, move on to DSD 256.

I have indicated below how I have tried to address each of the first seven steps. After completing all seven steps, I still haven't been able to get playback to work for DSD 64 / 128 files (unchanged from description in original message). I'm not sure which steps I may have missed?

1: Baseline firmware to support DSD playback is required: USB Audio 2.0 Reference software (v 6.15.2rc1)
2: Enable DSD: -DDSD_CHANS_DAC=2 was added to Makefile XCC_FLAGS for the configuration being built. See original attachement
3: Enable 384 Khz sampling rate support: See original attachement for all changes made. (384Khz operation was verified to work)
4: XTIME composer 13.2 or later: (v14.3.3)
5: Appropriate platform with hardware to support sampling rates upto DSD 128: xCORE 200 MC audio 2v0 platform
6: Provide Audio playback media center capable of playing DSD formatted as DoP: Jriver MC 24, setup and enabled to output dsf files in DoP format.
7: Provide Appropriate Driver for Player / Device interface and setup player accordingly: Thesycon eval driver, v4.11.0.0 on a Windows 8 machine
--------------------------------------------------------------------------------------------------
8: Enable 768 Khz sampling rate support:
9: Implement dummy I2S routine(s) for unsupported PCM sample rates :
10: Hardware mute when PCM mode is enabled?:

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Fri Jun 15, 2018 10:30 am
by AlexAdvice
shaw wrote:
8: Enable 768 Khz sampling rate support:
9: Implement dummy I2S routine(s) for unsupported PCM sample rates :
This you only need if you want to play DSD256 also in DoP mode.
For just Native DSD256 - not need.

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Fri Jun 15, 2018 11:09 am
by shaw
Thanks Alex. At this point I have not been able to even get DSD64 to play successfully. Effectively, the only two changes that I have made to Original USB Audio 2.0 Reference software is setting maximum sample rate to 384Khz and enabling of DSD. It should now play DSD 64 and DSD 128 in DoP format, but it doesn't on my setup.

I was hoping that someone who has DSD experience/knowledge with this code base, see's something that I am missing.

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Fri Jun 15, 2018 12:19 pm
by AlexAdvice
shaw wrote:Thanks Alex. At this point I have not been able to even get DSD64 to play successfully. Effectively, the only two changes that I have made to Original USB Audio 2.0 Reference software is setting maximum sample rate to 384Khz and enabling of DSD. It should now play DSD 64 and DSD 128 in DoP format, but it doesn't on my setup.

I was hoping that someone who has DSD experience/knowledge with this code base, see's something that I am missing.
Maybe the problem is not your board related?
PC Player should also read dsf/dff file and sent is to you board as DoP (or Native).
Also all windows sound features MUST be off and the Mater Volume and Volume in mixer MUST be 100%.
Otherwise this will corrupt the markers in DoP.

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Fri Jun 15, 2018 2:07 pm
by shaw
Alex, I quickly verified in Sound settings that Xmos device level was set for 100%, as was system volume level. The Jriver player (same configuration) does successfully play DSD64/128 dsf files in DoP format to another non-Xmos dsd capable device.

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Sat Jun 16, 2018 7:30 am
by AlexAdvice
I have one guess.
Try to comment -DU208_ONLY in your makefile and tell us what happened.
May we see the oscillograms of the I2S/DSD signals?

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Mon Jun 18, 2018 10:59 am
by shaw
Alex, I am running USB Audio 2.0 Reference software on the CORE 200 MC audio platform based on XE216 device. I am building app_usb_aud_xk_216_mc. There is no reference to the device -DU208 in this applications makefile. Am I missing your intent?

I am out of the office for a few days. When I get back to office I will connect to logic analyzer and report back with waveforms.

Re: DSD issue: Xcore 200 with USB Audio 2.0 Ref software

Posted: Mon Jun 18, 2018 9:55 pm
by AlexAdvice
shaw wrote:Alex, I am running USB Audio 2.0 Reference software on the CORE 200 MC audio platform based on XE216 device. I am building app_usb_aud_xk_216_mc. There is no reference to the device -DU208 in this applications makefile. Am I missing your intent?
.
OK, try this - put in module_usb_audio\audio.xc in the beginning, after all includes:
#undef __XS2A__