I have a project where I need to use 16 input and 4 output audio on a XS1-U8A.
To save IO pins I want to use TDM16 for both input and output.
I am having problems with configuring the project for TDM16.
I am using reference design sw_usb_audio_6.12.6 with target xp_skc_su1.xn
I haven't worked with audio yet, just trying to test output LRCLK and BCLK for TDM in master mode.
I've added definition
Code: Select all
#define I2S_MODE_TDM 1
When I configure the project for TDM8 (8 adc, 8 dac), everything is fine.
It builds ok and I see correct output sync signals.
But when I am trying to configure for TDM16, it gives me errors
Code: Select all
.../main.xc:55:17: error: use of undeclared identifer `PORT_I2S_DAC1'
.../main.xc:55:17: error: use of undeclared identifer `PORT_I2S_ADC1'
When I checked, I've found the following definition in devicedefines.h:
Code: Select all
#ifdef I2S_MODE_TDM
#define I2S_CHANS_PER_FRAME 8
So I2S_CHANS_PER_FRAME is fixed at 8.
I know that I am not supposed to edit devicedefines.h, but I tried to set amount of channels to 16.
In this case it builds ok, but output BCLK is at 12.288 MHz instead of 24.576 MHz,
and LRCLK is 24 KHz instead of 48.
Please advice me on possible resolution of this problem.
Thank you,
Gennady