avb on slicekit

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
pasau
Experienced Member
Posts: 77
Joined: Fri Dec 06, 2013 7:05 pm

avb on slicekit

Post by pasau »

Hi, i am using the reference AVB application, which works fine when connecting 2 XR-AVB-LC-BRD boards, but with one of those connected to the slicekit with the ethernet slice i am not getting any audio, but some static noise. I am using the default configuration so my ethernet port is on the circle slot and my audio slice is on the triangle slot. All i did at first was changing the target in makefile to SLICEKIT-L2, then tried to change stuff in the code.

I find this weird, because someone from another thread said he only connected the boards and got audio.
http://www.xcore.com/forum/viewtopic.ph ... kit#p13593

My slicekit is XP-SKC-L2 1v2, so perhaps it is not the exact same slicekit from the application? (using reference design 5.2.1) this is mere speculation but im out of ideas. Please help me


User avatar
sethu_jangala
XCore Expert
Posts: 589
Joined: Wed Feb 29, 2012 10:03 am

Post by sethu_jangala »

Which Audio slice are you using? You should be using XA-SK-AUDIO-PLL slice not the XA-SK-AUDIO slice.

Sethu.
pasau
Experienced Member
Posts: 77
Joined: Fri Dec 06, 2013 7:05 pm

Post by pasau »

if i understand correctly, you mean the XA-SK-AUDIO on which you add the cs2100 PLL right?
Nonetheless, the audio slice's codecs have the I2S interface (e.g i can run some I2S apps on it no prob) and the AVB design has the module_AVB_audio which is basically connecting the I2S and media fifos interfaces together. So im tempted to believe that you don't need to change the PLL to cs2100 to run AVB, but instead change the I2S to media fifos algorithm and port mapping. Can someone confirm this for me please?

Now the thing i find intriguing is how they routed their I2S ports in software for the Slicekit.
From slicekit-l2/avb_app_board_config.h :

Code: Select all

#define AVB_AUDIO_TILE          0
//...
#define PORT_MCLK               on tile[AVB_AUDIO_TILE]:XS1_PORT_1E
#define PORT_SCLK               on tile[AVB_AUDIO_TILE]:XS1_PORT_1K
#define PORT_LRCLK              on tile[AVB_AUDIO_TILE]:XS1_PORT_1I

#define PORT_SDATA_OUT          {on tile[AVB_AUDIO_TILE]:XS1_PORT_1O,on tile[AVB_AUDIO_TILE]:XS1_PORT_1H}

#define PORT_SDATA_IN           {on tile[AVB_AUDIO_TILE]:XS1_PORT_1J,on tile[AVB_AUDIO_TILE]:XS1_PORT_1L}

Code: Select all

From the L2/L16 datasheet: 
on tile[0]:XS1_PORT_1E ---> X0D12
on tile[0]:XS1_PORT_1K ---> X0D34
on tile[0]:XS1_PORT_1I ---> X0D24
on tile[0]:XS1_PORT_1O ---> X0D38
on tile[0]:XS1_PORT_1H --->X0D23
on tile[0]:XS1_PORT_1J ---> X0D25
on tile[0]:XS1_PORT_1L ---> X0D35

Code: Select all

And according to the slicekit and audio slice schematics, the signals are mapped this way, with audio slice on triangle slot:
X0D12 ---> MCLK_XCORE
X0D34 ---> ADC_DATA0
X0D24 ---> LRCLK
X0D38 ---> NC
X0D23 ---> DAC_DATA1
X0D25 ---> MIDI_IN
X0D35 ---> ADC_DATA1

Code: Select all

So in the end we have:

PORT_MCLK ---> MCLK_XCORE
PORT_SCLK ---> ADC_DATA0
PORT_LRCLK ---> LRCLK

PORT_SDATA_OUT ---> {NC, DAC_DATA1}

PORT_SDATA_IN--->{MIDI_IN, ADC_DATA1}
Most of it seems fine but what's with the sclk port mapped on a signal called adc_data0?
User avatar
sethu_jangala
XCore Expert
Posts: 589
Joined: Wed Feb 29, 2012 10:03 am

Post by sethu_jangala »

pasau wrote: if i understand correctly, you mean the XA-SK-AUDIO on which you add the cs2100 PLL right?
Nonetheless, the audio slice's codecs have the I2S interface (e.g i can run some I2S apps on it no prob) and the AVB design has the module_AVB_audio which is basically connecting the I2S and media fifos interfaces together. So im tempted to believe that you don't need to change the PLL to cs2100 to run AVB, but instead change the I2S to media fifos algorithm and port mapping. Can someone confirm this for me please?
You might be able to compile this without any issues but it might not work without the cs2100 PLL on the Audio slice.
pasau
Experienced Member
Posts: 77
Joined: Fri Dec 06, 2013 7:05 pm

Post by pasau »

Wow i just realize you were right about the XA-SK-AUDIO-PLL, it is actually the version 1v0 of the audio slice, but the version 1v1 has not populated the footprint for the cs2100. It is almost identical but has some new features like midi connectors. Do you know where i can still buy the audio slice 1v0 with the cs2100 on it?

I realized the PLL version was the 1v0 version when i checked a picture on this link:
https://github.com/xcore/sw_avb_dc/blob ... kstart.rst
User avatar
sethu_jangala
XCore Expert
Posts: 589
Joined: Wed Feb 29, 2012 10:03 am

Post by sethu_jangala »

pasau wrote:Wow i just realize you were right about the XA-SK-AUDIO-PLL, it is actually the version 1v0 of the audio slice, but the version 1v1 has not populated the footprint for the cs2100. It is almost identical but has some new features like midi connectors. Do you know where i can still buy the audio slice 1v0 with the cs2100 on it?

I realized the PLL version was the 1v0 version when i checked a picture on this link:
https://github.com/xcore/sw_avb_dc/blob ... kstart.rst
Don't get confused with 1V0 and 1V1 versions of Audio slice. The latest version of XA-SK-AUDIO slice is 1V1 and XA-SK-AUDIO-PLL is 1V0 version. Both the slices are different. The Audio PLL (XA-SK-AUDIO-PLL) slice is not yet available for the customers now where as the XA-SK-AUDIO slice is available now. To run AVB on sliceKIT-L16 you need XA-SK-AUDIO-PLL slice.

Sethu.