Page 1 of 1

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

Posted: Mon Mar 12, 2018 11:05 am
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!

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

Posted: Wed Mar 14, 2018 4:13 pm
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]

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

Posted: Wed Oct 10, 2018 4:49 pm
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]