Вы находитесь на странице: 1из 11

Semiconductor Diode Modeling

Jon Kirwan
Electronics Hobbyist∗
(Dated: October 17, 2020)

Abstract
xx I don’t even know why some ideas about semiconductor diodes are taught. A student rightly
imagines that everything being taught is important, or useful, or else leading to something that is.
So they try to retain it. But it just adds confusion, wastes time, and otherwise gets in the way.
The so-called ideal diode model where it has a magical zero volts across it when forward-biased
is an example. This model is exposed for the farce it is when one works out that such diodes can’t
dissipate. Full stop. They cannot ever heat up. Not ever. No one needs to even waste a moment
learning this because they will never actually use this model. Not ever.
Oh. You argue: “Well, it may help them analyze some circuits.” No. It won’t. By the time they
need to analyze any circuits, they will already know more than enough to figure out which end of
a diode is the anode and will know forward-biased from reverse-biased without resorting to such
childish cartoons.
The whole enterprise is a waste. It’s demeaning, besides. Like talking in cartoons to someone,
as though they are a young child.
Expect better and get better.

1
I. LARGE AND SMALL SCALE

Triangles and squares are easy. They are made out of simple, straight lines. But curvy
things are hard to work with. They are rarely ever the same twice and wander about. But
if you zoom into a curvy drawing far enough, turning up the microscope power towards its
higher settings, you’ll find just one straight, simple line remaining. This is the power of
ignoring the big picture and just focusing on the small stuff. Everything looks easy again.
Focusing on the tiny bits is what makes it possible to grapple with and actually solve a
lot of problems that otherwise might never be solved. And it’s also a very powerful tool in
the hands of electronics designers. Divide and conquer, they say. And this is the small-scale
viewpoint.
But after all that dividing up, one does need to regain the larger picture by adding all
those bits back up, again. This is often a lot harder to do (so you hope someone else did it
for you) but from it you get the large-scale viewpoint.

So there are two important modes of thinking about and talking about circuit elements
(or subsystems of elements or circuits, generally.) There is the large-signal view and the
small-signal view. In almost every case, the large-signal view is non-linear, curvy, and too
complicated to analyze exactly. But the small-signal view is just made up of combinations
of straight lines. Maybe a lot of them. But at least they are all nice and straight. And the
wonderful thing is that when you deal only with straight lines, no matter how many there
are, it can be analyzed exactly.

To know any circuit element (or subsystems of them), you need to master both ways of
thinking and talking about them.
And this is no different for the semiconductor diode.

Perhaps the better way to make this case for the different scales of difficulties presented
by realistic large-scale non-linear behavior of electronic components is to just dive straight
into a model for exactly that – a realistic, large-signal model for the semiconductor diode.

2
II. LARGE-SIGNAL SEMICONDUCTOR DIODE MODEL

The physics of gas discharge (see Fig. 1 below) requires at least two spatial dimensions
and one time dimension of partial derivative equations, coupled to at least six dimensions
of ordinary differential equations in order to apprehend well. And that doesn’t even begin
to include radiation transport and atomic interactions.

(a) NE-2 (b) Plasma ball

FIG. 1: Two examples of plasma discharge.

A still simpler version might use global rate equations that assume spatially averaged
densities for the charged particles and neutral atoms and molecules, but then it still needs
to deal with excited and metastable states1 .
The point here is that even apparently simple devices may hide incredibly complex be-
haviors when you choose to look deeply enough. The universe can be complicated and the
semiconductor diode plays its own role in that.

Luckily, semiconductor researchers have analyzed most of the complicated bits and have
provided us with what can be called a pretty good model that covers most diodes in most
circumstances over a large range of operating conditions. It’s called the Shockley diode
model :

 VD 
η VT
ID = ISATT · e −1 (1)

Note that this ignores the bulk impedance (normal resistive elements) that is also present
in every realistic semiconductor diode. Any current through the diode must also pass through

3
this bulk impedance and that will generate a (usually small) voltage drop.
So, we need to modify the model a little bit by subtracting the voltage drop across the
bulk impedance before computing the resulting diode current:

 VD −ID ·RS 
η VT
ID = ISATT · e −1 (2)

From this, we see that there are three important semiconductor diode model parameters:
ISATT , η, and RS . With those, the large-signal behavior of most diodes is well-covered.
That’s it. Just three of them.

Now, there’s still a problem with this equation – the diode current appears in two places.

That means we need to know the diode current before we can calculate the diode current.
Which seems a little silly.
This is a good point in time to show why large-signal models are a serious pain and why
every engineer either focuses on the small-signal model (which is like a simple line and a lot
easier to use) or else finds another way (such as taking several iterative numerical steps to
get close enough.)

