Sériové ADC potřebné pomoci

W

WLS

Guest
Ahoj kluci.Chtěl design sériového 8 / 10 bit ADC SAR (něco jako AD7995 4-kanál, 10-Bit ADC s I2C-kompatibilní).Ale já jsem spíše na analog, vědí jen velmi málo o digitální?Každý, kdo má příklad (state-machine/verilog pro kontrolu apod.) udělat něco jako AD7995?Může být Udělám to bez kanál?Jednotný vstup dost, ale je třeba například pro řídící signál?

Jde.

 
Například z mého posledního projektu/ / Verilog HDL pro "ADC_10b_5M", "logic5" "Verilog"

Modul logic5 (clkp, outreg, cmp, COLP, rowp, Coln, rown, SHP, shn, ready);
vstup clkp;
vstup cmp;
Výstup shp;
Výstup shn;
výkon [0:8] outreg;
Výstup ready;
výkon [0:15] COLP;
výkon [0:15] rowp;
výkon [0:15] Coln;
výkon [0:15] rown;

reg ready;
reg [0:3] ct, ČT1;
reg [0:7] n, p;
reg [0:15] COLP, Coln, rowp, rown;
drát [0:3] colnh, colph, rownh, rowph;
reg [0:8] datareg, outreg;
reg shp;
drát shn;

přiřadit shn =! shp;

/ * Počáteční
začít
ct = 0;
ČT1 = 0;
hp = 1;
konec
* /

Vždy @ (negedge clkp)
začít
if (ČT1 == 11)
začít
ČT1 <= 0;
ct <= 0;
konec
jiný
začít
ČT1 <= ČT1 1;
if ((ČT1! = 1) & & (ČT1! = 3) & & (ČT1! = 5))
začít
ct <= ct 1;
konec
konec

if (ČT1 == 0) / / start definici
začít
shp <=! shp;
ready <= 1;
n [0:7] <= 'b11111111;
p [0:7] <= 'b11111111;
outreg [0:7] <= p [0:7];
outreg [8] <=! cmp;
konec
jiný
začít
ready <= 0;
konec

/ / Aproximace

if ((ct> 0) & & (ČT1! = 2) & & (ČT1! = 4) & & (ČT1! = 6))
začít
p [ct-1] <=! cmp;
n [ct-1] <= cmp;
konec

konec
//////////////////////////////////////////// / Dekódování

přiřadit colph = p [0:3];
přiřadit rowph = p [4:7];
přiřadit colnh = n [0:3];
přiřadit rownh = n [4:7];Vždy @ (rowph)
začít
případě (rowph)
4'h0: rowp = 16'h0001;
4'h1: rowp = 16'h0002;
4'h2: rowp = 16'h0004;
4'h3: rowp = 16'h0008;
4'h4: rowp = 16'h0010;
4'h5: rowp = 16'h0020;
4'h6: rowp = 16'h0040;
4'h7: rowp = 16'h0080;
4'h8: rowp = 16'h0100;
4'h9: rowp = 16'h0200;
4'hA: rowp = 16'h0400;
4'hB: rowp = 16'h0800;
4'hC: rowp = 16'h1000;
4'hD: rowp = 16'h2000;
4'hE: rowp = 16'h4000;
4'hF: rowp = 16'h8000;
endcase
konec

Vždy @ (colnh)
začít
případě (colnh)
4'h0: Coln = 16'h0001;
4'h1: Coln = 16'h0002;
4'h2: Coln = 16'h0004;
4'h3: Coln = 16'h0008;
4'h4: Coln = 16'h0010;
4'h5: Coln = 16'h0020;
4'h6: Coln = 16'h0040;
4'h7: Coln = 16'h0080;
4'h8: Coln = 16'h0100;
4'h9: Coln = 16'h0200;
4'hA: Coln = 16'h0400;
4'hB: Coln = 16'h0800;
4'hC: Coln = 16'h1000;
4'hD: Coln = 16'h2000;
4'hE: Coln = 16'h4000;
4'hF: Coln = 16'h8000;
endcase
konec

Vždy @ (rownh)
začít
případě (rownh)
4'h0: rown = 16'h0001;
4'h1: rown = 16'h0002;
4'h2: rown = 16'h0004;
4'h3: rown = 16'h0008;
4'h4: rown = 16'h0010;
4'h5: rown = 16'h0020;
4'h6: rown = 16'h0040;
4'h7: rown = 16'h0080;
4'h8: rown = 16'h0100;
4'h9: rown = 16'h0200;
4'hA: rown = 16'h0400;
4'hB: rown = 16'h0800;
4'hC: rown = 16'h1000;
4'hD: rown = 16'h2000;
4'hE: rown = 16'h4000;
4'hF: rown = 16'h8000;
endcase
konec

Vždy @ (colph)
začít
případě (colph)
4'h0: COLP = 16'h0001;
4'h1: COLP = 16'h0002;
4'h2: COLP = 16'h0004;
4'h3: COLP = 16'h0008;
4'h4: COLP = 16'h0010;
4'h5: COLP = 16'h0020;
4'h6: COLP = 16'h0040;
4'h7: COLP = 16'h0080;
4'h8: COLP = 16'h0100;
4'h9: COLP = 16'h0200;
4'hA: COLP = 16'h0400;
4'hB: COLP = 16'h0800;
4'hC: COLP = 16'h1000;
4'hD: COLP = 16'h2000;
4'hE: COLP = 16'h4000;
4'hF: COLP = 16'h8000;
endcase
konecendmodule

 
Já jsem v podstatě zvědav, jak 8-bit ADC model by použití 64 bitů výstupu pro kontrolu analogových množství?

 
Je mi to líto.Při zahájení projektu, systém byl třeba v 10bitové, ale z málo času jsme stoped na 9 bit kvalitě.Tento kód pro diferenciální 9-bit SAR, logika mají 2 8b rejstříku N, P pro pohon par klíčových pro res žebříku.

 
Dobrý den.Je možné sdílet ur práce nebo více informací o SAR díly?

 

Welcome to EDABoard.com

Sponsor

Back
Top