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.

ADS5404: Data converters forum

Part Number: ADS5404
Other Parts Discussed in Thread: ADC3683, ADS54J69

Hi Team,

I'm using an ADC with part number: ADS5404IZAY and interfacing the LVDS output with a Xilinx Zyn Ultrascale FPGA. The ADC board we designed has been interfaced with the FPGA board using FMC connector but due to some unknown reasons, I'm getting a periodic distortion with a pattern when the ADC LVDS output data collected is converted to a histogram. I suspect, this distortion is coming somewhere from the ADC within, could you help me troubleshoot this issue? Has something like this been observed before?

I'm attaching a document that contains a few screenshots of the experimental tests that we have ran using a signal generator output as the input to the ADS5404IZAY ADC system channel B (SECTION A: EXPERIMENTS DONE) along with some circuitry related to the ADC. The LVDS data is collected using FPGA.

ADC_ADS5404_debuggin inputs.pdf

Moreover, to give you a context, I'm sharing some major details related to the system here;

1)The differential input PCB tracks of the ADC are 100E impedance controlled. The LVDS output channels are also 100E impedance controlled.

2)ADC operation under 500MSPS.

3)There is an ADC driver with a filter just before the differential input of the ADC channel B. (SECTION C: ADC INPUT DIFFERENTIAL DRIVER CIRCUIT in the document).

4)A clock generator chip with part number: "RC32504A" has been used for providing the high-speed clock signal input to the ADC (SECTION D: ADC CLOCK GENERATOR CIRCUIT in the document))

5)Switching regulators have been used on the board but there's always a high PSRR, low noise LDO before the ADC power supplies.

6)The entire circuit board has a single common ground.

