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.

ADS5401 Auto correction function

Other Parts Discussed in Thread: ADS5401

Hi,

My cutomer is using ADS5401.
He has question about auto correction function.
Could you answer me the following questions, please?

Q1: When does auto correction finish?
      Datasheet shows the sequence of start to using correction function as "8.5.1 Device Initialization".
      Form when can user read corrected data?
      Could you let me know timing, please?

Q2: Does the value of correction by auto correction hold even if Power off?
      Must we do "Device Initialization" every power on in case of need correction?

Q3: Signal for A/D is inputed direct, not AC coupling.
      When auto correction is operated, input signal is waving yet.
      Is it problem?
      When auto correction is operated, Do we need input signal to fixed value?

Q4: What does ADS5401 do during auto correction?
      I think that it is "8.3.5 Interleaving Correction ".
      Is it correct?

Best regards,
Shimizu

  • Hi,

    Q4: yes the auto correction is the interleaving correction.  Since the device is 2-way interleaved, there are two sub-ADCs such that one sub-ADC samples at the rising edge of the sample clock and the other sub-ADC samples at the falling edge.     If there is any mismatch between the two sub-ADCs in terms of gain or offset voltage, then that directly affects the output data.   The autocorrection is an internal proprietary algorithm that computes the offset of each sub-ADC and does an addition/subtraction to equalize the two sub-ADCs, and a similar algorithm that computes the gain mismatch of the two sub-ADCs and does a scaling to equalize this gain mismatch.

    Q1:  when enabled, this auto-correction does not finish.  it runs continuously and updates its internal corrections according to an internal time constant so as to track any variation of operating conditions over time.   That is, as temperature varies over time the correction factors vary over time with it.  You can read the sample data at any time.   you can also disable the correction and clear the counters that set up the time constant, and then re-enable the correction to have the correction start over.  That is why there are two different register bits to use to control the correction.  one bit clears or enables the counters and the other enables the correction itself.  I do not know the time constant involved, in case you enable the correction and want to wait for some time before using the data.  I do not know how long it takes to wait for the data to be *fully* corrected.  The data could be used immediately but there may still be some residual mismatch between the two sub-ADCs immediately after enabling the correction.

    Q2: when powered off, the autocorrection is not running.  You would need to reinitialize after every power cycle.

    Q3: since the autocorrection is freely running and tracking changes, it is ok if the input signal is still not fully stable.   you do not need a training sequence for the input signal during autocorrection.    Now, with any possible algorithm that we might design for estimating offset mismatches or gain mismatches, there are always pathological input conditions that might lead to a poor result.  For these cases, there might be better performance leaving the autocorrection off, or turning it off and back on again to restart the correction algorithm.  it would be *possible* that while the input signal was still not stable yet that the signal might exhibit one of these pathological cases.  Unlikely, though.

    Regards,

    Richard P.

  • Hi Richard,

    Thank you for your support.
    I add questions about your answer of Q1.

    Q1-1: What is "counters" in your answer?
      I guess that "counters" in your answer is set 0x03 bit D14(Start Auto Corr ChA).
    What happens after being clear "counters"?

    Q1-2: I think that correction is operated cycle by cycle of sampling.
    For the reason, sampling date is fixed correctly after enable of auto-correction.
    Or Is correction accuracy to become good by a lot of data sampling?

    Best regards,
    Shimizu
  • Hi,

    Q1:  Yes, I am talking about the bit D14 of register 0x03.   Maybe 'Counter' is not the best word for it, but I believe I have seen this term used for the bit in other documentation.  I cannot tell you more about how this bit is used as I do not have the details of the algorithm used for gain and offset correction.    but I would just use the description given in the datasheet, which is that by default the correction is disabled and to enable it you would clear bit D14 register 0x03, and set bit D15 register 0x01.    When D14 register 0x03 is set, the correction factor for offset and for gain is brought back to initial value such that there is no correction - the offset correction is zero so that there is no offset correction, and the gain value is 1 so that there is no gain correction.   When this bit is cleared and the other bit (D15 register 0x01) is set, then the algorithm will converge on what it thinks is the best value for offset correction and the best value for gain correction.

    Q2: Once the autocorrection is allowed to operate, the first samples out of the device after that will have no initial offset correction and no initial gain correction, but over time the algorithm will converge to the best correction that we can find.  I do not know the time constant of this convergence, so I cannot tell you how long it would take until the correction is best.

    Regards,

    Richard P.

  • Hi Richard,

    Thank you for your reply.

    The information when the correction is fixd is very important.
    Customer can't use the function which doesn't know when to fixed correction.
    TI should show the wait time for correction.

    Could you confirm to the designer, please?

    Best regards,
    Shimizu
  • Hi Richard,

     How is it progressing?

    Best reagrds,

    Shimizu

  • Hi,

    I spoke with the design manager.  We do not have documentation on the expected time of convergence for the interleaving correction.  He will be speaking with two of the designers that worked on the design originally to see if they have simulation materials on this.

    But again, the sample stream will not be invalid during this time.  There would simply be a larger interleaving spur (for single tone input usually seen at Fs - Fin) at the time that the correction is enabled and that over time the interleaving spur would decrease until it became the best we could make it and then it would not decrease further over time.   I think the only way I could try to measure it would be if I enabled the correction and from that moment captured a very long buffer of sample data, and then performed an FFT on a smaller window of that data and swept that FFT window across the long capture of data - looking for when the interleaving spur no longer got smaller.   But - on my applications bench the SPI operations to enable the correction is asynchronous to my capture card and I don't have a way to begin that long capture from that right moment.   

    Regards,

    Richard P.

  • Hi,

    The estimated convergence time for the longest portion of the correction functions is just under 2ms, when clocked at 500MSPS.   This would scale with sample rate since it takes a certain number of samples to converge, so at 750MSPS the convergence time would be about 1.3ms.

    Regards,

    RIchard P.