I decided to spend a little hobbyist time and see what I could make of the DC parts of the EM model for the BJT. This basically means the EM1 plus the Early voltage of the EM3 model, as I gather it.
I started out with the very simple case of a 2N3906 BJT and attempted to make predictions about a clearly saturated case to start. The
2N3906 is modeled with the following key values:Bf = 300 Br = 4 Is = 1E-14 Vaf = 100
In the saturated case I tried, I presumed a current source arrangement like this:
--> FIGURE 1 : 1mA : : | : | : |/c : .1mA --| : |>e : | : --- : ///
A basic beta=10 situation.
I decided to use the hybrid-PI form of EM1. After some algebraic manipulations, I arrived at the following equations:
Ie + Ic * (1 + 1/Bf) Iec = --------------------------- 1 - (1 + 1/Bf) * (1 + 1/Br)
Ic + Ie * (1 + 1/Br) Icc = --------------------------- 1 - (1 + 1/Bf) * (1 + 1/Br)
Ib = Icc/Bf + Iec/Br
Vbc = (kT/q) * ln( 1 + Iec/Is )
Vbe = (kT/q) * ln( 1 + Icc/Is )
where Ie is the actual emitter current (all currents measured as positive-in, negative out), Ic is the actual collector current, Ib is the actual base current, Iec and Icc are model currents, and Vbc and Vbe are probably obvious and I can compute Vce = Vbe - Vbc.
From the inputs from my above example of Ic = 1mA, Ie = 1.1mA, I get:
Iec = 3.8033e-4 Icc = 1.4754e-3 Ib = 1e-4 (as expected) Vbc = 630.115mV Vbe = 665.179mV Vce = 35.064mV
This turns out to match the spice modeling of Vce and Vbe pretty well. So that part is okay.
When I turned to examine the normal region, though, as opposed to the saturated region, I run immediately into a model problem. Let me illustrate:
--> FIGURE 2 : 1mA : : | : | : |/c : 3uA --| : |>e : | : --- : ///
In this case, I already know that Bf is about 300 and so this is not too far from achievable. But my task is to now predict the voltage at the collector.
However, the problem is that in the normal region I expect that the current contributions from the reverse-biased Vbc to be negligible and the base current should be independent of Vce and only depending on Ic. All this suggests to me that the above equations are going to run into trouble. And they do. Let's see:
From the inputs of Ic = 1mA, Ie = 1.003mA, I get:
Iec = -1.3115e-6 Icc = 9.9836e-4 Ib = 3e-6 (as expected) Vbc = 483.634mV + j*81.257mV Vbe = 655.076mV
Ah. A complex number for Vbc. Not so good. (Note that the model Iec value is negative and substantially larger than Is.)
This makes some sense. The expectation is that Ib = Ic/Bf and this is independent of Vce, in the simple case without Vaf figured in. And so there is no particular Vce that then suggests itself. Any would work. And in the above case, Ib < Ic/Bf by some small factor. Not equal.
Which brings me to fold in EM3's Vaf parameter. Since now a once-flat curve will have a tilt to it, I can simply follow out along the Ib line to find the appropriate Vce needed to hit the Ic I have.
But I needed to figure out the key elements of the triangle formed with Vaf. For this, I decided to look at this case:
--> FIGURE 3 : Vx : : | : | : |/c : Vx ---| : |>e : | : --- : ///
Here, I'm basically taking Vce = Vbe, or Vbc=0. In this case, the value of Ic can be computed from Vbe directly, and Ib set to 1/Bf of that figure. This provides me with an Ic(Vbc=0) benchmark for the triangle. I can then extrapolate:
(Vaf + Vbc) Icc -------------------- = ------- (Vaf + Vbe_computed) Ib * Bf
What I'm going is ratioing the modeled Icc value against the Ib value multiplied by the expected forward beta, Bf. That ratio, if larger than one, should be reflected by pushing Vbc higher than Vbe, to compensate. I chose the Vbe here to be the one I computed using the modeled Icc, arbitrarily setting Vbc=0, and assuming that then the case would be that Icc=Ib*Bf, so that if Icc is actually higher, then Vbc must be >0.
From this, I solved for Vbc as:
Icc * ( Vaf - Vbe ) Vbc = ------------------- - Vaf Ib * Bf
Here, I computed that Vbc = 11.656V, which is close to the modeled value in spice and using the fuller spice model for that 2N3906.
So I think I'm on the right track here. But I'm interested in specific corrections to my concepts in the basic EM DC model of the BJT.
Jon