Hi,
As I've been playing around with the XMOS software on both the XK-EVK-XU316 and on the XK-Audio-316-mc-ab, which uses the FB and TQ types, I was wondering if it is possible to use the XU316-...-QF60A/B for the USB audio application? It seems to me that it is possible, but would appreciate to have an opinion from someone with expertise before going forward.
In my case, as I only want USB audio bidirectional and with I2S in and I2S out, it seems like the QF60A/B is more than capable of achieving this. Is there any specific incompatibility or would it just be modifying the Cmakefiles.txt along with the respective .xn file to accommodate for the pinout? Is there any dependency on any of the libraries used by the SW USB Audio application that makes the QF60A/B not suitable for this purpose? (something specific like from a PIO point of view or something)?
Thank you!
Can XU316-QF60x work with USB Audio App?
-
- Member
- Posts: 13
- Joined: Wed May 07, 2025 11:13 pm
-
- XCore Addict
- Posts: 250
- Joined: Mon Jan 08, 2018 4:14 pm
Hello
yes the Q60 is able to do USB-I2S stereo in+out.
there is a design around it with the pawpaw product.
you can find information about schematic here:
https://www.xcore.com/viewtopic.php?p=40690#p40690
and the pinout is one column of the spreadsheet given in the first post of this topic.
hope it helps as a starting point
yes the Q60 is able to do USB-I2S stereo in+out.
there is a design around it with the pawpaw product.
you can find information about schematic here:
https://www.xcore.com/viewtopic.php?p=40690#p40690
and the pinout is one column of the spreadsheet given in the first post of this topic.
hope it helps as a starting point
-
- Member
- Posts: 13
- Joined: Wed May 07, 2025 11:13 pm
Thank you Fabriceo for sharing the information.
I've went in detail through the documents and it does help. In my case I'm planning to keep it a bit more aligned with the XK-Audio-316-mc-ab design so that I can keep the I2S PIO's on audio tile 1 instead of audio tile 0. In regards to the pawpaw design, do you know if the USB Audio reference software design was used on it? From a software perspective, do you know if it's as simple as just updating the .xn file and the cmakefiles.txt?
My concern on the software side is that it has some 'hidden' dependency on the code (similarly to what I've observed on https://www.xcore.com/viewtopic.php?p=42427#p42427 where adding ADC channels would prevent the application from working, when in theory it should be as simple as that).
I've went in detail through the documents and it does help. In my case I'm planning to keep it a bit more aligned with the XK-Audio-316-mc-ab design so that I can keep the I2S PIO's on audio tile 1 instead of audio tile 0. In regards to the pawpaw design, do you know if the USB Audio reference software design was used on it? From a software perspective, do you know if it's as simple as just updating the .xn file and the cmakefiles.txt?
My concern on the software side is that it has some 'hidden' dependency on the code (similarly to what I've observed on https://www.xcore.com/viewtopic.php?p=42427#p42427 where adding ADC channels would prevent the application from working, when in theory it should be as simple as that).
-
- XCore Addict
- Posts: 250
- Joined: Mon Jan 08, 2018 4:14 pm
Hi Jcvc
yes the pawpaw design is using the standard xmos lib_xua as far as I can see from their documentations..
you can make your own design with Audio on tile1 and usb on tile0. The tricky thing is the master clock which is required on both tile then.
you have to modify the .xn file, the XUA_CONF.H and the cmakelist
everything will work, either 2 outputs or 2 inputs or 2 inputs & 2 outputs, on all OS. don't be shy.
BUT the truth is that you will have to learn a lot of information and sometime things are running well quickly, sometime it takes couple of weeks until you understand why it fails.... that's like driving a Mustang , anybody can do that but some will fail to master it quickly. in the end this is rewarding. The only limitation is if you need high speed like 768k, unfortunately you would need to optimise some piece in the heart of the lib_xua. Also integrating DSP capability requires a deeper understanding of the library.
fabriceo
yes the pawpaw design is using the standard xmos lib_xua as far as I can see from their documentations..
you can make your own design with Audio on tile1 and usb on tile0. The tricky thing is the master clock which is required on both tile then.
you have to modify the .xn file, the XUA_CONF.H and the cmakelist
everything will work, either 2 outputs or 2 inputs or 2 inputs & 2 outputs, on all OS. don't be shy.
BUT the truth is that you will have to learn a lot of information and sometime things are running well quickly, sometime it takes couple of weeks until you understand why it fails.... that's like driving a Mustang , anybody can do that but some will fail to master it quickly. in the end this is rewarding. The only limitation is if you need high speed like 768k, unfortunately you would need to optimise some piece in the heart of the lib_xua. Also integrating DSP capability requires a deeper understanding of the library.
fabriceo
-
- Member
- Posts: 13
- Joined: Wed May 07, 2025 11:13 pm
Ok that sounds good. Thank you very much for all the information and encouragement!
One last question:
One last question:
As far as I can see from the hardware, we just need to loop it back to a dedicated PIO on Tile 1 so that Tile 1 also has a reference master clock. Which is then already handled on the software side by port 1D on both tile 0 and tile 1. Or am I missing something?The tricky thing is the master clock which is required on both tile then.