Let me know if there are any additional information required.

  • Hi Shine,

    Can you provide the register writes used for to configure the ADC? I can test the configuration register writes in the lab and compare them to your data.

    Regards, Amy

  • ADS5404_Regs.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //ADC chip ADS5404 registers //SPI Data fromat: RW,A7-A0, D15-D0
    u32 RESET_REG = 0x2CD2F0; //Addr: 0x2C, Data: 0b 1101 0010 1111 0000 // Reset code
    u32 TEMP_REG = 0x2B0000; //Addr: 0x2B, Data: 0b 0000 0000 0000 0000 // Read-only temperature
    u32 ADC_regs[] = {
    0x000000, //Addr: 0x00, Data: 0b 0000 0000 0000 0000
    //0x01820A, //Addr: 0x01, Data: 0b 1000 0010 0000 1010 // ch correction on
    0x01020A, //Addr: 0x01, Data: 0b 0000 0010 0000 1010 // ch correction chA off
    //0x01000A, //Addr: 0x01, Data: 0b 0000 0000 0000 1010 // ch correction chA&B off!
    0x020780, //Addr: 0x02, Data: 0b 0000 0111 1000 0000
    0x034B18, //Addr: 0x03, Data: 0b 0100 1011 0001 1000 //DC Offset Corr ChA Clear
    0x0E0000, //Addr: 0x0E, Data: 0b 0000 0000 0000 0000
    0x0F0030, //Addr: 0x0F, Data: 0b 0000 0000 0011 0000
    0x1A4B18, //Addr: 0x1A, Data: 0b 0100 1011 0001 1000 //DC Offset Corr ChB Clear
    //0x370000, //Addr: 0x37, Data: 0b 0000 0000 0000 0000 // sleep-mode Complete Shutdown
    //0x378000, //Addr: 0x37, Data: 0b 1000 0000 0000 0000 // sleep-mode Standby
    //0x37C000, //Addr: 0x37, Data: 0b 1100 0000 0000 0000 // sleep-mode Deep sleep
    0x37D400, //Addr: 0x37, Data: 0b 1101 0100 0000 0000 // sleep-mode Light sleep
    //0x38FFDF, //Addr: 0x38, Data: 0b 1111 1111 1101 1111 // internal bias on
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Thanks Amy,

    Here's the ADC register file we are using.

  • Hi Shine,

    I will set up the EVM in the lab and let you know what I find. 

    Regards, Amy

  • Additionally, I will check with the team to get their thoughts on the pdf you compiled. Thank you for providing the details.

    Regards, Amy

  • Hi Shine,

    I setup a ADS5404EVM in the lab and tested it out with 1) an analog input and 2) a test pattern.I also exported the corresponding register writes and provided them here.

    You mentioned that "The ADC board we designed has been interfaced with the FPGA board using FMC connector but due to some unknown reasons, I'm getting a periodic distortion" - just to clarify, was this at one point working without distortion?

    Additionally, is 40mV and 400mV the input amplitude at the input of the ADC? Or the level of the output of the sig gen?

    Regards, Amy

    ADS5404EVM-TestPatWrites0101.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ADS5402 Registers:
    0x00 0x0000
    0x01 0x0000
    0x02 0x0780
    0x03 0x4b18
    0x0e 0xaaa8
    0x0f 0xa000
    0x1a 0x4b18
    0x2c 0x0000
    0x34 0x0000
    0x37 0x0000
    0x38 0xffff
    0x3a 0x081b
    0x3c 0x9554
    0x3d 0x0000
    0x3e 0x0000
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    ADS5404EVM-Fs500M_Ain125M.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ADS5402 Registers:
    0x00 0x0000
    0x01 0x0002
    0x02 0x0780
    0x03 0x4b18
    0x0e 0xaaa8
    0x0f 0xa000
    0x1a 0x4b18
    0x2c 0x0000
    0x34 0x0000
    0x37 0x0000
    0x38 0xffff
    0x3a 0x081b
    0x3c 0x0000
    0x3d 0x0000
    0x3e 0x0000
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi Amy,

    Thanks a lot for the test results. The distortions as shown in the figures in the pdf file shared were observed in the histogram of the data collected with many samples (sample details are given in the figures) in the ADC voltage range of -400mV to +400mV and not in the FFT or the reconstructed signal. Could you collect many number of samples and plot a simple histogram which is in the ADC voltage range of -400mV to +400mV and check if these repetitive distortions are observed form your end? We would like to know if it's something inbuilt into the high-speed ADC or because of some external factors such as clock jitter or power supply noise or something else.

    Concerning the queries you asked;

    1)The distortion was already present since the start for all the 5 boards tested. What concerns us is that the FFT nor the signal reconstructed (as shown in the figures) have this distortion pattern but is overserved only in the histogram which represents the ADC voltage range.

    2) The input voltages; 40mV and 400mV are the output from the signal generator which were used as an example to check if the distortion is present different voltage scales.

  • Hi Shine,

    Your signal amplitude is very low at 40 mV and 400 mV – my sig gen requires 691 mV, or 9.8 dBm to reach full scale. I replicated what you are seeing on your board by setting this up on our ADS5404EVM in the lab. Due to the very low signal amplitude, I see a similar result.

    With an analog input of 10 MHz, the datasheet indicates the ADC will have an SNR of around 60 dB.

    Using the equation for SNR [SNR = 6.02N + 1.76] ----> 60 dB = 6.02 N + 1.76 ----> N = 9.8 = ENOB. In an ideal world, a perfect 12-bit ADC would use all 12 bits. However, due to various source of noise, the ENOB is reduced.

    The full scale voltage for this part is Vfs = 1.0 Vpp and the LSBrms = Vfs / 2^N  ----> ((1/2) / sqrt(2) / 2^(9.8)) = 396.6 uVrms. Using a signal with an amplitude that drives the ADC to a full scale input, the max number of resolution steps are used ----> 691 mVrms / 396.6 uVrms = 1742 steps. With a signal amplitude of 400 mVrms ---->  400 mVrms / 396.6 uVrms = 1008 steps and at 40 mVrms ---->  40 mVrms / 396.6 uVrms = 100.8 steps are used. This is the math behind why the signal appears to have distortion at low amplitudes – the lower the signal input, the less resolution steps are used.

    Are you filtering the clock and signal into the ADC? If using a low-quality signal generator (like a function generator), it is expected that you would see poor signal quality and significant distortion.

    Regards, Amy

    Regards, Amy

  • Hi Amy,

    Firstly, thanks a lot for the test results and being so prompt. Now it makes very good sense as to why the distortion could be happening. Additionally, could you also try to simulate the same test with a random white noise with a maximum signal amplitude of not exceeding 150mV as input? This is to analyse how the histogram would behave for random signals with varying amplitude as that's the major use case of the application.

    Secondly, regarding the clock source, we are using the clock generator chip and circuit as mentioned in the last page of the document shared in the thread. Could you and your team check the schematic sections especially the clock generator chip to see if it introduces any additional distortions to the ADC sampling? Moreover, let me know your feedback on the overall circuit too, cheers.

  • Hi Shine,

    Yes I will check in our lab to see if I have the required hardware for this setup. I will also check with the team on your schematic. The clocking part has jitter that meets the spec of the ADC3683 jitter requirement, so that is good. I will get back to you sometime next week. 

    Regards, Amy

  • Hi Shine,

    I setup the ADS5404EVM with a gaussian white noise generator for the analog input, please see attached histogram. 

    The schematic and clock source look ok to us, just double check that you have followed the recommendations in the datasheet for the clocking part. 

    I have also attached the register writes that I am using, you can double check these at well. 

    Regards, Amy

  • Hi Amy,

    Thanks for giving these valuable inputs as it has been very helpful for me to understand this distortion issue. Now, I would like to understand how I could resolve/minimise this distortion problem as I'm are trying to reconstruct input signals to ADC with varying voltage values that are very small (in the range of 30mV to 300mV).

    Could you suggest all the important parameters we should look for to resolve/minimise this distortion and the options we have for high-speed ADCs that has similar specifications as that of the "ADS5404IZAY" in terms of sampling rate, bit rate etc.

  • Hi Shine,

    What is the model of the signal generator that you are using to generator the triangle tone? Please let us know.

    Regards, Amy

  • Hi Amy,

    The model of the signal generator is "TTI TGF4162". But we would be using random signals directly from a noise source (it needn't be a signal generator) to measure the ADS5404IZAY.

  • Hi Shine,

    The TTI TGF4162 has a jitter spec on the order of ps, whereas the signal generator that I am using (SMA100A) has a jitter spec on the order of fs. This may be the reason more jitter is seen in your signal. A higher quality signal generator would be needed if you would like to replicate the results provided.

    Regards, Amy

  • Hi Amy,

    Thank you. The signal generator is only used as the analog input and not as clock. But yes, in the actual use case, we are using an onboard white noise source for evaluation. Could you advise on what parameters I should be looking for to reduce this distortion with very low signal amplitudes? Moreover, do you suggest, I need to be looking for a different TI family ADC for minimising or reducing this distortion as the signal amplitudes varies n the range of 30mV to 300mV.

  • Hi Shine,

    If you need to evaluate very small analog input signals around 30 to 300mV. Then you need to use a very high dynamic range ADC. This would mean you need to look for an 16 or 18Bit ADC. What is the sampling rate you plan to use? Something like the ADC3683 comes to mind. See link to datasheet:

    www.ti.com/.../adc3683.pdf

    Thanks,

    Rob

  • Hi,

    The sampling rate I'm looking for is around 500MSPS.

  • Hi Shine,

    It might be better to provide a list is requirements for the ADC that is needed for your application.

    For a sampling rate of 500MSPS, the best SNR we have is 74dB with the ADS54J69. See the link below.

    www.ti.com/.../ADS54J69

    You can easily do a search on TI.com.

    Here is the link to a parametric table to quickly look at our entire ADC portfolio and down select what you need.

    www.ti.com/.../products.html

    Thanks,

    Rob