Unable to hear output audio on speaker using SQ66 Development Board Using XVF3800

Voice related projects and technical discussions. XVF 3800 etc.
Praveen625
Junior Member
Posts: 7
Joined: Wed Oct 23, 2024 12:00 pm

Unable to hear output audio on speaker using SQ66 Development Board Using XVF3800

Post by Praveen625 »

Good Morning,

I am using the SQ66 development board with the application_xvf3800_intdev-lr16-lin-spi.xe firmware. My setup includes an ESP32 (master) providing BCLK and LRCLK to the XVF3800. I receive processed audio data on DATA1 without issue at the expected 1.024 MHz. However, DATA2, which should route to the DAC, outputs at 24.05 MHz instead of the expected 1.024 MHz, preventing audible output to the speaker. I guess there should be some setting changed in firmware to enable speaker output to dac in int device conf ...

Kindly assist in enabling data2 output to enable DAC functionality.

Thanking you

Praveen
User avatar
Ross
Verified
XCore Legend
Posts: 1154
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

(mod edit: moved to voice)
Technical Director @ XMOS. Opinions expressed are my own
ACascarino - XMOS
Junior Member
Posts: 5
Joined: Wed May 22, 2024 5:26 pm

Post by ACascarino - XMOS »

Hi Praveen,

I see you've raised a ticket on xmos.com as well - I've provided a response there.
For other users: set appconfNUM_I2S_PINS_OUT to 2 and set USE_FAR_END_DSP in far_end_dsp.c to 1 as per the Programming Guide. Then, ensure your DAC is configured correctly - for the SQ66 board, in modules/fwk_xvf/modules/bsp/dac/dac3101/dac3101.c you will find the code that is run at startup to configure the DAC3101 chip on the SQ66 board.
Alter line 78 to read dac3101_reg_write(DAC3101_GPIO1_IO, 0x04) == 0 &&.
Insert before it:
dac3101_reg_write(DAC3101_CODEC_SEC_IF, 0x01) == 0 &&
Then in dac3101.h add

#define DAC3101_CODEC_SEC_IF 0x20

Recompile and flash, and you should then be able to control the far end DSP functionality using the AUDIO_MGR_FAR_END_DSP_ENABLE control command.

I'll note this one down as an area for improvement in our documentation as we don't make it very clear that the DAC needs reconfiguring to support this use case (use of DATA2 as a DAC input instead of DATA0).