Hi, NXP:
We have a 3 mics inptu, connect to kSAI_Channel0Mask, kSAI_Channel1Mask and kSAI_Channel2Mask.
But we only can get mic data with single SAI setting.
We can't get mulit-SAI mics input data.
Our SDK is old one SDK_2_11_1_MIMXRT1060-EVKB.zip
As the test, we have some test restults.
[1] Only can get single SAI channel data.
In app_definitions.h
//only for 1 mic
#define DEMO_SAI1_CHANNEL_MASK kSAI_Channel0Mask // or kSAI_Channel1Mask, kSAI_Channel2Mask
#define DEMO_SAI1_CHANNEL_CNT 1
This settings can get single input sai data, and VIT work fine.
[2] Multi-channel SAI do not work.
#define DEMO_SAI1_CHANNEL_MASK kSAI_Channel0Mask | kSAI_Channel1Mask
#define DEMO_SAI1_CHANNEL_CNT
For this setting, we only read channel0 data.
To test what data looks like for dis-connect mic, the data are 0x00,0x80, 0x00, 0x80 ...
We connect with channel-0 mic and dis-connect channel-1 mic,
the multi-SAI output data looks not like interleaved with [0x00, 0x80].
So looks like SAI or EDMA setting can't get correct interleaved multi-mic data.
We compared the svui project SAI setting, looks no special setting for SAI.
Here we list the corresponding settings for our VIT porject and suvi project.
Jabil VIT project:
app_definitions.h
#define DEMO_SAI1_CHANNEL_MASK kSAI_Channel0Mask | kSAI_Channel1Mask
#define DEMO_SAI1_CHANNEL_CNT 2
All our SAI and EDMA setting are in streamper_pcm.c
streamer_sai_edma_init()
streamer_pcm_init()
streamer_pcm_setparams()
streamer_pcm_read()
The svui project reference SAI setting are:
sln_mic_config.h
#define I2S_MIC_CHANNEL_MASK (kSAI_Channel0Mask | kSAI_Channel1Mask | kSAI_Channel2Mask)
#define SLN_MIC_COUNT 3
sln_i2s_mic.c
I2S_MIC_Configure()
I2S_MIC_ConfigureEdma()
Would you please take a look for the settings of multi-SAI mics input.
All related files are in attached zip file.
Thank you.