ADAU1787 two-way bluetooth streaming over I2S


I'm setting up an ADAU1787 eval board to work with an external bluetooth board connected to it via I2S for a bluetooth headset application. I have successfully set up the ADAU board to receive audio @ 192kHz 24 bit using this setup:

This works for one-way audio streaming from my phone to the bluetooth board, which is connected to the ADAU via I2S. Plugging in headphones to the eval board, I can listen to the Audio.

I'm trying to figure out how to simultaneously stream audio back to my phone, e.g., for a phone call. I want to achieve this using the ADAU board's analog input with an external mic. Is this possible? If so, how can I configure input/output ports to achieve this?

  • 0
    •  Analog Employees 
    on Jun 22, 2020 6:34 PM 1 month ago


    Can you describe the signal flow in more detail or attach your current project? For example ,what sample rates are the DAC,  ADC and FDSP running at?  The schematic indicates the FDSP is being used, is the SDSP also used?  With this information, I can attach a sample project that should cover your needs. 

  • Hi galvinpjg,

    here is my current project.

    ADC and DAC sample rates are both set to 192kHz, SDSP is currently not used.

    I tried adding an ADC block to the schematic but struggle to come up with proper register control settings. If possible, I'd like to transmit the data stream captured by the ADC using the same I2S header that is used to receive the audio data.

    Thanks for your help!

  • +1
    •  Analog Employees 
    on Jun 23, 2020 6:24 PM 1 month ago in reply to rob13


    I believe I have found the problem.  The Serial Port is 192kHz, but the ADC0/1 are routed to the FDEC, then to the ASRCO, then to the SPT0 output.  The ADC data is hence being decimated from the ADC_FS of 192kHz down to 48kHz, before being routed to the ASRC/SPT that expect 192kHz, as shown below. 

    If the ADC_Fs = 192kHz, and the ASRC_Fs = SPT0_Fs = 192kHz, then the decimator is not needed and the ADCs can be directly routed to the ASRCO as shown below. 

    I have attached an updated version of your project that makes this change. Please let me know if there are any other issues.