SSM2604 excessive ADC noise

Hello,

I'm bringing up my first prototype with the SSM2604 connected to an LPC4330. I have everything running and I'm able to play and record audio, but there is an excessive white noise level on the ADC input.

My system is running at 48Khz at a master clock of 18.432Mhz and a bit clock of 3.0722Mhz, I2S transfer size is 32 bits.

The received noise fills about 14 of the lowest 24 bits, and the level does *not* depend on the LINVOL/RINVOL levels. Enabling LINMUTE/RINMUTE does result in completely silent output, though.

Apart from the noise the ADC functions properly, no other artifacts or aliasing.

AVDD is clean, all capacitors and ferrites are connected as described in figure 27 of the datasheet.

Audio playback is clean; I did not do any exact measurements yet, but playing a sine sweep sounds ok without artifacts, noise or aliasing.

Below is a trace of RECDAT and RECLRC with no signal applied to the LIN and RIN pins and LINVOL/RINVOL set to 0

  • I have found (part of )the issue, which might be worth sharing here: the fractional rate generator used in the LPC43XX for generating the MCLK causes serious jitter in some configurations.

    The SSM2604 data sheet warns against jitter larger then 50ps, and now I know why.

    I now chose different divider settings to generate a jitter free clock, and I have a much cleaner input signal from the ADC.

    The signal i still not as clean as I would expect though: the lower 11 bits are still filled with white noise, independent of the LINVOL/RINVOL setting.

    If I'm calculating correctly: A total of 24 bits, of which 11 bits are noise leaves 13 bits of signal room. 20*log10(2^13) = 78dB. The datasheet mentions 90dB SNR for the ADC, so I might be able to get another 12 dB from somewhere.

    Are there any other things I can check to get the most out of the SNR for this codec?

    Thank you,

  • Sorry for bumping my own thread, but is there anyone who can shed some light on this?

  • 0
    •  Analog Employees 
    on Oct 31, 2017 1:11 AM

    Hello Daniel,

    Do you have the HPF on? It is disabled by default. If it is off then it could be DC.

    Dave T

  • Hello Dave,

    Thank you for taking the time to look into this.

    In our final application we can't disable the high pass filter, because DC is an essential part of the signals we are handling. The noise we see now is not DC, it is basically white noise at a floor of approx -75dB. Note that the level does not change with the analogue preamp settings, it is just always there, unchanging. Only muting the input makes it go away.

    I have done various tests providing extra clean power from an external supply and tried to add more capacity to Vmid, but unfortunately no changes here.

    After posting my original message I noticed the data sheet says "ADC SNR: 90dB (A-weighted)" - so I'm not even sure if my SNR measurements are really valid, given the A-weighting.

    I was hoping to get just that extra bit out of the codec, but it seems that we have just hit the limit.

    Thanks,

  • 0
    •  Analog Employees 
    on Nov 1, 2017 10:11 PM

    Hello Daniel,

    I am not able to go into the lab to take measurements on this at the moment but I think you may have run into the noise floor or close to it. There may be some PCB related gains to be had but this part was not designed to be the best performing codec. It was designed to replace and compete with another codec on the market so the design goals were not only performance. This part also has strange 9-bit control registers so perhaps I can point you in a different direction? Have you looked at the ADAU1372? It also has a PGA and the specifications are a little better. One of the advantages of this part has to do with clocking. It can be clocked with its own crystal and the ADC and DAC can run at high sample rates to improve latency. Then the outputs on the serial part go through Sample Rate Converters so the rest of the system can be running on their own clock source and the codec will just follow it as long as it is set as a slave on the serial ports.

    So have a look at this part.

    If you share some more details about what your needs are then I may be able to suggest other products.

    Dave T