I2S Driver, ESP32 can support TDM ?

alphonsemucha
Posts: 2
Joined: Thu Oct 18, 2018 9:47 am

I2S Driver, ESP32 can support TDM ?

Postby alphonsemucha » Thu Oct 18, 2018 10:12 am

Hi!, i'm working on a audio project with realTime FFT and some audioFX like reverbs, echo, flanger, timestretching etc.. to be ported also on Arduino.
i got something i don't understand about I2S TDM, i understand the actual i2s library does not support it, there's a way to update the driver and implement it? on arduino framework there's not "i2s.c" but only the Header file...
thanks to much for your answer.

alphonsemucha
Posts: 2
Joined: Thu Oct 18, 2018 9:47 am

Re: I2S Driver, ESP32 can support TDM ?

Postby alphonsemucha » Thu Oct 18, 2018 1:45 pm

i found this on the i2s registers documentation

Code: Select all

/* I2S_TX_WS_OUT_DELAY : R/W ;bitpos:[13:12] ;default: 2'b0 ; */
/*description: */
#define I2S_TX_WS_OUT_DELAY  0x00000003
#define I2S_TX_WS_OUT_DELAY_M  ((I2S_TX_WS_OUT_DELAY_V)<<(I2S_TX_WS_OUT_DELAY_S))
#define I2S_TX_WS_OUT_DELAY_V  0x3
#define I2S_TX_WS_OUT_DELAY_S  12
but i didn't found what is meaning " _S " or "_V " or "_ M " ,

what i'm working on is for example this codec with TDM Support:
https://www.akm.com/akm/en/file/datasheet/AK4558EN.pdf
at Page 59, (quick search "Mode34 38") we can see the LRCK Timing
Image

actually for what i'm looking i hope just to arrive to send the 4 channel buffer..

Image

any idea?

ESP_Sprite
Posts: 9730
Joined: Thu Nov 26, 2015 4:08 am

Re: I2S Driver, ESP32 can support TDM ?

Postby ESP_Sprite » Fri Oct 19, 2018 3:19 am

FWIW, _M is the mask for the bits, _S is the shift value for the bits, _V is the maximum value for these bits. They all describe the same 2 bits in the register, just different aspects of it to make it easier to write macros against.

Who is online

Users browsing this forum: No registered users and 16 guests