destmaster
Posts: 5
Joined: Mon Jun 17, 2019 7:32 am

I2S 192kHz slave buffer underlow

Mon Jun 17, 2019 8:51 pm

In my project I need to use the I2S as input/ouput sound card @192kHz when the Raspy (CM3+ on custom board) receive MCLK and BLCK and DIN from my board, then Raspy is the i2s slave.
To enable the I2s and create a sound card I've followed this guide https://learn.adafruit.com/adafruit-i2s ... g-and-test
I've modified the Paul Creaser's my_loader.c to set the Raspy as slave:
.daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM,
instead of
.daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS,
The interface works fine... but, depending on ALSA latency settings and CPU load, in many cases I've an input (and output) buffer underflow.
The Raspy runs latest available Raspian Image with firmware and packages daily updated.
I've some doubts about that the 192KHz can works fine without any specific overlay...
Anyone can suggest on what I can investigate?
Thanks.

Return to “Interfacing (DSI, CSI, I2C, etc.)”