Post Go back to editing

[ADSP-SC594] PDM function

Category: Software
Product Number: ADSP-SC594
Software Version: CrossCore Embedded Studio 2.10.1

Hi,

I am using ADSP-SC594. I want to receive audio data from 4 digital microphones using the PDM interface. I tried the following, but the desired SDATA output is not coming out.

Hardware connections are Clock - DAI1_05, Data0 - DAI1_07, Data1 - DAI1_08.

[DAI route]
SRU2(PCG0_CLKD_O, PDM1_BCLK_I); // (6.144MHz)
SRU2(PCG0_CLKD_O, SPT5_ACLK_I);
SRU2(PCG0_FSD_O, PDM1_LRCLK_I); // (48KHz, pulse)
SRU2(PCG0_FSD_O, SPT5_AFS_I);

SRU2(PDM1_CLK0_O, DAI1_PB05_I);
SRU2(HIGH, DAI1_PBEN05_I);

SRU2(DAI1_PB07_O, PDM1_DAT0_I);
SRU2(DAI1_PB08_O, PDM1_DAT1_I);
SRU2(LOW, DAI1_PBEN07_I);
SRU2(LOW, DAI1_PBEN08_I);

SRU2(PDM1_SDATA_O, SPT5_AD0_I);

[PDM Init]

eResult = adi_pdm_Open(PDM_1, PDMMemory1, ADI_PDM_MEMORY_SIZE, &hPDMDev1);

If I code and operate as above, PDM1_CLK0 is normally output and PDM1_DATA0/1 is normally input. However, PDM1_SDATA_O is not normal.

Please let me know what is wrong. Or, if you have a sample code, please provide it.