Page 1 of 1

Simple USB Audio design taking more than 8 cores on XU208

Posted: Wed Dec 26, 2018 4:06 am
by Yanava
Hello everyone, this is my first post.

I'm designing a DAC based on the XU208, which I'd like to have:
  • USB Audio Class 2
    2 Channels Out
    DSD Support up to DSD128 (perhaps DSD256 in the future)
    SPDI RX In
    Control for the DAC Chip
    Volume controls (which control the DAC gain directly)
    (Future) I2C control of a LED PWM control for some fancy volume indication
Right now, I've got the whole thing working by using the several threads available here and the guides available from XMOS. Very straightforward and simple, however I needed a bit of gymnastics to get there, as I had to port lib_i2c to make the volume control work. Also had to hack audio.xc with a version available here on the forums to make DSD work properly.

Problem with the current state of things: if I turn on the SPDIF RX in this design I get the compiler error that I'm using 9 cores. From all documents I've seen the resources should be 6 for the whole of USB audio, which would give me 2 cores for my other uses. Can someone take a look at my attached project (which works fine on my current board if I turn SPDIF RX off) and point me to what optimizations can be done? I tried putting my modifications as distributable / combinable tasks to avoid using extra cores, but failed to see any results.

PS: I would hate to migrate to XU216 at this point of the project, so, if adding an extra MCU will help in any way, it would be much preferable.

Thanks!

Re: Simple USB Audio design taking more than 8 cores on XU208

Posted: Sat Dec 29, 2018 6:44 pm
by mon2
XU208 is the XS2 architecture. The max of 6 core use for USB projects is a limitation on the older XS1 series only.

Respectively, XU208 does not have this restriction:

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