Continue to Site

Problem with INL/DNL calculation due to using THA

Status
Not open for further replies.

Advanced Member level 4
Hi dear all friends;

I've designed a flash ADC and now i want to test it. but i've some problems with INL/DNL calculation due to the using of THA!

i used of track and hold amplifier (THA; a track and hold which is followed by a source follower as a buffer), besides
input of ADC is (Vin+)-(Vin-)=500mV and output of THA is (VO+)-(VO-)=480mV

in the resistor ladder i used of two reference voltages which is defined as follow:
(Vref+)-(Vref-)=500mV

in this situation some digital codes will not be produced (e.g. 000...0 or 1111....1), for example in the output of Hspice, i have only 248 digital codes for 8-bit ADC instead of 256 codes.
Now what can i do for INL/DNL calculation

Re: problem with INL/DNL

i used of track and hold amplifier (THA; a track and hold which is followed by a source follower as a buffer), besides
input of ADC is (Vin+)-(Vin-)=500mV and output of THA is (VO+)-(VO-)=480mV
Instead of the source follower, I'd suggest to use a true buffer amplifier (opAmp with feedback for Av=1).

problem with INL/DNL

i can't use of opamp, because in the high frequencies, it is not possible to use of closed loop op-amp.
besides, in the close loop opamp, we have some offset in output voltage of buffer due to the gain and bandwidth limitation. thus, output will be same as in the THA.

problem with INL/DNL

for INL/DNL, you can (and should) use the sine wave method. It does not matter that your output code range is not 000...0 to 111...1, it can be any range you like.

problem with INL/DNL

dear JoannesPaulusm thx for your reply, i used of a ramp with very slow slope, does it work?
i didn't understand,if we use of sine wave instead of ramp, some codes will be missed as well as using of ramp. if we haven't some digital codes, then how we can remove offset and gain error for INL/DNL calculation?

problem with INL/DNL

Can you not overdrive the T/H to get 500mV out? Or
is it hitting some sort of compression? Similarly can
the reference endpoints be accessed for testing?

Perhaps your algorithm should first acquire the first-
and last-non-bogus codes, and then use these (rather
than 0 and 255) for your loop indices in standard DNL,
INL calculation routines.

problem with INL/DNL

excuse me, what's your mean about overdrive the TH?
i tried to use of first and last acquired codes but for finding offset and gain error we must use of theses codes" 00..0 and 11...1. maybe i used of wrong matlab code for INL calculation, because i didn't have this code and i had to wrote it by myself. do you have any matlab code for INL calculation (except of a that code wrote in the maxim-ic site!)?

Re: problem with INL/DNL

i used of a ramp with very slow slope, does it work?
It works but you need to overdrive the ADC to avoid the rounding of the ramp signal at the top (i.e. your source will affect your ADC static performance).
i didn't understand,if we use of sine wave instead of ramp, some codes will be missed as well as using of ramp. if we haven't some digital codes, then how we can remove offset and gain error for INL/DNL calculation?
Correct, but you can have a high quality input sine wave and therefore your signal source will not affect the measurement. You can check the IEEE standard 1057 on the method details and search the internet for matlab code to calculate and plot the figures (look for Boris Murmann as a starting point).

Added after 16 minutes:

here is the link:

Points: 2
Re: problem with INL/DNL

excuse me, what's your mean about overdrive the TH?
i tried to use of first and last acquired codes but for finding offset and gain error we must use of theses codes" 00..0 and 11...1. maybe i used of wrong matlab code for INL calculation, because i didn't have this code and i had to wrote it by myself. do you have any matlab code for INL calculation (except of a that code wrote in the maxim-ic site!)?

I mean, if +/- 500mV in gives +/- 480mV from the T/H,
what about driving with (say) -525 to +525mV instead?
If it's linear with only a gain error, maybe that'd get you
past the front end loss. However if you have problems
like a +/-0.5V supply rail pair, it wouldn't.

Points: 2
problem with INL/DNL

why don't you just set your reference thru a source follower similar to the one you have in the THA? Or, else, you could set your reference to be 480mV...

Points: 2
Re: problem with INL/DNL

why do you use a buffer?

the buffer cannot be remove?

Status
Not open for further replies.