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.

PCM5102: Pop Noise when Pause and Play Music in Android Music Player

Part Number: PCM5102
Other Parts Discussed in Thread: PCM5122, PCM5142

Hi, Team

My automotive customer is using PCM5102A in their car infotainment system. They find that there is pop noise when end-user pause and play music in the music player. Is there any suggestion to solve the pop noise isuse?

1. User pause the music

The processor will output zero data on I2S. Becasue of Zero Data Detect function of PCM5102A, once the pause time > 21ms (processor output zero data for >21ms), PCM5102A will mute the analog output, and that cause pop noise. The Zero Data Detect function can not be turned off.

If XSMT pin is pull low manually before the puase the music, there is no pop noise. But when user press puase button, processor can not pull XSMT pin to low in 21ms. So system can not fix this issue by pull XSMT low automaticaly.

Is there any method to turn off the Zero Data Detect and fix the pop noise?

2. User replay music from pause

When the music player is paused, processor will stop outputing BLCK and LRCLK. When user replay the music from pause, processor resend the BCLK and LKCLK. There will be a spur on PCM5102A output and cause the pop noise.

Is ther any suggestion to fix this spur?

CH1: BCLK

CH2: OUTL

Thanks

Kevin

  • Hi Kevin,

    You are correct in identifying the source of the clicking noise. This is more obvious in systems with high analog gain of the output. Unfortunately there is not a way to disable the auto-mute on the PCM5102A when there is no data source being applied. It is possible to prevent the device from entering auto-mute by continuously providing non-zero data. When the music is paused, the BCK, LRCK, and DATA should still be applied to the device, but the DATA should be offset by 1 LSB. This means that instead of providing 0x0000 data during the pause period, you should instead provide 0x0001. This 1 LSB offset will not be audible, and it prevent the PCM from entering the auto-mute condition.

    Thanks,
    Paul
  • Hi, Paul

    1. Customer has asked the processor vendor. The processor can not output non-zero data when there is no sound to play. I find Regsiter 65 of PCM512x can turn off the auto mute function. Can it fix the pop noise if customer use PCM512x and setting Register 65 to 0x00?

    2. There is another kind of POP noise in point 2 of my first post. When the processor start sending I2S singal to PCM5102A, PCM5102A will output a spike and casue another POP noise. This spike can not be removed even XSMT pin is kept pulling low. Waveform is shown below. Is there any suggestion to solve it?

    CH1: BCLK

    CH2: OUTL

    Thanks

    Kevin

  • Hi Kevin,

    1. Switching to the PCM5122 and disabling the auto-mute functionality will prevent these pops.
    2. The pop when the I2S starts is auto-mute function during off. Disabling auto-mute will resolve this as well.

    Thanks,
    Paul
  • Hi, Paul

    I just get a PCM5122 EVM to verifiy the pop noise.

    I connect the EVM to PC through USB, and use USB audio. I program the EVM with Pure Path Stuido. I measure that the I2S signal is correctly input to PCM5122. I can access register correctly using I2C tools in Pure Path Stuido.

    But there is no output from PCM5122. Could you help to check the reason?

    Here is the hardware and software configuration.

    On the other hand there is GUI in EVM user guide, but I can not find it in TI website. It is necessary? Could you share it to me?

    Thanks

    Kevin

  • The software in the image is CodecControl, which does support the PCM5122, but I would just use PurePath Console 1.16.  I have checked that you have access already, so just go to ti.com/mysecuresoftware and select PurePath Console.  There are three version, but you should install PPC1.16.  PPC1 has a page for the PCM5142 EVM that you can use.  From a software perspective, these are compatible.

    Thanks,
    Paul

  • Hi, Paul

    I have tried the PPC 1.16 and the PCM5122 EVM works. No matter I turn on (Reg 0x41 = 0x07) or turn off (Reg 0x41 = 0x00) the Auto Mute, there is still spur on PCM5122 output when BCLK recover. Could you help to check it?

    Here is the waveform

    1. Turn on Auto Mute. Reg 0x41 = 0x07. There are 2 differernt waveform when BCLK recover.

    CH1: BCLK

    CH2: ROUT

    2. Turn off Auto Mute. Reg 0x41 = 0x00. There are 2 differernt waveform when BCLK recover, too. And there are sill spur on output.

    CH1: BCLK

    CH2: ROUT

    Thanks

    Kevin

  • Hi Kevin,

    I was able to confirm with the EVM and get an explanation from the design team. This click or glitch is the DAC output self calibrating the offset error in the output. This is unavoidable when the device is first powered on. If there is a clock error (ie the clock is stopped), the delta sigma modulator must reset. When the clocks are resumed this calibration will occur again. It will not happen if they maintain the LRCK, BCK, and SCK at all times.

    Please email me if you think this has a business impact with your customer: frost@ti.com.

    Thanks,
    Paul