i2s capabilities on nrf52840

I am attempting to interface a tas2110 with an nrf52840. 
I just became aware of some nrf52 limitations and wanted to get the latest info.

My requirements are as follows
"The TDM serial audio port supports up to 16 32-bit time slots at 44.1/48 kHz, 8 32-bit time slots at a 88.2/96 kHz sample rate and 4 32-bit time slots at a 176.4/192 kHz sample rate. The device supports 2 time slots at 32 bits in width and 4 or 8 time slots at 16, 24 or 32 bits in width. Valid SBCLK to FSYNC ratios are 64, 96, 128, 192, 256, 384 and 512."

Then I saw this post
https://devzone.nordicsemi.com/f/nordic-q-a/15713/i2s-32-bit-word-size/59992

Can the nrf52 output more than 2 time slots? 
I tried to do 4 channels and it looks like it only supports left and right. 

Parents Reply
  • I am not sure what you mean by 32 bit time slots.

    nRF52840 can generate 32 bit time slots for 2 channels. Slot length is set by the BCLK-LRCK RATIO. With stereo it should be something like

    slot_bits = RATIO / 2
    

    The I2S peripheral’s SWIDTH supports 8/16/24-bit samples only. You can get 32 bit slots by padding a 24 bit sample to 32 bits. that you can achieve using this

    CHANNELS = STEREO
    SWIDTH = 24
    RATIO = 64 → 32-bit slots

    If the TAS2110 requires true 32 bit sample payloads without padding, you cannot do it with nRF52840.

Children
Related