AnsweredAssumed Answered

SGTL5000 - Microphone Noise -- Need Help

Question asked by Akshay Mishra on Apr 27, 2016
Latest reply on Jun 3, 2016 by iggi


        I am using the SGTL5000 in following setting:


It is an I2S slave, configured for 8KHz sampling. I have tried both synchronous and asynchronous mode. I am using the Teensy Audio board (PJRC Store ) for the setup. It takes 3.3V and has external 1.8V VDDD.


My configuration is given at end of my query. The observation is


There is a constant background noise being heard, even when we do a SGTL Internal Loopback. After too much hair-pulling, setting the BIAS_CTRL to -50%, the noise went away but so did the audio. At -37.5% BIAS_CTRL the noise is less but still present and unacceptable.


What is the solution to get rid of this noise?



/ Value which is used in Bitbucket code with PLL
    uint32_t delay;


    SgtlRegWrite(SGTL5000_CHIP_ANA_POWER, 0x4060); // Power down everything but ADC, DAC  and Ref Currents Power Up
    SgtlRegWrite(SGTL5000_CHIP_LINREG_CTRL, 0x006C);  // Manually assign charge pump source to VDDIO
    SgtlRegWrite(SGTL5000_CHIP_REF_CTRL, 0x001F2);     // Set VAG = 1.575
    SgtlRegWrite(SGTL5000_CHIP_LINE_OUT_CTRL, 0x0000);// No-op
    SgtlRegWrite(SGTL5000_CHIP_SHORT_CTRL, 0x4446);   // Disable short control
    SgtlRegWrite(SGTL5000_CHIP_ANA_CTRL, 0x0122);     // Unmute DAC/ADC and select proper sources for mic/headphone



    SgtlRegWrite(SGTL5000_CHIP_ANA_POWER, 0x53A); // Power down everything but mic, dac, HP,
    SgtlRegWrite(SGTL5000_CHIP_ANA_POWER, 0x5BA); // Enable VAG
    SgtlRegWrite(SGTL5000_CHIP_ANA_POWER, 0x457A); // Power down everything but mic, dac, HP,
    SgtlRegWrite(SGTL5000_CHIP_ANA_POWER, 0x45FA); // Enable VAG



    SgtlRegWrite(SGTL5000_CHIP_DIG_POWER, 0x0063); // ADC, DAC, I2S_IN, I2S_OUT


    delay = 1000000u;


    SgtlRegWrite(SGTL5000_CHIP_LINE_OUT_VOL, 0x0F0F); // Max out the attenuation for line out
    SgtlRegWrite(SGTL5000_CHIP_CLK_CTRL, 0x003B);  // Fs = 48/6 KHz, MCLK=256*Fs
    SgtlRegWrite(SGTL5000_CHIP_I2S_CTRL, 0x01B0);  // 16-bit, Master, SCLK = 32Fs,
    SgtlRegWrite(SGTL5000_CHIP_SSS_CTRL, 0x0010);  // I2S_IN->DAC, ADC->I2S_OUT


    SgtlRegWrite(SGTL5000_CHIP_ADCDAC_CTRL, 0x0000);
    SgtlRegWrite(SGTL5000_CHIP_DAC_VOL, 0x3C3C);   // 0dB for both channels
    SgtlRegWrite(SGTL5000_CHIP_ANA_HP_CTRL, 0x0C0C);  // 0dB volume in both HP channels
    SgtlRegWrite(SGTL5000_CHIP_ANA_ADC_CTRL, 0x0000); // No loss in ADC volume
    SgtlRegWrite(SGTL5000_CHIP_MIC_CTRL, 0x0170);     // MIC BIAS output impedance 2kOhm, BiasV = 3V, ampli gain = +0dB
    SgtlRegWrite(SGTL5000_CHIP_CLK_TOP_CTRL, 0x0000); // Disable the internal osc
    SgtlRegWrite(SGTL5000_DAP_CTRL, 0x0000);     // Disable DAP