SPICE-Modellierung von Bipolartransistoren / Home

Der Transistor ist eines der universellsten Bauelemente in der Elektronik. Da bietet sich die Simulation auf elegante Weise an elektronische Schaltungen besser zu verstehen. Doch ausgerechnet der Bipolartransistor ist trotz eingebauter Grundmodelle ziemlich schwer zu modellieren. Wie kommt man aus diesem Dilemma? Hier das nötige Hintergrundwissen und handfeste Hinweise.

Das Hauptproblem bei der Transistormodellierung ist die Vielzahl der für den Schaltungsentwickler relevanten Kennlinien (z.B. B-Kurve, Sättigungsspannung, Ausgangskennlinienfeld, Kapazitäts-Kurven, Transitfrequenz, Schaltzeiten, Rauschverhalten usw.), welche alle möglichst genau vom Modell wiedergegeben werden sollen. Erschwert wird dies durch die stark nichtlinearen Modellgleichungen und weiterhin ist auch die starke Temperaturabhängigkeit der Transistoreigenschaften zu berücksichtigen. Das wäre alles halb so schlimm, doch leider ist auch in nahezu allen kommerziellen Bibliotheken bereits das SPICE-Grundmodell (Gummel-Poon-Modell, siehe Bild 1) - wenn der gesuchte Typ überhaupt vorhanden ist - unzulänglich parametrisiert und auch viele kommerzielle Parametrisierungsprogramme - insbesondere die erschwinglichen - sind relativ unzureichend. Sogar bei sehr teuren ist noch viel zusätzliches Spezialwissen seitens des Benutzers notwendig.

Deshalb wurde speziell für den Zyklus Parametrisierung, Verifikation und Dokumentation von Bipolartransistormodellen ein spezielles Programm BJT entwickelt. Für den erfolgreichen Einsatz des Programms sind beim Anwender nur Grundkenntnisse über die verschiedenen Transistorfunktionen/Kennlinien notwendig. In diesem Artikel sollen nun nicht die Bedienung und die Vor-/Nachteile des Programms erläutert werden, sondern vielmehr ein Einblick in die Transistormodellierung gegeben werden : Was sind typische Werte für die Parameter ? Welchen Einfluß haben die einzelnen Parameter auf die Kennlinien ? Was sind die häufigsten Fehler ? In welcher Reihenfolge muß man vorgehen ?

Ausgangslage einer Modellierung sind im allgemeinen die wichtigsten Transistordaten (z.B. ßmax, ICmax, fTmax, Pmax usw.) und die Kennlinienfelder (gemessen oder aus Datenblatt). Am Anfang wird man die Grundinformationen auswerten und im zweiten Schritt dann das Modell anhand der einzelnen Kennlinien interaktiv optimieren (siehe Bild 2). Man sollte, da die Kennlinien sich gegenseitig beeinflußen, in festgelegter Reihenfolge vorgehen. In BJT können selbst die Ergebnisse aus S-Parametermessungen berücksichtigt werden. Natürlich wurde auch für die Dokumentation (verschiedene Druckertreiber, HPGL- und Postscript-Dateien) gesorgt.

Inhaltliches

Was muß eigentlich in einem Parametrisierungsprogramm alles eingebaut sein ? Zunächst einmal muß man für die graphische Dokumentation der Kennlinien die Modellgleichungen (siehe Box) und Simulationsalgorithmen (für DC-, AC- und Zeitbereichssimulationen) implementieren. Das sind dann bereits einige 100kB Quelltext, es reicht aber noch nicht : Für eine Startextraktion benötigt man zusätzlich analytische Formeln um anhand der Datenblattvorgaben (z.B. maximale Stromverstärkung, Transitfrequenz usw.) die einzelnen Modellparameter (insgesamt 40 Stück) zu ermitteln. Ein kleines Beispiel gefällig ?

Wenn man den Einfluß der Bahnwiderstände RE und RB, die Auswirkungen von VAF (Early-Spannung) und IKF (Knickstrom) vernachlässigt, gilt im - in SPICE eingebauten - Gummel-Poon-Modell folgendes für die Abhängigkeit des Kollektorstroms IC von der Basis-Emitter-Spannung UBE :

