Hello,
I'm relatively new to XMOS products and I want to try S/PDIF input; S/PDIF output on multichannel 316-MC board.
I download 7.3.1; 8.1.0 and 9.1.0 audio reference designs and for a pity I can not make it working.
What is working is USB input - but when S/PDIF is enabled (using 2AMi10o10xssxxx) or the one with 2 inputs and 2 outputs (here I enable S/PDIF output) - I have some signal which looks like S/PDIF, but it isn't - when I have 44.1kHz on USB input, I get around 1.5MHz on S/PDIF output. Analogue outputs are working well.
When I try to insert S/PDIF - using RX, and stop usb audio (because I don't know how to select desired input) - there is absolutely nothing on analogue outputs.
Can you help me - where I got this wrong - for now I'm using only pre-compiled xe files from different reference designs and all is the same - only usb input is working.
Many thanks in advance.
Vlad
SPDIF problems on XK-AUDIO-316-MC-AB
-
- Junior Member
- Posts: 4
- Joined: Tue Oct 21, 2025 12:44 pm
-
Verified
- XCore Addict
- Posts: 135
- Joined: Sun Dec 13, 2009 1:12 am
Hi, there may be some confusion. The sw_usb_audio software is primarily implementing a usb interface to i2s/spdif/adat etc. It will not implement spdif to i2s or vice versa etc. All of that is possible but would require different software.
USB host streaming audio data to spdif output will work however is this what you are trying? AT 44.1kHz, the spdif output will be at 2.822Mbps biphase mark encoded.
Cheers,
Joe
USB host streaming audio data to spdif output will work however is this what you are trying? AT 44.1kHz, the spdif output will be at 2.822Mbps biphase mark encoded.
Cheers,
Joe
XMOS hardware grey beard.
-
- Junior Member
- Posts: 4
- Joined: Tue Oct 21, 2025 12:44 pm
Hello Joe,
Thank you for your answer.
I see - I think that when there are pre-compiled firmware, then one just have to upload it. Now I get it.
Thing is that on this newer reference designs, lets say 2AMi2o2xxxxxx , I have to enable S/PDIF output, then compile and then there must be valid S/PDIF output - but in my case there is no valid S/PDIF signal - like I wrote there is something similar to S/PDIF.
Years ago I tested old multichannel board and there S/PDIF output was working correctly after enabling it.
Thank again.
Vlad
Thank you for your answer.
I see - I think that when there are pre-compiled firmware, then one just have to upload it. Now I get it.
Thing is that on this newer reference designs, lets say 2AMi2o2xxxxxx , I have to enable S/PDIF output, then compile and then there must be valid S/PDIF output - but in my case there is no valid S/PDIF signal - like I wrote there is something similar to S/PDIF.
Years ago I tested old multichannel board and there S/PDIF output was working correctly after enabling it.
Thank again.
Vlad
-
Verified
- XCore Legend
- Posts: 1305
- Joined: Thu Dec 10, 2009 9:20 pm
- Location: Bristol, UK
Can you provide your modifications, to enable S/PDIF tx in the 2AMi202xxxxxx config you must enable SPDIF Tx and ensure it's presenting the expected channels (also make sure its on your desired interface - coax/optical)
Technical Director @ XMOS. Opinions expressed are my own
-
- Junior Member
- Posts: 4
- Joined: Tue Oct 21, 2025 12:44 pm
Hello Ros,
Mu modifications are really simple - just like on old XMOS multichannel board and here are:
Used reference design 8.1.0.
First I tried 2AMi2o2xxxxxx - without any changes and of course there is nothing on S/PDIF output. I'm using multichannel XMOS board and I checked on xn file that Port Location="XS1_PORT_1A" Name="PORT_SPDIF_OUT" is corresponding to Coax output on my board.
Then on make file located in this folder \sw_usb_audio-_sw_v8_1_0\sw_usb_audio\app_usb_aud_xk_316_mc, I add only S/PDIF_EN
INCLUDE_ONLY_IN_2AMi2o2xxxxxx =
XCC_FLAGS_2AMi2o2xxxxxx = $(BUILD_FLAGS) -DI2S_CHANS_DAC=2 \
-DI2S_CHANS_ADC=2 \
-DXUA_SPDIF_TX_EN=1
Build it and after programming - there is a signal on Coax output, but it's not correct S/PDIF signal.
To be sure that I'm not missing something, I also changed xua_conf.h in folder sw_usb_audio-_sw_v8_1_0\sw_usb_audio\app_usb_aud_xk_316_mc\src\core to enable S/PDIF:
/* Enable/Disable S/PDIF output - Default is S/PDIF off */
#ifndef XUA_SPDIF_TX_EN
#define XUA_SPDIF_TX_EN (1)
#endif
Result was absolutely the same.
I made only this modifications.
Thank you in advance.
Vlad
Mu modifications are really simple - just like on old XMOS multichannel board and here are:
Used reference design 8.1.0.
First I tried 2AMi2o2xxxxxx - without any changes and of course there is nothing on S/PDIF output. I'm using multichannel XMOS board and I checked on xn file that Port Location="XS1_PORT_1A" Name="PORT_SPDIF_OUT" is corresponding to Coax output on my board.
Then on make file located in this folder \sw_usb_audio-_sw_v8_1_0\sw_usb_audio\app_usb_aud_xk_316_mc, I add only S/PDIF_EN
INCLUDE_ONLY_IN_2AMi2o2xxxxxx =
XCC_FLAGS_2AMi2o2xxxxxx = $(BUILD_FLAGS) -DI2S_CHANS_DAC=2 \
-DI2S_CHANS_ADC=2 \
-DXUA_SPDIF_TX_EN=1
Build it and after programming - there is a signal on Coax output, but it's not correct S/PDIF signal.
To be sure that I'm not missing something, I also changed xua_conf.h in folder sw_usb_audio-_sw_v8_1_0\sw_usb_audio\app_usb_aud_xk_316_mc\src\core to enable S/PDIF:
/* Enable/Disable S/PDIF output - Default is S/PDIF off */
#ifndef XUA_SPDIF_TX_EN
#define XUA_SPDIF_TX_EN (1)
#endif
Result was absolutely the same.
I made only this modifications.
Thank you in advance.
Vlad
-
Verified
- XCore Legend
- Posts: 1305
- Joined: Thu Dec 10, 2009 9:20 pm
- Location: Bristol, UK
How are you inferring that the signal is not correct? Do a you have a scope screen shot you can post?
Technical Director @ XMOS. Opinions expressed are my own
-
- Junior Member
- Posts: 4
- Joined: Tue Oct 21, 2025 12:44 pm
First time, I just check with scope that there is signal on coax output and I directly connect coaxial receiver, which was not working, so I tested my coaxial receiver and all was good.
So I check again output from XMOS board with scope more carefully and there is a signal which is not S/PDIF.
I attached you some pics of working and not working coaxial output.
If additional scope shots will help, just let me know.
When it's around 1.78MHz - spdif is working (input sample rate 44.1kHz).
When it's 1.41MHz - spdif is not working, again sample rate is 44.1kHz
So I check again output from XMOS board with scope more carefully and there is a signal which is not S/PDIF.
I attached you some pics of working and not working coaxial output.
If additional scope shots will help, just let me know.
When it's around 1.78MHz - spdif is working (input sample rate 44.1kHz).
When it's 1.41MHz - spdif is not working, again sample rate is 44.1kHz
You do not have the required permissions to view the files attached to this post.