This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Undocumented I2S ratios

I'm trying to achieve as close as possible to 48KHz (or 24KHz) LRCLK rate, in 24-bit mode (MCK/LRCLK = 48), on an nRF52832. With the values defined in `nrf_i2s_mck_t` the closest I can get is 32DIV15 (44.4 KHz, -7%) or 32DIV30 (22.2 KHz, -7%). However I can get closer if I use `0x12000000` (measured at 47.44 KHz, -1%) or `0x09000000` (measured at 23.74 KHz, -1%). 

Is there any reason to prefer the values in `nrf_i2s_mck_t` over the experimentally-determined rates? The custom values seem to work with my amplifier in practice, I can't hear any obvious issues.

Additionally, are there any better values than the ones I found experimentally? I couldn't find any documentation about how the register value corresponds to a clock frequency, so I was just guessing based on `I2S_CONFIG_MCKFREQ_MCKFREQ` definitions in `nrf52_bitfields.h`.

Parents Reply Children
No Data
Related