Let’s solve this equation for the diode current. It may be of some small use to propose a
η VT
new term, IT = RS
, to help reduce clutter. Just keep it’s definition in mind:

 
VD I
!
− D
η VT IT
ID = ISATT · e −1

 
VD I
− D
η VT IT
ID + ISATT = ISATT · e

ID VD
IT η VT
(ID + ISATT ) · e = ISATT · e

4
D I D V
ID + ISATT I ISATT ηV
·e T = ·e T
IT IT

I ISAT V ISAT
D T D T
ID + ISATT I IT ISATT ηV IT
·e T ·e = ·e T ·e
IT IT

" #
ID +ISAT VD ISAT
T − T
ID + ISATT IT ISATT η VT IT
·e = ·e
IT IT

" #
ISAT
 VD

ID +ISAT ! T
T −
ID + ISATT IT ISATT η VT IT
LambertW ·e = LambertW  ·e 
IT IT

" #
ISAT
 VD

− T
ID + ISATT ISATT η VT IT
= LambertW  ·e 
IT IT

 "
ISAT
# 
VD T

ISATT η VT IT
ID = IT · LambertW  ·e  − ISATT (3)
IT

As you can see, developing a closed equation for the diode current is a bit of a pain. It
requires mathematical skills that are almost never taught in any electronics courses. At
least, not for the first four years of school.
And, probably not ever.

Fortunately, it’s not so bad solving for the diode voltage if you know its current:

 
ID
VD = ID RS + η VT ln 1 + (4)
ISATT

5
Keep in mind that this is what happens when you move away from simple lines and try
to deal firmly with non-linear situations.
Curvy stuff, in short.
Curves are hard. Lines are easy.

This is one of the simplest possible curvy situations. It’s just some resistance and a diode
junction. That’s all.
And it won’t get any easier than that. Likely, it gets a lot more complicated if you just
add one or two more components to the schematic.

This is why engineers seek easier ways to think about components in circuits.

It’s also why engineers work with simpler, linear small-signal models whenever possible.

To work with those simpler small-signal models, it’s still necessary to work out the circuit’s
DC operating point.
This is because the linearity assumed by small-signal models only works right when you
know where you are along the large-signal’s curvy behavior. So the large-scale, non-linear
models are still required and they never really go completely away.
However, they can be broken down so that they can be used in small, iterative steps and
adding up the results (numerical integration) in order to simplify the process of getting to
the right place. These techniques are used by Spice programs, which can help electronics
engineers find mistakes in the approximations they originally used in conceiving and creating
a new design.

Oh, almost forgot. Except for the bulk impedance indicated by RS , I haven’t discussed
the meaning of the other parameters and values used in the diode model.

And you thought you might have already gotten through the worst of it!

6
III. LARGE-SIGNAL DIODE MODEL PARAMETER DISCUSSION

A. The saturation current, ISATT

ISATT is typically called the saturation current and represents the y-axis intercept that
you’d find if you prepared a logarithm plot of the diode current vs the diode voltage and
extrapolated measured data back to the y-axis.
Let’s have a quick look at that:
add chart here
(The Shockley diode equation includes a −1 term so that the diode current goes to
zero when the diode voltage also goes to zero.) This value is usually very small. For
semiconductor diodes it is likely to be in the range of nanoamps, though it can be orders of
magnitude higher or lower than that.
A physical interpretation of ISATT is that a PN junction saturation current consists of
two different terms – one each from analyzing the neutral regions. For a constant-doping,
short-base diode, the saturation current (ignoring temperature) is:

q · A · Dp · pno q · A · Dn · npo
ISAT = + , where WB  LN (5)
Lp WB

But the above is actually highly temperature-dependent, with higher temperatures im-
plying larger values for ISATT . Let’s look at a typical temperature-dependent equation for
ISATT :
" 3 #
Eg ·
T k( 1 −1
Tnom T )
ISATT = ISATTnom · e (6)
Tnom

Eg is the effective energy gap (in eV) and k is Boltzmann’s constant (in appropriate units.)
Tnom is the temperature at which the equation was calibrated, of course, and ISATTnom is the
extrapolated saturation current at that calibration temperature.
This formula heavily depends upon fundamental thermodynamics theory and the Boltz-
mann factor, which you can easily look up and is above represented by the factor:
Eg 1 1
e k ·( Tnom − T ) . It’s based on the simple ratio of the numbers of states at different tem-
peratures; really no more complex than fair dice used in elementary probability theory.

7
Perhaps the best introduction to the *Boltzmann factor* is C. Kittel, ”Thermal Physics”,
John Wiley & Sons, 1969, chapters 1-6 in particular.
The power of 3 used in the equation above is actually a problem, because of the temper-
kT
ature dependence of diffusivity, µ .
q T
And even that, itself, ignores the bandgap narrowing
caused by heavy doping. In practice, the power of 3 is itself turned into a model parameter.
The power of 3 is approximate and is sometimes treated as an ”adjustable” parameter.
But close.

