INL, DNL meranie

V

vijay_nag

Guest
Ahoj všetci!

Snažím sa, aby simulovali INL a DNL pomocou kadencie.Snažil som sa pozrel na rovnakej doske.ale ja som nemohla získať uspokojivé odpovede.môže mi niekto prosím vysvetliť podrobnejšie o nastavenia testu lavica, simulácie riadenia a meracej techniky (všetko potrebné)?

Thanks in advance,
Vijay

 
Navrhujem u donnot simulovať statické výkon, to je katastrofa u, ur strácať čas!

 
Pozrite sa Jonathan David (kadencie) článkov.Musel niekoľko článkov o INL & DNL testbench.Je participiant z edaboard

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsmev" border="0" />

Mám jeden článok, ale je ťažké nájsť.

 
Ahoj všetci!

prosím, vysvetliť celý postup podrobne.Už som sa snažil všetko, čo som mohol, ale já nejsem schopný vykonávať žiadne breakthoughs v tomto ohľade.Snažím simulácie v kadenciu.prosím, povedzte to, ako sa pustiť.

pozdravy,
Vijay

 
Pozrite sa na túto knihu
CMOS Circuit Design, Layout, and Simulation
Existujú príklady v DA / AD kapitola

 
Ahoj všetci!

môže mi niekto vysvetliť podrobne, ako nájsť INL, DNL z ADC pomocou kódu hustotou (histogram) metóda?

pozdravy
Vijay

 
vijay_nag Napísal:

Ahoj všetci!môže mi niekto vysvetliť podrobne, ako nájsť INL, DNL z ADC pomocou kódu hustotou (histogram) metóda?pozdravy

Vijay
 
renwl Napísal:Môžete si prečítať príručku ADC od ADI.
 
vijay_nag Napísal:renwl Napísal:Môžete si prečítať príručku ADC od ADI.
 
Verilog-použitie na sim.those kód som našiel z post tu ... icant nájsť odkaz ..
/ / Verilog pre TEST_ADC, inldnlmeasure, Verilog
/ / $ Date: 2005/11/25
/ / $ Revision: 0.0 $
/ / Statické vystúpení ADc mesure
/ / Presnosť závisí od dLSB = S * T / LSB
/ / S-sklon rampy
/ / T - hodinový signál obdobie
/ / LSB - napätie LSB
/ / Thow metódy merania INL
/ / Metóda = 0 - End Point INL
/ / Metóda = ostatné - Best Fit INL

"zahŕňajú" constants.vams "
"zahŕňajú" disciplines.vams "

`define HIBIT 7
`define HIBIN 1023

Modul inldnlmeasure (vd, vst, Hostinec);
príkon [ `HIBIT: 0] vd;
vstup vst, Hostinec;
Elektrické [ `HIBIT: 0] vd;
elektrické vst, hostinec, vclk;