IC = IS·exp(UBE/(NF·UT)
(gilt außerhalb der Sättigung bei mittleren Strömen)

Wenn man nun weiß, daß NF bei den meisten Transistoren nahe eins liegt und UT=k·T/q bei 25°C etwa 26mV beträgt, kann man bei bekannten UBE direkt den Modellparameter IS ermitteln :

IS = IC/exp(UBE/UT)

Sie haben sicher bemerkt, daß an einigen Stellen Annahmen getroffen wurden, die zwar mehr oder weniger stimmen, aber eben nicht 100%ig. Deshalb erhalten wir für unsere Modellparameter nicht die "exakten" Werte, sondern nur - wenn auch meistens recht gute - Näherungswerte. Zwar kann man wie in BJT ausgefeiltere Formel verwenden, aber dies verringert auch meistens nur den Fehler ohne ihn zu eleminieren. Wenn nun genauere Informationen zur Verfügung stehen (z.B. die ganze Kurve IC(UBE) und nicht nur einen Wert), kann man durch "Feinanpassung" genauere Werte ermitteln. Kritisch bleibt allerdings, daß man nicht alle Parameter unabhängig bestimmen kann, sondern nur in Gruppen.

Eine solche Feinanpassung kann auf verschiedene Arten realisiert werden. Der naheliegenste Schritt wäre die Parameter, wie z.B. IS, in kleinen Schritten abzuändern und zu beobachten, ob die Modellkurve sich immer näher der im Datenblatt annähert. In BJT ist dies direkt in der graphischen Kennlinienausgabe anhand der Cursortasten möglich. Mehr als zwei Parameter gleichzeitig zu variieren ist für einen Menschen allerdings nicht mehr ganz einfach. Allerdings ist dieses Verfahren, in BJT Abstimmodus genannt, sehr anschaulich und sogar ziemlich lehrreich und effektiv.

Von Geisterhand

Wie wäre es, wenn nicht nur zwei Parameter gleichzeitig angepaßt werden würden, und das nicht von Hand, sondern direkt vom Rechner selbst ? Solche Verfahren nennt man Optimierungsverfahren. Da man sich dann die Grafik sparen kann, arbeiten diese auch relativ schnell. Bisher hat uns das Auge gemeldet, ob durch Parametervariation um DX die Anpassung besser oder schlechter wurde. Besser wäre natürlich ein unbestechliches mathematisches Kriterium. Dazu beschreibt man die Abweichungen durch eine Fehlerfunktion f(X) z.B. durch den mittleren quadratischen Fehler f(X)=1/Meßwertanzahl·S(Istwert(X)-Sollwert)². Natürlich ist auch der Betragsfehler oder der relative Fehler möglich. Die Entscheidung für eine Kriterium hat natürlich unmittelbare Konsequenzen auf die danach bestimmten Parameter. Exakte Werte kann man ohnehin nur dann erhalten, wenn das Modell wirklich korrekt ist und auch keine Meßfehler vorhanden sind. Beides ist nie der Fall.

Der Ablauf eines Optimierungsverfahrens sieht also allgemein so aus :

Startwert vorgeben :
X=X1
Schaltungsimulation :
Berechne Schaltung
Fehlerfunktion berechnen :
Berechne Abweichungen f(X) zwischen Simulation und Messung
Abbruchkriterium :
Kontrolliere ob Abweichungen gering genug sind
Optimierungsverfahren :
Wenn nicht wähle anhand einer geeigneten Strategie ein neues X=Xi+1

Über die Startwerte für die Modellparameter haben wir uns bereits unterhalten und auch für die Schaltungssimulation gibt es Algorithmen. Auch die Berechnung der Fehlerfunktion ist einfach (allerdings u.U. nicht die vernünftige Auswahl), sinnvollerweise kann man die letzten beiden Schritte auch zusammenfassen. Das Abbruchkriterium (Zeitüberschreitung, Anzahl der Versuche, Einhaltung einer geforderten Fehlerschranke usw.) ist einfach zu programmieren. Doch wie sieht es mit dem Optimierungsverfahren aus ?

Verfahrensfrage

Nach dem wir schon in unserem Betrachtungen zur Parameterextraktion etwas fortgeschritten sind, fallen Ihnen sicher einige Methoden auf Anhieb ein :

1. Koordinatensuchverfahren :

Erst den einen Parameter allein variieren und das Minimum suchen. Dann mit dem nächsten Parameter dasselbe machen usw. bis man einmal durch ist. Dann wieder von vorne Anfangen.

Vorteil :
Einfach zu programmieren, keine Ableitungen notwendig
Nachteil :
Sehr langsam, während der Optimierung werden u.U. oft unphysikalische Werte angenommen, so daß man nicht den kleinstmöglichen Wert der Fehlerfunktion findet.

2. Zufallsverfahren :

Einen oder mehrere Parameter auswählen und diese etwas verändern, dann nachsehen, ob die Fehlerfunktion kleiner geworden ist. Wenn ja dann ist dieser Punkt neuer Ausgangspunkt.

Vorteil :
Einfach, u.U. können auch lokale Minima (wenn vorhanden) überwunden werden! Sehr universell, braucht keine Ableitungen
Nachteil :
Noch langsamer

3. Gradientenverfahren :

Stellt man sich die Fehlerfunktion als Landschaft vor, dann besteht die Aufgabe des Optimierungsverfahren darin, den tiefsten Punkt zu ermitteln. Eine gute Idee besteht also darin, zunächst die Richtung zu ermitteln, in der es am steilsten bergab geht und dann entlang dieser Linie zu minimieren.

Vorteile :
Noch relativ einfach zu programmieren, etwas schnellere Konvergenz
Nachteil :
Immernoch relativ langsam, Ableitungen müssen entweder analytisch oder mit Differenzenquotient ermittelt werden.

4. Höhere Verfahren :

Es ist wirklich ziemlich verblüffend : Eine der besten Methoden bietet eine rein mathematische Betrachtung und zumindest jeder Abiturient wird sie schon eingesetzt haben! Ein Extremwert kann nämlich bei einer differenzierbaren (anschaulich gesprochen glatten) Funktion immer nur dort liegen, wo die erste Ableitung und damit die Steigung der Tangente gleich Null ist (waagerechte Tangente). Zur Erinnerung :

Die einfachste Kurve mit einem Minimum ist eine Parabel. Dort liegt es genau im Scheitelpunkt :

f(x) = ax² + bx + c (Parabelfunktion)
f'(x) = 2ax + b (erste Ableitung)
f''(x) = 2a (zweite Ableitung)
f'(xE) = 0 (Bedingung für Minimum)

= 2axE + b
=> Der Scheitel liegt bei xE = -b/2a

Das einzige Problem ist nun, daß a und b noch unbekannt sind. Doch hier genügt fast schon scharfes hinsehen, denn wenn man f''(x) berechnet hat, kann man a ermitteln und dann aus f'(x) schließlich auch b. Somit kann man dann auch den Scheitelpunkt ausrechnen. Es gilt :

xE = x - f'(x)/f''(x)
(Newton-Verfahren)

Das besondere an dieser Methode ist, daß man nun in einem einzigen Schritt unabhängig vom Startpunkt x das Minimum xE berechnen kann. Doch Vorsicht: Das klingt nun wirklich zu schön um war zu sein. Exakt gilt die Formel nur für Parabeln und außerdem ist es recht aufwendig, die zweite Ableitung zu ermitteln. Nichts desto weniger ist diese Methode, das sogenannte Newton-Verfahren, ein sehr gutes Verfahren und Vorbild für viele in unserem Jahrhundert entwickelte Methoden zur Optimierung. Bild 4 veranschaulicht den "Weg" der verschiedenen Optimierungsverfahren bei einer Funktion von zwei Variablen. Zu beachten ist dabei, daß der Vorteil des Newton-Verfahrens bei komplizierteren Problemen mit vielen Parametern eher noch ausgeprägter wird. Bei mehreren Variablen werden die Ableitungen in Matrix-Struktur dargestellt. Die Matrix (Vektor) mit den ersten Ableitungen heißt Gradient G(X) und die mit den zweiten heißt Hessische Matrix H(X).

BJT benutzt zur numerischen Optimierung ein verbessertes sogenantes Quasi-Newton-Verfahren. Dabei wird die zweite Ableitung f'' nicht direkt, sondern sozusagen Schritt für Schritt ermittelt. In der Praxis wird sogar H-1 = 1/f'' - das ist dann die inverse Hesse-Matrix - berechnet, was zusätzlich Rechenzeit spart. Zusätzlich werden Meßwertausreißer automatisch erkannt und heruntergewichtet um den Einfluß von Meßfehlern auf die Parameterermittelung zu verringern. Um sicher zu gehen, auch physikalisch sinnvolle Parametersätze zu erhalten, kann man für jeden optimierten Parameter Wertebereiche vorgeben (siehe Bild 2).

Durch die angepaßte Programmstruktur arbeitet BJT etwa 3 bis 50 mal schneller als SPICE2.G6. Außerdem können alle Simulationen - im Gegensatz zu den meisten anderen Programmen - wahlweise mit Berücksichtigung der arbeitspunktabhängigen Eigenerwärmung oder isotherm durchgeführt werden. Die Unterschiede können dabei gravierend sein. Temperatureffekte beeinflussen insbesondere die Extraktion der Parameter VAF (Ausgangskennlinienfeld), sowie BF, IKF und NK (Stromverstärkung B). In der Eingangs- und Transferkennlinie hat der Temperatureinfluß z.T. sogar rückläufige Kennlinien zur Folge (siehe Bild 3). Für die Parameterextraktion sind also isotherme Messungen unbedingt vorzuziehen, was bei Transistoren höherer Leistungen u.U. spezielle Meßeinrichtungen notwendig macht (z.B. schneller Impuls-Curve-Tracer für die DC-Kennlinien und Arbeitspunktstabilisator gegen thermische Drift für die S-Parametermessungen).

Schritt für Schritt

Da die Parameter nicht alle unabhängig von einander bestimmt werden können, muß man Schritt für Schritt in einer bestimmten Reihenfolge vorgehen. Grundsätzlich gilt, daß man zuerst die DC-Parameter bestimmen sollte, dann erst die Temperatur- und Kapazitätsparameter; denn wenn bereits der DC-Arbeitspunkt falsch eingestellt/modelliert ist, dann macht eine AC-Betrachtung (z.B. bei der fT-Kurve oder den Schaltzeiten) wenig Sinn. Die Bilder 5 bis 12 zeigen die Reihenfolge in der Vorgegangen wird. Sie beziehen sich hier auf den Transistor 2N2219, welcher anhand des ausführlichen Datenblatts gut modelliert werden kann. Die Pfeile in den Kurven deuten an, in welcher Richtung die Kurven wandern, wenn man den jeweiligen Parameter vergrößert.

Zuerst bestimmt man aus der Transferkennlinie, d.h. der Abhängigkeit des Kollektorstroms von der Basis-Emitter-Spannung IC=f(UBE), die beiden sehr wichtigen Parameter IS und NF (siehe unten), wobei NF die Steigung und IS die Lage der Kurve bestimmen (siehe Bild 4). Wichtig ist IC nicht zu hoch zu wählen, so daß andere Effekte (z.B. Eigenerwärmung, Hochstromeffekte und Bahnwiderstände) noch keinen allzu großen Einfluß haben. EG und XTI bestimmen hier die Temperaturabhängigkeit der Kennlinie. EG entspricht dem Bandabstand des Halbleitermaterials EGSILIZIUM=1,11eV, während man XTI physikalisch zu XTI=3 bestimmen kann. Diese beiden Parameter bestimmen den Temperaturkoeffizienten von UBE - die berühmten -2mV/°C (in der Praxis -1,5..2,2mV/°C) - welcher auch für die Temperaturdrift des Arbeitspunktes in vielen Schaltungen verantwortlich ist. NF liegt meist sehr nahe bei 1 (z.B. NF=1,01) und IS typischerweise bei etwa 1fA bis 1pA (bei integrierten Transistoren noch wesentlich kleiner). Um den Einfluß der Eigenerwärmung und den der Early-Spannung VAF klein zu halten, sollte UCE nicht zu hoch gewählt werden, andererseits muß man außerhalb der Sättigung liegen. Deshalb nimmt man meist UBC=0, d.h. UCE etwa 0,7V. Polt man UCE um (Inversbetrieb), kann man auch den Parameter NR (meistens nahe NF) bestimmen. Der Inversbetrieb ist in der Praxis sehr selten, so daß der Defaultwert NR=1 beibehalten werden kann, wenn hier keine Meßwerte vorliegen. Grundsätzlich ist allerdings anzumerken, daß die Inversparameter auch den Normalbetrieb beeinflussen, vor allem im Sättigungsfall, da dann die CB-Diode - wie im Inversbetrieb - leitet.

Aus der Stromverstärkung B=f(IC), immerhin die wichtigste Eigenschaft eines Transistors überhaupt, kann man dann BF, ISE, NE und IKF ermitteln (siehe Bild 5). Die Stromverstärkung nimmt bei hohen Temperaturen deutlich zu. XTB bestimmt hier die Temperaturabhängigkeit, wobei große Werte von XTB eine starke Temperaturabhängigkeit bewirken. Ein geeigeneter "Defaultwert" ist XTB=1. BF entspricht der idealen Stromverstärkung, die der reale Transistor aber praktisch nie ganz erreicht. Sinnvoll ist also als Startwert BF»1,2·Bmax. ISE (in der selben Größenordnung wie IS) und NE>NF bestimmen den B-Abfall bei kleinen Strömen und IKF»2·IC(Bmax) den bei hohen Strömen. Wenn die Kurve zu hohen Strömen nicht absinkt, ist meistens die Eigenerwärmung schuld. Die Messung ist dann unbrauchbar zur Extraktion von IKF! Im Inversbetrieb können ganz analog die Parameter BR (i.A. deutlich kleiner als BF, z.B. BR=BF/5), ISC (in der Größenordnung von IS), NC (NC>NR) und IKR (IKR meistens merklich kleiner als IKF) bestimmt werden.

Aus der Sättigungsspannung UCEsatt=f(IC) - wichtig beim Schaltbetrieb - kann man dann den Kollektorwiderstand RC bestimmen (siehe Bild 6). Bei großen Stömen gilt näherungweise UCEsat=IC·(RC+RE). Natürlich hat auch der Emitterwiderstand RE einen Einfluß, doch ist RE - durch die hohe Emitterdotierung - meist deutlich kleiner als RC (z.B. RE=RC/3..10, meistens unter 1W), so daß eine genaue Berechnung von RE hier schwierig ist. Besser ist es RE aus den S-Parametern zu bestimmen. Eventuell ist es auch sinnvoll NR leicht zu korrigieren, um die Kurve bei kleinen IC anzupassen.

Im Ausgangskennlinienfeld IC=f(UCE,IB) kann man die sogenannten Early-Spannung VAF - bzw. VAR für den Inversbetrieb (meistens deutlich kleiner als VAF) - ermitteln. Hier muß man ggfs. auch die Parameter für die Quasisättigung bestimmen (nicht im Standard-SPICE implementiert, aber z.B. in HSPICE und PSpice). Wenn VAF relativ klein ist (z.B. nur 20V statt typisch 50..100V) und gegenüber dem Startwert stark angepaßt werden mußte, dann sollte eventuell die B-Kurve noch einmal kurz optimiert werden. Eine genaue Modellierung des Ausgangskennlinienfeldes ist dann wichtig, wenn der Transistor als Stromquelle eingesetzt wird, denn der differentielle Ausgangswiderstand (die Steigung der Kurve) hängt stark von VAF ab.

Die beiden Kapazitäten CBE und CBC bestimmen das Transistorverhalten bei höheren Frequenzen. Relativ einfach ist die Bestimmung von CJC, MJC und VJC aus der Rückwirkungskapazität CBC=f(UCB) (siehe Bild 8). Ganz analog wird dann CJE, MJE und VJE aus der Eingangskapazität CBE=f(UEB) ermittelt. Bei integrierten Transistoren ist auch die Substrat-Kapazität mit CJS, MJS und VJS zu modellieren. Die MJ's liegen i. a. nahe 0,4 und die VJ's nahe 0,8V; sie bestimmen die Krümmung der Kurve. Es gilt :

CBC = CJC/(1+UBC/VJC)^MJC + C0

Um einen Startwert für CJC bzw. CJE zu erhalten, setzt man die anderen Parameter auf ihre typischen Werte und löst dann die Gleichung nach CJC bzw. CJE (typisch CJE=2·CJC=1p..1nF) auf. C0 ist die die parallelgeschaltete Gehäusekapazität und ist meistens kleiner als 1pF. Für die Basis-Emitter-Diode gilt die Formel genau analog. Zwar kann man durch Optimierung fast immer sehr leicht eine gute Anpassung bekommen, kritisch ist gerade hier jedoch, daß schon kleine Meßfehler einen großen Einfluß auf die extrahierten Parameter haben. Bei hohen Frequenzen spielt vor allem die Kapazitätsverteilung eine Rolle, so daß C0 (und das noch nicht berücksichtigte XCJC) noch einmal bei den S-Parametern angepaßt werden muß.

Die Transitfrequenz fT=f(IC) bestimmt die obere Frequenzgrenze des Einsatzbereiches des Transistors und ist eine weitere wichtige Kennlinie (siehe Bild 9). Sie dient zur Extraktion der Parameter TF, FC, XTF, ITF und VTF. Die Transitzeit TF ist die ideale Transitzeit und bestimmt das fT-Maximum. Es gilt näherungsweise TF=(0,8...1)/2pfTmax, so daß TF bei HF-Transistoren deutlich unter 1ns liegt, bei modernen HF-Technologien sogar unter 5ps. FC (typisch 0,1..0,9) bestimmt in geringem Maße den Abfall der Transitfrequenz bei kleinen Strömen. Die anderen Parameter bestimmen den Abfall von fT bei hohen Strömen und kleinen Kollektorspannungen. Die im SPICE-Modell verwendeten Formeln sind keineswegs der Physik letzter Schluß, so daß man gewisse Abweichungen hier leider akzeptieren muß. Leider fehlt hier die Temperaturabhängig völlig. Typische Werte sind XTF=1...1000, VTF=0,5..5V und ITF=1mA..10A»IKF.

Die Schaltzeiten TD=f(IC) aus der Sättigung heraus, wichtig natürlich bei Schalttransistoren, werden überwiegend durch den Parameter TR (merklich größer als TF) bestimmt, da beim gesättigten Transistor die Basis-Kollektor-Diode leitet. Auch die Parameter, welche die Transitfrequenz bestimmen, haben hier einen gewissen Einfluß, insbesondere bei hohen Strömen. Alternativ kann man TR auch aus einer fT-Messung im Inversbetrieb bestimmen. Dies ergibt wesentlich stabilere Werte, doch etwas auf Kosten der Genauigkeit im Vorwärtsbetrieb.

Eine gute Rauschmodellierung ist dann notwendig, wenn der Transistor in rauscharmen Vorstufen eingesetzt werden soll. Leider ist sie in SPICE nicht allzu genau. Anhand von Ir (Rauschstrom), Ur,tot(totale Rauschspannung) bzw. der Rauschzahl NF=f(f,UCEA,ICA) kann man die Parameter AF und KF ermitteln, welche das 1/f-Rauschen (Zusatzrauschen bei tiefen Frequenzen) erfassen. Für die Modellierung des weißen Rauschens - wichtig im mittleren Frequenzbereich - stehen im SPICE-Gummel-Poon-Modell keine Parameter zur Verfügung. Dieser Anteil ist vielmehr durch die anderen bisher bestimmten Parameter (BF, RB, RE usw.) automatisch festgelegt. Optimal ist es, wenn die Kurve Ir(f) im Datenblatt dokumentiert ist (siehe Bild 11). AF liegt nahe eins und KF meistens im Bereich von 10-15. Beide beeinflussen sich gegenseitig recht stark. In SPICE gibt es keinen Parameter, der die Knickfrequenz im Modell stromabhängig macht. In BJT wurde dazu der Parameter MF eingeführt.

In der Kürze liegt ....

Bis hier hin haben wir den Transistor schon ziemlich weit modelliert und zwar deutlich besser als man es von kommerziellen Bibliotheken erwarten kann. Auf einige Punkte wird deshalb hier weniger eingegangen, da dies den Umfang des Artikels sprengen würde. So ist z.B. leider der Verlauf des Basis-Bahnwiderstand Rbb'=f(IB) in den meisten Datenblättern nicht dokumentiert. Hier werden die Parameter RB, RBM (RBM<RB) und IRB bestimmt. Auch die Modellierung der dynamischen Eigenerwärmung für die die Wärmewiderstände und -Kapazitäten zu extrahieren ist eigentlich ein Kapitel für sich. Ähnliches gilt für die S-Parameter Sij(ICA,UCEA): Sie sind die einzige Möglichkeit um aus Datenblattangaben die Gehäuseelemente und die Parameter PTF (Zusatzphase bei der Transitfrequenz) und XCJC (Verteilung der Rückwirkungskapazität, liegt zwischen 0 und 1) zu bestimmen. Hier ist man auf effektive Optimierungsverfahren angewiesen und kann analytisch kaum Aussagen treffen.

Bisher haben wir noch gar nicht darüber gesprochen, was man tun sollte, wenn eine Kennlinie im Datenblatt leider nicht angegeben wurde. Nun am besten benutzen Sie dann die Startwerte, auf keinen Fall die SPICE-Default-Werte, da diese sich auf einen völlig idealen Transistor beziehen. Man sollte sich allerdings immer vor Augen halten, das ein Modell nur das wiedergibt, was man vorher reingesteckt hat.

Model GP_2N2905 npn

Parameter Name Typ. Wert
IS=0.175p Transferstrom

1f..1pA

BF=203.07 Ideale Stromverstärkung

20..1000

NF=1.075 Koeffizient für IS

0,95..1,1

VAF=105.0 Vorwärts-Early-Spannung

10..200V

IKF=0.70 Vorwärts-Knickstrom

10m..10A

ISE=8.000f BE-Leckstrom

1f..10p

NE=1.206 Koeffizient für ISE

1...3

BR=20.0 Ideale Stromverstärkung*

5..200

NR=1.030 Koeffizient für IS*

0,95..1,1

VAR=35.0 Rückwärts-Early-Spannung*

1..30V

IKR=26.0m Rückwärts-Knickstrom*

1m..1A

ISC=75.0f BC-Leckstrom*

1f..10p

NC=1.200 Koeffizient für ISC*

1...3

RB=8.85 Basisbahnwiderstand

0,1..100W

IRB=28.0u Knickstrom für RB

10µ..100mA

RBM=400m Min. Basiswiderstand

0,01..50W

RE=0.26 Emitterwiderstand

0,01..10W

RC=0.9 Kollektorwiderstand

0,02..20W

CJE=28.0p BE-Kapazität

0,5p..2nF

VJE=0.600 BE-Diffusionskapazität

0,5..1V

MJE=0.350 Exponent für CJE

0,3..0,5

TF=0.270n Vorwärts-Transitzeit

5p..50ns

XTF=1.650k Koeffizient für TF

0..10k

VTF=1.10 Spannungs-Koeffizient. für TF

0,2..10V

ITF=7.00 Strom-Koeffizient für TF

10m..10A

PTF=1.50 Zusatzphase für TF

0..20°

CJC=10.56p BC-Kapazität

0,2p..1nF

VJC=0.664 BC-Diffusionskapazität

0,4..0,9V

MJC=0.413 Exponent für CJC

0,3..0,5

XCJC=0.88 Verteilung von CJC

0...1

TR=18.5n Rückwärts-Transitzeit*

50p..500ns

XTB=1.00 Temperaturkoeff. für BF

0,2..3

EG=1.110 Bandabstand

1,11eV für Si

XTI=4.50 Temperaturkoeff. für IS

1..5

KF=0.100f 1/f-Rauschkoeffizient

1f..1p

AF=1.00 IB-1/f-Rauschkoeffizient

0,5..2

FC=0.70 Begrenzung für CJE/CJC

0...0,9

* =Inversparameter

.Subckt 2N2905_CQ 1 2 3
Q 4 5 6 GP_2N2905 1.000
LC 1 4 5.762n
LB 2 5 3.851n
LE 3 6 5.835n
CGCE 1 3 5.029p
CGBE 2 3 2.098p
CGBC 1 2 0.425p
.Ends

Bild 1:
SPICE-Subcircuit zur Modellierung von Gehäuseeffekten

Optimierung in BJT

Bild 2 :
Optimierungsmenue für die nichtlineare Optimierung der Parameter BF, IKF, NE, ISE und NK (nicht Standard-SPICE) anhand der statischen Stromverstärkung B (hier beim Transistor 2N2219A)

Gummel-Plot mit Eigenerwärmung

Bild 3 :
Einfluß der Eigenerwärmung (x x x isotherm, --- mit Eigenerwärmung) in der Eingangs- und Transferkennlinie

Minimierung einer quadratischen Funktion

Bild 4 :
Eine zweidimensionale Funktion kann man durch Höhenlinien graphisch gut darstellen. In diesem Fall liegt das Minimum in einem "schräg gestellten Tal", was anschaulich bedeutet, das sich die Parameter - wie im typischen Fall der Parameterextraktion - gegenseitig beeinlussen. * kennzeichnet die Suchrichtung der Newton-Methode, ** die des Gradienten-Verfahrens und ----- den Weg des Koordinatensuchverfahrens.

Parameterextraktion im Blick

1.Schritt :

Eingangs- und Transfer-Kennlinien

Bild 5 :
Die Eingangs- und Transferkennlinie als Ausgangsbasis für die Parameterextraktion. NF und IS beeinflussen sich stark gegenseitig!

B-Kurve

Bild 6 :
Einfluß der Modellparameter auf die Stromverstärkung B(IC,T). Hier beeinflussen sich insbesondere NE und ISE stark gegenseitig.

2. Schritt :

Sättigungsspannung

Bild 7 :
Die Kollektor-Sättigungsspannung UCEsat als Funktion von IC.

3.Schritt :

Ausgangskennlinienfeld

Bild 8 :
Einfluß der Early-Spannung VAF auf das Ausgangskennlinienfeld. Für die Modellierung der Quasisättigung benutzt PSpice die Parameter RCO, GAMMA und VO.

Rückwirkungskapazität

Bild 9 :
Verlauf der Rückwirkungskapazität CBC(UBC). Kurve CBE(UEB) sieht ähnlich aus, kann aber wegen der niedrigeren Durchbruchspannung nur bis typisch 2 bis 12V gemessen werden.

4. Schritt :

Transitfrequenz
Bild 10 :
Einfluß der Modellparameter auf die Transitfrequenz fT(IC,UCE). VTF bestimmt den Abstand der Kennlinien bei verschiedenen Kollektorspannungen.

5. Schritt :

Schaltzeit

Bild 11 :
Typischer Verlauf der Schaltzeit TD=f(IC). Leider sind hier keine Datenblattangaben vorhanden.

Rauschstromdichte

Bild 12 :
Verlauf des spektralen Eingangsrauschstromsdichte Ir(f,IC). AF bestimmt die Verschiebung der Knickfrequenz bei unterschiedlichen Strömen und KF die Knickfrequenz selbst.

Das SPICE-Transistormodell

Zwar gibt es viele Transistormodelle, aber bei Bipolartransistoren hat sich das Gummel-Poon-Modell (benannt nach den Entwicklern des Modells), wenn auch mit einigen Verbesserungen, fast 100%ig durchgesetzt. Ein Transistor besteht praktisch aus zwei Dioden und einer gesteuerten Quelle (denken Sie an die Stromverstärkung), was sich auch im Ersatzschaltbild wiederspiegelt.

Gummel-Poon-Modell

Der Strom durch die Dioden hängt exponentiell von der angelegten Spannung ab. Zusätzlich zum Gleichstrom hat eine solche Diode auch noch eine Sperrschicht- und eine Diffusionskapazität. Die Leistung der Herren Gummel und Poon liegt nun darin, daß sie für diese Größen einfache aber meistens genügend genaue Gleichungen angegeben haben und das mit einer physikalischen Theorie im Hintergrund. Hier nun die wesentlichen Gleichungen, wie sie in praktisch jedem Simulator (SPICE, PSpice, BJT etc.) eingebaut sind (Parameter als reine Großbuchstaben, ohne Temperaturparameter) :

Gleichströme (ohne Quasisättigung und PSpice-Erweiterungen) :

Basis-Strom :
IB = IBE1/BF + IBE2 + IBC1/BR + IBC2

Kollektor-Strom :
IC = IBE1/QB - IBC1/QB - IBC1/BR - IBC2

mit

IBE1 = IS·[e^UBE/(NF·UT)-1] (Vorwärts-Diffusionsstrom)
IBE2 = ISE·[e^UBE/(NE·UT)-1] (Vorwärts-Leckstrom)
IBC1 = IS·[e^UBC/(NR·UT)-1] (Rückwärts-Diffusionsstrom)
IBC2 = ISC·[e^UBC/(NC·UT)-1] (Rückwärts-Leckstrom)

und
QB = 1/2·Q1·(1+Ö(1+4Q2))
Q1 = 1/(1-UBC/VAF-UBE/VAR)
Q2 = IBE1/IKF + IBC1/IKR

Kapazitäten (ohne XCJC und FC) :

BE-Kapazität :
CBE = CDBE + CJBE
mit

CDBE = Gm·TF·(1+XTF·(3x2-2x3)·e^UBC/(1,44·VTF)) (Diffusionskapazität)
CJBE = CJE/(1-UBE/VJE)^MJE (Sperrschichtkapazität)
Gm = dIBE1/dUBE (Vorwärtssteilheit)
x = IBE1/(IBE1+ITF)  

BC-Kapazität :
CBC = CDBC + CJBC
mit

CDBC = Gmr·TR (Diffusionskapazität)
CJBC = CJC/(1-UBC/VJC)^MJC (Sperrschichtkapazität)
Gmr = dIBC1/dUBC (Rückwärtssteilheit)
 

 

Nach oben - Zur Homepage - Zu BJT

Copyright © 2000 Stephan Weber. Alle Rechte vorbehalten.
Stand: Mai 20, 2000.