B. The emission coefficient, η

η is the emission coefficient (sometimes called the ideality factor.) Nominally, η = 1.


And this is very often true for semiconductor bipolar transistors (BJTs.) But it is usually
not true for diodes. It is likely to be closer to η = 2 for small-signal diodes and it can be
η ≥ 5 for LEDs, for example. This value affects the voltage across the semiconductor diode –
larger values of η imply larger voltages across the semiconductor diode for the same current.

C. The thermal voltage, VT

kT
VT = q
is the thermal voltage, where q is the charge of an electron, k is Boltzmann’s
constant, and T is the temperature (usually given in Kelvin.) At room temperatures, VT ≈
26 mV.
This value also affects the voltage across the semiconductor diode and is, by definition,
temperature-dependent. But its effect is completely opposed and overwhelmed by the impact
of temperature on ISATT .

8
IV. ESTIMATING LARGE-SIGNAL DIODE MODEL PARAMETERS

One might expect that it is some kind of rocket-science to measure the Shockley diode
equation’s large-signal model parameters. But it’s actually pretty easy to do. All that’s
needed is three measurements using a current source and a voltmeter. Just set the current
source to three different values (they can be similar and should be around the current values
recommended on the datasheet for the device.) Then hook up the semiconductor diode and
measure the voltage across the diode. Do that three times, with three different currents,
and you have all that you need.
The following example is written using Python and sympy under the Sage math tool (all
free) and illustrates how easy this is:
def diode():
print( "This program uses 3 diode measurements to extract parameters." )
print( "You will need to have taken these measurements beforehand." )
print( "Enter each point as [ <diode current>, <diode voltage> ]." )
print( "" )
TA= int( raw_input( "Enter the ambient temperature in Celsius (default is 27 C): " ) or "27" )
print( "" )
VT= 8.61733034e-5 * ( 273.15 + TA )
POINTS= []
for i in range(3):
print( "Enter point " + str(i) + ": " )
POINT= input( )
POINTS.append( { vd: POINT[1], id: POINT[0] } )
vd, id, N, ISAT, RS= symbols( "vd id N ISAT RS" )
EQS= []
for i in range(3):
EQS.append( Eq( POINTS[i][vd], RS*POINTS[i][id] + N*VT*ln(POINTS[i][id]) - N*VT*ISAT ) )
ANS= solve( EQS, [ RS, N, ISAT ] )
print( "RS = " + str(ANS[0]) )
print( "N = " + str(ANS[1]) )
print( "ISAT = " + str(exp(ANS[2])) )

The above code generates and then solves three equations in three unknowns. And it will
provide a very accurate set of model parameters for any given diode.
This develops from equation (4) above, if you simply exclude the 1+ term within the
ID
logarithm. This is a reasonable simplification since ISATT
is always very much larger than
one for any practical situation. So the resulting three equations are just:

ID1 RS + η VT ln (ID1 ) + η VT ln (ISATT ) − VD1 = 0 V

ID2 RS + η VT ln (ID2 ) + η VT ln (ISATT ) − VD2 = 0 V

ID3 RS + η VT ln (ID3 ) + η VT ln (ISATT ) − VD3 = 0 V

9
And that is sufficient to find ISATT , η, and RS . Nothing more is needed.

For an example run of the above code using LTspice’s model for the 1N4148 diode, see
below:

This program uses 3 diode measurements to extract parameters.


You will need to have taken these measurements beforehand.
Enter each point as [ <diode current>, <diode voltage> ].

Enter the ambient temperature in Celsius (default is 27 C):

Enter point 0: [.2,0.93786758]


Enter point 1: [.25,0.97637939]
Enter point 2: [.3,1.0130414]
RS = 0.568006521576922
N = 1.75194095682326
ISAT = 2.51846295219797e-9

Looking into the model used by LTspice, we find:

.model 1N4148 D(Is=2.52n Rs=.568 N=1.752 Cjo=4p M=.4 tt=20n Iave=200m Vpk=75)

Simple inspection finds these values to match up quite well.


Of course, they should in this case. But the point is that the technique works well and
is all that’s needed to develop a very sophisticated model of the semiconductor diode –
despite the apparent complexity of its non-linear large-signal Shockley diode equation. It’s
not complicated to use in practice and it is very, very accurate over a wide range of diode
currents spanning many magnitudes.

10
V. SMALL-SIGNAL DIODE MODEL

The small-signal

∗ Electronic address: jonk@infinitefactors.org


1 There is a modest, intermediate text by Lieberman and Lichtenberg called “Principles of Plasma
Discharges and Materials Processing.” (From John Wiley and Sons.) It has a good treatment
on the fundamentals of discharges and those simplified global rate models I mentioned, plus
something on collisions and DC and RF discharges.

11

Вам также может понравиться