Accessing two channels of i2s

Hi,I am using NRF5340 AUDIO DK BOARD and Ihave been trying to access i2s mic and I want to transfer the mic data to Amplifier .Is it possible to do with single I2s ? As I observe nrf5340  has two channels.If it possible how to configure pins for mic and amplifier as I have been using SCK,SDIN,LRCK but if want to configure for Amplifier what pins can I use for it as it doesn't have other SCK,LRCK pins.And I want to know difference between MCK and SCK in i2s configuration,Ihave attached the i2s configuration below.

Parents
  • The I²S peripherial can do both reading and writing at the same time - as long as you use the same clock signal(s).

    We would need what I²S mics or codec chips you intend to use in order to help you further.

    MCK and SCK are coarsly described in the PS and should appear in the datasheet of your I²S codec.

  • So will it be possible getting mic data and sending mic data to Amplifier with same SCK,LRCK pins (p0.14,p0.16) for both,because I used SAI protocol in STM there it has 2 Channels of SAI A,SAI B which is two channel ,so it has dedicated pins for each channel where i have used one for MIC data collection and other channel for Amplification .So I want to know how in NRF i2s work with 2 channels where it has single clocks .I am using MIC SPH0645LM4H and Amplifier TAS2562YFPT

     
  • Hello,

    I have not tried any of these components. But you want to receive I2S from the microphone, and forward it to the amplifier, right?

    The microphone looks pretty straight forward, but I am not sure about the amplifier. It looks like an I2C device, not SPI. Is that right?

    Best regards,

    Edvin

  • 1.Yes I need to transfer to amplifier  

    2.Yes ,It uses I2s Tx for audio and uses I2C for accessing Registers in Amplifier.

    I am using sampling rate of 16khz for getting mic data.I want to know how I can achieve getting Mic data and sending to amplifier with this I2S 2-channels of NRF5340 with my sampling rate as per following connection.How I can do this and what type of I2S fmt i need to use as I am getting samples continuously and I need to do amplification for that samples.

  • So you are able to sample the microphone, right?

    I don't know how this amplifier expects it's data. Does the datasheet of the amp say anything about how it wants it's data?

    BR,

    Edvin

Reply Children
  • Amplifier needs PCM data of mic.

    Can you please provide me any sorce code how can i able to use 2 channels in I2S one mic and one for transmitting to amplifier.First confirm is nrf having two channels I2S format for config this thing

  • PCM and I2S is almost the same thing. An I2S interface will provide you a PCM stream of data. The default Audio example (ncs\nrf\applications\nrf5340_audio) should provide an example how to use both I2S to a microphone and PCM to an output stream, or to a sound device. 

    Please check the nRF5340_Audio documentation.

    So e.g. the configuration of an Broadcast source should record the audio from somewhere (the microphone) using I2S, and the Broadcast sink will take that data and output it as PCM (via the I2S interface).

    Best regards,

    Edvin

  • I mainly wanted to know how to perform getting mic data as well send data for amplification by sharing same clock of LRCK and SCK .I need how to configure that both to achieve .Will i get any source for achieving or first is it possible to achieve that live data.

  • We don't provide source code, unfortunately. You need to write the application yourself.

    If you just want to pass the data into the amplifier, is it not possible to just provide the clock signal, and wire the I2S data directly to the amplifier? Also connect it to the nRF (using the same wire split into two), so that you can just read the mic data like it is done in the sample, and the I2S' PCM stream will go directly to the amplifier as well? You would also need to wire the LRCLK to both devices. 

    Are you sure the amplifier doesn't provide it's own clock signals to the microphone? I am not saying it does, but it could make sense that it does. 

    BR,
    Edvin

  • I would like to explain my application here and need to confirm if I can achieve this using nrf5340


    1) We will read data from Microphone using I2S

    2) Then, We will send the same data to Amplifier which is also connected through I2S
    (This process should not have any larger delay and we need live streaming of microphone data)

    Query:

    Can this be achieved using the below connection method. If not, what should be done to use this I2S with 2 channels
    is it not possible to just provide the clock signal, and wire the I2S data directly to the amplifier?
    I am not sure whether it works,please confirm me that,If yes will it achieve by using i2s_buf_write will be transfer to amplifier?
    Please note: Our chosen amplifier will act only as slave and it cannot give out its own clock signals to Microphone.

Related