Post Go back to editing

ADAU1861 is FastDSP and Lark Studio enough for ANC implementation or Tensilica 3z need to be programmed? And ADCs output can be also forwarded to Serial Audio Ports?

Category: Datasheet/Specs
Product Number: ADAU1861

Hi Everyone,

In my design, I have two microphones in each headset (per ear) for Active Noise Cancelling implementation, along with one microphone for communication. My audio source is the I2S port implemented in an FPGA. I'm considering the following scenario:

I plan to use two ADAU1861 chips (one per ear), with the I2S port from the FPGA connected to SerialAudioPort0 as the stereo source of audio. Two ANC microphones will be connected to ADC0 and ADC1 on each ADAU1861, and the ADAU1861 will process ANC filtering on FastDSP. Additionally, ADC0 and ADC1 will be connected to SerialPort0 (as output), and the conversion from ADC will be sent back to the FPGA. Similarly, the microphone for communication will be connected to ADC2 on one of the ADAU1861 chips, and the conversion from ADC2 will be delivered to the FPGA via SerialAudioPort1.

Does this scenario make sense to you?

Is it possible to route signals in this manner with the ADAU1861? Will configuring FastDSP processing with Lark Studio be sufficient, or do I need to use Tensilica 3z?

Best regards, Wojtek

  • Hi Wojtek, thanks for your question.


    Yes, the data path that you describe can be achieved by just configuring the registers and the fastDSP. If this configuration is loaded externally using the control port, you won't need to use the Tensilica DSP core.


    However, if you want the ADAU1861 to operate as an standalone part, you can write a TDSP program that configures the registers and the FDSP, and store it in an external flash memory. By enabling Selfboot, the ADAU1861 will load and run the program automatically on startup.


    You can route the ADC data to the serial audio port by configuring the SPTx_ROUTEx registers appropriately. I would recommend using Lark Studio to configure your desired data path, and once you have it working, use the "Generate C Code" function to export the register values and DSP program for integration into your final platform (Tensilica DSP or external MCU).


    Kind regards,