I would like to ask the question if XVF3000 support multiple I2S input?

If you have a simple question and just want an answer.
Post Reply
sunny.lin
New User
Posts: 3
Joined: Mon Mar 12, 2018 3:44 am

I would like to ask the question if XVF3000 support multiple I2S input?

Post by sunny.lin »

The circuit design must have I2S output x1, I2S input x2
The I2S output successfully designed according to reference documents. By using X1D36、X1D37、X1D38、X1D39 connection.
But i come across the problem to design the I2S input.
Which IO port should put the I2S input?
Any one could help? Appreciated!


User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

Hi, modifying the number of I2S should be quite straightforward. Do you use USB at all? I will assume you are using the I2S only config with xmos being I2S slave..

So the I2S in is port 1P (X1D39) and the I2S out is 1D X1D11. You can see how ports and pins map here https://www.xmos.com/published/xcore-20 ... ion=latest

Any 1b port can be an I2S input or output. So for example, you could define the following to get pin 10 from the I2S header to be an input:

Code: Select all

            <Port Location="XS1_PORT_1D"  Name="PORT_I2S_ADC1"/>
in vfspk_base_i2s_master.xn and

Code: Select all

I0O0        = -DNUM_USB_CHAN_IN=4 -DNUM_USB_CHAN_OUT=2 \
              -DNUM_USB_CHAN_IN_FS=4 -DNUM_USB_CHAN_OUT_FS=2 \
              -DI2S_CHANS_ADC=4 -DI2S_CHANS_DAC=2
in Makefile

The extra two I2S input channels can be accessed in UserBufferManagement() in beclear_int.xc in the array sampsFromAudioToUsb[2] and sampsFromAudioToUsb[3]
nicolass
Member
Posts: 9
Joined: Fri Aug 17, 2018 4:42 pm

Post by nicolass »

Hi, can I ask you to clarify what you mean by a "1b port"?

I am looking to do something similar, using I2S only config, with xmos as slave, but I am looking to have an additional I2S input AND output for general purpose DSP/Mixing of signals.

Page 17 of the vocalfusion speaker hardware manual defines the pins slightly differently from what you write below:
https://www.xmos.com/download/private/x ... 1.4%29.pdf

In this pin X1D39 is "i2s data from host to DAC" and X1D10 is the "i2s data from host to XVF3100".

Could I repurpose the XID39 as either an input or output (the DAC will be removed in our board design)? Which other pin on that expansion could I use as the second one? Would X1D38 be ok? This would normally have the MCLK signal in the XVF3100 as master config and so is not being used.

If neither of these pins could be used could I use one of the unused ones on the J5 expansion header?

My suspicion from the pattern of port naming is that "1b" refers to "1-bit" and that ports with the pattern "P1<x>0" are the ones you're saying I can use, but I'd like to check this before putting it into our newest design.

Thanks.
infiniteimprobability wrote:Hi, modifying the number of I2S should be quite straightforward. Do you use USB at all? I will assume you are using the I2S only config with xmos being I2S slave..

So the I2S in is port 1P (X1D39) and the I2S out is 1D X1D11. You can see how ports and pins map here https://www.xmos.com/published/xcore-20 ... ion=latest

Any 1b port can be an I2S input or output. So for example, you could define the following to get pin 10 from the I2S header to be an input:

Code: Select all

            <Port Location="XS1_PORT_1D"  Name="PORT_I2S_ADC1"/>
in vfspk_base_i2s_master.xn and

Code: Select all

I0O0        = -DNUM_USB_CHAN_IN=4 -DNUM_USB_CHAN_OUT=2 \
              -DNUM_USB_CHAN_IN_FS=4 -DNUM_USB_CHAN_OUT_FS=2 \
              -DI2S_CHANS_ADC=4 -DI2S_CHANS_DAC=2
in Makefile

The extra two I2S input channels can be accessed in UserBufferManagement() in beclear_int.xc in the array sampsFromAudioToUsb[2] and sampsFromAudioToUsb[3]
Post Reply