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.

2.2 Vorgehensweise bei der Schaltungsanalyse 79<br />

ßen Cj, vr und qc stellen eine „free“ Quantity dar. Mit „if“ Abfragen wird das<br />

Verhalten der Diode abhängig von verschiedenen Bereichen definiert. Das Modell<br />

enthält alle im Bild 2.2-29 skizzierten Eigenschaften mit Bahnwiderstand, idealtypischem<br />

Verhalten des pn-Übergangs, realem Sperrstrom, Durchbrucheffekt,<br />

Sperrschichtkapazität und Speicherverhalten. Das Beispiel zeigt deutlich, dass sich<br />

mit VHDL-AMS anwendungsspezifische Modelle leicht formulieren lassen.<br />

library IEEE, DISCIPLINES;<br />

use IEEE.math_real.all;<br />

use DISCIPLINES.electromagnetic_system.all;<br />

use DISCIPLINES.thermal_system.all;<br />

use DISCIPLINES.physical_constants.all;<br />

entity Diode is<br />

generic ( iss, n, rs, isr, nr : real;<br />

Cj0, Vj, M, Fc, tt : real;<br />

bv, ibv, nbv : real;<br />

eg, xti, temp, af, kf : real);<br />

port (terminal anode, cathode : electrical);<br />

end entity Diode;<br />

architecture level1 of Diode is<br />

terminal node : electrical;<br />

constant vt : real := temp * physical_K / physical_Q;<br />

quantity Cj, vr : real;<br />

quantity vd across ic, id through node to cathode;<br />

quantity v across ir through anode to node;<br />

quantity qc : charge;<br />

begin<br />

junction_capacitance : if (vd >= (Fc*Vj)) use<br />

Cj == Cj0/((1.0-Fc)**(1.0+M))*(1.0-Fc*(1.0+M)+M*vd/Vj);<br />

else Cj == Cj0*(1.0 - vd/Vj)**(-1.0*M);<br />

end use junction_capacitance;<br />

vr == ir * rs; vd == v - vr;<br />

if (vd >= 0.0) use<br />

id == iss*(exp((vd)/(n*vt))-1.0);<br />

elsif (vd < 0.0) and (vd > -1.0*bv) use<br />

id == iss*(exp((vd)/(n*vt))-1.0)+isr*(exp(vd/(nr*vt))-1.0);<br />

elsif (vd = -1.0*bv) use<br />

id == -1.0*ibv;<br />

else id == -1.0*ibv*(exp(-1.0*(vd+bv)/(nbv*vt))-1.0);<br />

end use;<br />

if vd < vj use<br />

qc == tt*id - Cj*((vd-vj)*(-1.0*vj/(vd-vj))**M/(M-1.0));<br />

else<br />

qc == tt*id;<br />

end use;<br />

ic == qc'dot;<br />

end architecture level1;<br />

Bild 2.2-46: Verhaltensmodell einer Diode dargestellt mit VHDL-AMS

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!