02.01.2013 Aufrufe

Schaltungstechnik

Schaltungstechnik

Schaltungstechnik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.4 Operationsverstärker 241<br />

rig : resistance := 0.0; -- common mode input resistance<br />

i0 : current := 0.0; -- internal current<br />

vud0 : voltage := 1.0e5; -- open loop gain<br />

cmrr : real := 3.0e4; -- common mode rejection ratio<br />

r1 : resistance := 500.0e3;-- internal resistance<br />

ck : capacitance := 0.0; -- miller capacitance<br />

ra : resistance := 0.0; -- output resistance<br />

i_max_p : current := 5.0e-3; -- max positive output current<br />

i_max_n : current := -5.0e-3; -- max negativ output current<br />

v_supply_p : voltage := 5.0; -- positive supply voltage<br />

v_supply_n : voltage := -5.0); -- negative supply voltage<br />

PORT (TERMINAL plus, minus, output : electrical);<br />

end OpAmp;<br />

architecture Level2 of OpAmp is<br />

-- inner terminals<br />

terminal n0, n1, n2 : electrical;<br />

-- inner branch quantities and free quantities<br />

quantity Vin across plus to minus;<br />

quantity V_i0 across i2 through plus to n0;<br />

quantity vud across ii, icid, irid through n0 to minus;<br />

quantity vug1 across irig1, iib1 through n0 to electrical_ref;<br />

quantity vug2 across irig2, iib2 through minus to electrical_ref;<br />

quantity vx across ix, ir1 through n1 to electrical_ref;<br />

quantity vck across ick through n2 to n1;<br />

quantity vn2 across in2 through n2 to electrical_ref;<br />

quantity vra across ira through n2 to output;<br />

quantity voutput across output to electrical_ref;<br />

quantity sr : real; -- free quantity: slew rate<br />

quantity ira_h : current; -- help free quantity<br />

quantity vn2_h : voltage; -- help free quantity<br />

begin<br />

sr == i0/ck;<br />

v_i0 == vi0;<br />

ii == ii0/2.0;<br />

icid == cid * vud'dot;<br />

irid == vud/rid;<br />

irig1 == vug1/rig;<br />

irig2 == vug2/rig;<br />

iib1 == iib;<br />

iib2 == iib;<br />

ix == i0 * tanh(vud/0.052);<br />

ir1 == vx/r1;<br />

ick == ck * vck'dot;<br />

vn2_h == vud0*(-1.0*vx)/99.95 + (vud0/cmrr)*vug1;<br />

ira_h == vra/ra;<br />

-- limitation of the output voltage<br />

if vn2_h'above(v_supply_p) use vn2 == v_supply_p;<br />

elsif not vn2_h'above(v_supply_n) use vn2 == v_supply_n;<br />

else vn2 == vn2_h;<br />

end use;<br />

-- limitation of the output current<br />

if ira_h'above(i_max_p) use ira == i_max_p;<br />

elsif not ira_h'above(i_max_n) use ira == i_max_n;<br />

else ira == ira_h;<br />

end use;<br />

end Level2;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!