parameter skutočný vtrans_clk = 2.5; / / Prah
parameter skutočný fullscale = 1.0; / / Pre Gain Error Estimation
parameter celé číslo maxcode = pow (2, "HIBIT) / / Počet zásobníkov
parameter metódy integer = 0; / / 0 - End Point INL, ostatné - Best Fit INL

skutočné X [ `HIBIN: 0], Y [` HIBIN: 0] dnl [ `HIBIN: 0] INL [` HIBIN: 0];
integer maxcount, počítať, i;
skutočné measbin, offseterr, gainerr, dnlmax, dnlmin, inlmax, inlmin;
integer dnlout, inlout;
skutočné S, S1, S2, S3, S4, D, D1, D0, A1, A0;

analógové begin
@ (Initial_step) begin
for (i = 0; i < `HIBIN; i = i 1) begin
X = 0;
Y = 0;
dnl = 0;
INL = 0;
koniec
count = 0;
dnlout $ = fopen ( "~ / dnlmeasure.dat");
inlout $ = fopen ( "~ / inlmeasure.dat");
koniec

@ (Cross (V (vd [0]) - vtrans_clk, 0)) begin
X [count] = $ abstime;
Y [count] = V (vst, Hostinec);
count = count 1;
koniec

@ (Final_step) begin
maxcount = count;
/ / Lineárne Aproximácia (Best Fit)
S1 = 0; S2 = 0; S3 = 0; S4 = 0;
for (i = 0; i <maxcount; i = i 1) begin
S1 = S1 pow (X , 2);
S2 = S2 X ;
S3 = S3 X * Y ;
S4 = S4 Y ;
koniec
D = S1 * maxcount - pow (S2, 2);
D1 = S3 * maxcount - S2 * S4;
D0 = S4 * S1 - S2 * S3;
A1 = D1 / D;
A0 = D0 / D;
/ / LSB Odhad
for (i = 1; i <maxcount; i = i 1) begin
S = S (Y - Y [i-1]);
koniec
measbin = S / (maxcount - 1);
/ / Offset, Gain Error Estimation
offseterr = -A0/measbin;
gainerr = (fullscale - maxcode * measbin) / measbin;
/ / DNL, INL odhad
dnlmax = 0; dnlmin = 0; inlmax = 0; inlmin = 0;
for (i = 0; i <= maxcount; i = i 1) begin
/ / DNL
if (i == 0 | | i == maxcount) dnl = 0;
else dnl = (Y -Y [i-1]) / measbin-1.0;
if (metóda == 0) begin
/ / End bodov INL
if (i == 0) inl = 0;
else inl = inl [i-1] dnl ;
end else begin
/ / Najlepšie hodí INL
if (i == maxcount) inl = 0;
else inl = ((measbin * (aj 1.0 / 2,0) A0) - Y ) / measbin;
koniec
/ / Summary
if (dnl > dnlmax) dnl dnlmax = ;
if (dnl <dnlmin) dnl dnlmin = ;
if (INL > inlmax) inlmax inl = ;
if (INL <inlmin) inlmin inl = ;
/ / Write pre kreslenie
$ Fdisplay (dnlout, "% d \ t% 10.6f", i, dnl );
$ Fdisplay (inlout, "% d \ t% 10.6f", i, inl );
koniec
$ Fclose (dnlout);
$ Fclose (inlout);
/ / Resumé
$ Display ( "Summmary of ADC Statické parametre");
$ Display ( "Opatrenia Module: \ t% m");
$ Display ( "Počet kódy: \ t% d", maxcount 1);
$ Display ( "Max Offset Error: \ t% .2 f", offseterr);
$ Display ( "Max Gain Error: \ t \ t% .2 f", gainerr);
$ Display ( "Max DNL: \ t \ t% .2 f /% .2 f", dnlmin, dnlmax);
$ Display ( "Max INL: \ t \ t% .2 f /% .2 f", inlmin, inlmax);
$ Display ( "Plot dnlmeasure.dat & inlmeasure.dat podrobnosti ...");
koniec
koniec
endmodule
`undef HIBIT

 
Snažím sa merať INL / DNL pre DAC.I som čelia problému s MATLAB skript z dallas pre meranie INL / DNL pre ADC v following.PLs naznačujú, aby som simulácie.

Kód% hustoty / histogramu test pre výpočet INL a DNL vyžadujú
veľkého počtu vzoriek.
% Krok 1: Použitie takmer full-sine wave rozsahu (ale nie výstrižok)
a nájsť strednej-kód pre aplikované signál.
% Krok 2: Aplikujte rovnaký sínusový vstup, ale o niečo väčšie
amplitúda na klip ADC mierne.
% Spustite nasledujúci program, zadajte počet vzoriek,
rozlíšenie a stredné-kód z kroku 1and pokračovať.
% Copyright Au / Höfner, Maxim integrovaných produktov, 120 San Gabriel
Drive, Sunnyvale, CA94086
www.maxim-ic.com/an2085
Strana 7 z 9
% Tento program je veril byť presné a spoľahlivé.Tento
Program sa môže dostať zmenené bez predchádzajúceho oznámenia.
filename = input ( 'Názov súboru, alebo stlačte tlačidlo Enter pre kódu Transfer
HP16500C: ');
Ak IsEmpty (filename)
filename = 'Zoznam';
koniec
fid = fopen (filename, 'r');
numpt = input ( 'počet dátových bodov?');
numbit = input ( 'Rozlíšenie ADC?');
mid_code = vstup (Enter Mid-Code (priemer): ');
for i = 1:13, 13% Zrušiť riadkov nadbytočným alebo header-súvisiace
HP16500C data
fgetl (fid);
koniec
[v1, count] = fscanf (fid, '% f', [2, numpt]);
fclose (fid);
v1 = v1 ';
code = v1 :), 2);
code_count = zeros (1,2 ^ numbit);% kódu počet
pre i = 1: size (kód),
code_count (kód (i) 1) = code_count (kód (i) 1) 1;
koniec
Rutinné% zistiť, či je ADC vstup strihanie alebo nie
Ak code_count (1) == 0 | code_count (2 ^ numbit) == 0 | ...
(code_count (1) <code_count (2)) | (code_count (2 ^ numbit-1)>
code_count (2 ^ numbit))
disp ( 'Zvýšiť Sine-Wave amplitúdou až mierne Clip
ADC !!!');
break;
koniec
= Max (mid_code, 2 ^ numbit-1-mid_code) 0.1;% Pôvodný odhad
aktuálne sínusového priebehu amplitúdy
vin = (0:2 ^ numbit-1)-mid_code;% vzdialenosti kódov do polovice kód
sin2ramp = 1. / (pi * sqrt (A ^ 2 * ty (size (VIN))-vin .* VIN));
% Sin2ramp * numpt je očakávaný
Počet% každý kód, neustále narastajú odhad až do skutočného
celkový počet sa počíta od
Kód% 1 - 2 ^ numbit-2 zápasy, ktoré podľa predpovede
sin2ramp * numpt
kým sum (code_count (2:2 ^ numbit-1)) <
numpt * sum (sin2ramp (2:2 ^ numbit-1))
= 0.1;
sin2ramp = 1. / (pi * sqrt (A ^ 2 * ty (size (VIN))-vin .* VIN));
koniec
disp ( 'ste sa Sine vlny (dBFS ):');
Amplitúda = / (2 ^ numbit / 2)
číslo;
plot ([0:2 ^ numbit-1], code_count, [0:2 ^ numbit-1], sin2ramp * numpt);
title ( 'CODE HISTOGRAM - SINE WAVE');
xlabel ( 'digitálny výstup CODE');
ylabel ( 'počty');
osi ([0 2 ^ numbit-1 0 max (code_count (2), code_count (2 ^ numbit-1 ))]);
code_countn = code_count (2:2 ^ numbit-1). / (numpt * sin2ramp (2:2 ^ numbit --
1));% End bodov zlikvidovať!
číslo;
plot ([1:2 ^ numbit-2], code_countn);
title ( 'CODE HISTOGRAM - normalizovanej')
xlabel ( 'digitálny výstup CODE');
ylabel ( 'normalizovanej počty');
dnl = code_countn-1;% DNL = 1- Vj Vj-1LSB kde Vj predstavuje
prechodového bodu
1-% Vj Vj je úmerná normalizovaný kód
Počet
INL = zeros (size (dnl));
pre j = 1: size (INL ')
INL (j) = sum (dnl (1: j));% INL, j = DNL, 0 DNL, 1 ... DNL, j
koniec
% INL stále obsahuje vyrovnať a získať chyba!
INL% s koncovými bodmi-fit, tj INL = 0 na konci-bodov rovný
línia spájajúca 2 koncové body
% [P, S] = polyfit ([1,2 ^ numbit-2], [inl (1), inl (2 ^ numbit-2)], 1);
% Najlepšie-fit priamka
[p, S] = polyfit ([1:2 ^ numbit-2], inl, 1);
INL inl =- p (1) * [1:2 ^ numbit-2]-p (2);
disp ( 'Koniec body odstránené pre DNL a INL Výpočty');
číslo;
plot ([1:2 ^ numbit-2], dnl);
grid on;
title ( 'DNL');
xlabel ( 'digitálny výstup CODE');
ylabel ( 'DNL (LSB)');
číslo;
plot ([1:2 ^ numbit-2], INL);
grid on;
title ( 'INL (BEST END-POINT FIT)');
xlabel ( 'digitálny výstup CODE');
ylabel ( 'INL (LSB)');

pozdravy,
Fazal

 
Nazdar!

Môžeme urobiť vyrovnať a výpočty získať chyby pomocou kódu hustoty metódy?
Teoreticky sú merané, keď sme zamiesť vstupného napätia.

Pozdravy,
Vijay

 
Neviem, ako merať INL / DNL v Cadence

Ale ak viete, niektoré jednoduché C kódovanie zručnosť, je jednoduché, aby sa program pre výpočet INL DNL.

Možno som si tento kód bol nápomocný.

Buďte opatrní, že kód nie je dokonalý
Ospravedlňujeme sa, ale musíte prihlásiť do zobrazenie túto prílohu

 
020170 napísal:

Neviem, ako merať INL / DNL v CadenceAle ak viete, niektoré jednoduché C kódovanie zručnosť, je jednoduché, aby sa program pre výpočet INL DNL.Možno som si tento kód bol nápomocný.Buďte opatrní, že kód nie je dokonalý
 
hi Vijay.
pocínovat u pomôcť mne v simulácii inl a dnl, sfdr pre rozvojovú pomoc v cadence.plz pomôžte mi v tomto smere ..
vďaka

 
venkats Napísal:

hi Vijay.

pocínovat u pomôcť mne v simulácii inl a dnl, sfdr pre rozvojovú pomoc v cadence.plz pomôžte mi v tomto aspekte ..

vďaka
 
vijay_nag Napísal:020170 napísal:

Neviem, ako merať INL / DNL v CadenceAle ak viete, niektoré jednoduché C kódovanie zručnosť, je jednoduché, aby sa program pre výpočet INL DNL.Možno som si tento kód bol nápomocný.Buďte opatrní, že kód nie je dokonalý
 
Ahoj priatelia,

Mám INL a DNL chyby ADC pomocou kódu hustoty metódou.Keď sa aj do prechodových simulácie pre túto metódu žiadne kódy chýba.Ale keď som si DC analýza design by zametanie aj vstupné napätia, zistíme, že existuje veľa chýbajúcich kódexov.Čo to ukazujú?Znamená to, že hustota kódu metóda dáva zlé výsledky?Mohol by niekto prosím vysvetlite mi to discrepency.

Pozdravy,
Vijay

 

Welcome to EDABoard.com

Sponsor

Back
Top