Hi,
To my device I have activated AEC. It works Direct FES´(VS1063A APPNOTE: AEC WITH VS1063A, Figure 2: Speaker phone signals) but cannot cancel out the sounds from reflected FES´. I have spent a lot of time to figure out without success, below is my init code. Could you please give me guidelines, thanks a lot for your support!
Best Regards,
Alux
void InitCodecIMAADPCM(void)
{
VS1063_CMD_Write(SPI_VOL, 0x0101);
VS1063_CMD_Write(SPI_BASS, 0x0000);
VS1063_CMD_Write(SPI_CLOCKF, HZ_TO_SC_FREQ(12288000) | SC_MULT_53_50X | SC_ADD_53_00X); // 2.0x 12.288MHz
VS1063_CMD_Write(SPI_AICTRL0, 8000);
VS1063_CMD_Write(SPI_AICTRL1, 0x0400); // enable agc
VS1063_CMD_Write(SPI_AICTRL3, 0xC403); // bit15:codec mode, bit14:enable aec, bit10:No RIFF WAV header inserted, bit4-7:ADPCM, bit0-2:left channel,
VS1063_CMD_Write(SPI_MODE, 0x5800); // select line in for encode
VS1063_CMD_Write(SPI_AIADDR, 0x0050);
while((GPIO_ReadInputDataBit(VS1003B_DREQ_PORT, VS1003B_DREQ_BIT)) == 0);
VS1063_CMD_Write(SPI_WRAMADDR, 0x2022); //Set AEC Microphone (NES+FES’) Linear Gain to the AEC Mic Gain register
VS1063_CMD_Write(SPI_WRAM, 0x0);
VS1063_CMD_Write(SPI_AICTRL2, 0x0400); // 4x = +12 dB, corrected for document v1.20
VS1063_CMD_Write(SPI_WRAMADDR, 0x2023); // Corrected for document v1.20
VS1063_CMD_Write(SPI_WRAM, 0x0800);
VS1063_CMD_Write(SPI_WRAMADDR, 0x1e2d);
VS1063_CMD_Write(SPI_WRAM, 0x10);
VS1063_CMD_Write(SPI_WRAMADDR, 0x2024);
VS1063_CMD_Write(SPI_WRAM, 0);
}