Post Go back to editing

Why does MAX32666 i2s PCM always truncate samples to 24 bits?

Category: Datasheet/Specs
Product Number: MAX32666

Hello,

I'm trying to output some 32bits audio samples on the DOUT port from the Audio Subsystem of the MAX32666 and I find that all samples are lacking the bottom 8 bits, effectively leading to a down conversion to 24 bit samples.

In the PCM_Config register, I have placed the 0xC0 value, thus asking for 32 bit channel size, I2S format and extra bits transmitted as zero, while I set the PCM_CLOCK_SET_UP register to 0x04 to get a 64 BCLK to LRCLK ratio to cater for two 32bits channels.

As I continuously fill the TX_PCM_CH0_ADDR and TX_PCM_CH1_ADDR with 0xFFFFFFFF, I expect to observe an always "high level" on the DOUT pin. But sadly, here is what I observe:

The BCLK is in red while the DOUT is in yellow and you can clearly see that there are 8 BCLK periods at zero. If I change PCM_CONFIG value to 0x80, I observe the same result, thus leading me to believe 32 bit channel size is not working.

What could be the reason for the 32 bits channel size not working? What configuration have I missed?