Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Problem with INL/DNL calculation due to using THA

Status
Not open for further replies.

Monady

Advanced Member level 4
Joined
Dec 1, 2008
Messages
111
Helped
12
Reputation
24
Reaction score
3
Trophy points
1,298
Activity points
2,165
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

Thx in advance.
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,689
Reputation
5,358
Reaction score
2,289
Trophy points
1,393
Location
Germany
Activity points
44,153
Re: problem with INL/DNL

Monady said:
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).
 

Monady

Advanced Member level 4
Joined
Dec 1, 2008
Messages
111
Helped
12
Reputation
24
Reaction score
3
Trophy points
1,298
Activity points
2,165
problem with INL/DNL

Thx for reply.
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.
 

JoannesPaulus

Advanced Member level 3
Joined
Mar 19, 2008
Messages
773
Helped
235
Reputation
470
Reaction score
134
Trophy points
1,323
Location
USA
Activity points
5,006
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.
 

Monady

Advanced Member level 4
Joined
Dec 1, 2008
Messages
111
Helped
12
Reputation
24
Reaction score
3
Trophy points
1,298
Activity points
2,165
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?
 

dick_freebird

Advanced Member level 5
Joined
Mar 4, 2008
Messages
7,140
Helped
2,092
Reputation
4,188
Reaction score
1,939
Trophy points
1,393
Location
USA
Activity points
57,288
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.
 

Monady

Advanced Member level 4
Joined
Dec 1, 2008
Messages
111
Helped
12
Reputation
24
Reaction score
3
Trophy points
1,298
Activity points
2,165
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!)?
 

JoannesPaulus

Advanced Member level 3
Joined
Mar 19, 2008
Messages
773
Helped
235
Reputation
470
Reaction score
134
Trophy points
1,323
Location
USA
Activity points
5,006
Re: problem with INL/DNL

Monady said:
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).
Monady said:
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:
https://ccnet.stanford.edu/cgi-bin/...handout_download&handout_id=ID125185307612754
 

    Monady

    points: 2
    Helpful Answer Positive Rating

dick_freebird

Advanced Member level 5
Joined
Mar 4, 2008
Messages
7,140
Helped
2,092
Reputation
4,188
Reaction score
1,939
Trophy points
1,393
Location
USA
Activity points
57,288
Re: problem with INL/DNL

Monady said:
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.
 

    Monady

    points: 2
    Helpful Answer Positive Rating

JoannesPaulus

Advanced Member level 3
Joined
Mar 19, 2008
Messages
773
Helped
235
Reputation
470
Reaction score
134
Trophy points
1,323
Location
USA
Activity points
5,006
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...
 

    Monady

    points: 2
    Helpful Answer Positive Rating

shanmei

Advanced Member level 1
Joined
Jul 26, 2006
Messages
426
Helped
8
Reputation
16
Reaction score
8
Trophy points
1,298
Location
USA
Activity points
4,469
Re: problem with INL/DNL

why do you use a buffer?

the buffer cannot be remove?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top