I am trying to use the I2S of CC1310 to use a ICS-43432 digital microphone. I would like to store my digitized audio values in a DMA buffer.
The digital microphone output word length is in 24 bits, 2's complements, thus I can only save the output in a int32_t array. I am getting some int32_t values in my array, but it does not seem right to me.
Since the mic output is in 24 bits, I have set the register settings for the I2S module to be of MEM_LEN_24 = 1 and WORD_LEN = 24, and have set the I2S format configuration to be that of I2S I am expecting to see an output of, for instance, 0000 0000 1111 1111 11111 11111 1111 1111 in binary, with the first 8 bits zero.
Is my understanding wrong? Am I not setting any registers correctly?
My BCLK is 3.072MHz, and WCLK is 48kHz. The digital mic requires 64BCLK periods in a WCLK period.