This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320AIC3109EVM-K: MIC Noise Issue

Part Number: TLV320AIC3109EVM-K

Dear Team,

I am using TLV320AIC3109EVM-K interfaced with controller. I am recording data from codec on board MIC to controller and it has recorded successfully. But while playing that recorded data from controller to codec through headset, recorded data was coming but with too much of noise. Here i used filter also but still noise was coming. Here is the configuration of on board MIC. For verification In headset i played one .wav file and i listened successfull. 

w 30 07 00

w 30 0c 40

w 30 19 80

w 30 13 04

w 30 0f 00

w 30 6b 08

Could you please anyone tell me where is the problem and help me to resolve this issue.

Thanks,

Pavithran

  • Pavithran,

    Your registers don't point to an issue with configuration. Is it possible that there could be an issue with the way the controller passes the data to the codec? ie is the controller set ti 16-bit i2s at the correct sampling rate etc..

    is the output of the AIC3109 going into a class D amplifier? if so, is there a filter on the output of the AIC3109 to filter the out of band noise?

    best regards,
    -Steve wilson
  • Dear Steve Wilson,

    Thanks for your support and sorry for the delay,

    Yes,Controller sets i2s, 16bit and sampling rate as 22.05 khz properly and output also going into amplifier. But In controller side at the time of reading data from codec overflow issue was coming. Can please tell me is this overflow could be the reason for this noise issue or any other configurations required. Here whenever we are sending mic data to speaker voice is coming properly,but some noise also coming. Could you please tell me where is that problem or anything i am missing in configuration.

    Thanks & Regards,

    Pavithran

  • Pavirthran,

    If the register writes you have provided are the only ones you make, You are not set up for 22khz Audio.

    register 7 should be set to 0x80, register 2 should be set to 0x22 This will place you in the proper mode. as is your Codec was running in 48hkz mode.

    are you doing any PLL or clkdiv configuration on the Codec?

    best regards,
    -Steve Wilson
  • Dear Steve Wilson,

    Thanks for your help,

    Yes, i forgot to change register 7 and 2 in MIC side but in headset i changed properly.Now it was working properly but some little bit distortion was there.Here we are using codec as slave not master. Can you please tell me Is any PLL or CLKDIV configuration required for codec as slave.

    Thanks & Regards,

    Pavithran

  • Pavithran,

    What is your mclk frequency?

    -Steve Wilson
  • Dear Steve Wilson,

    MCLK frequency is 12MHZ for 48KHZ WCLK.

    Thanks & Regards,

    Pavithran

  • Pavithran,

    Yes, you should use the PLL. If your MCLK was 12.288MHZ you could hit 48K with only the CLK dividers, but since it is not evenly divisible you will need the PLL.

    Use the following register settings:

    # Set PLL P-Value to 1
    w 30 03 11

    # set PLL J-value to 8
    w 30 04 20

    # set PLL D value to 1920
    w 30 05 1E
    w 30 06 00

    # enable PLL
    w 30 03 91

    ----------------------------------------------------------

    The all of the PLL coefficients should be written before the PLL is enabled. this is why i make two writes to register 3. one to set the P value, and one to enable the PLL.

    best regards,
    -Steve Wilson
  • Dear Steve Wilson,

    Thanks for your support.

    Thanks & Regards,

    Pavithran