# NPN Bipolar Transistor

NPN bipolar transistor using enhanced Ebers-Moll equations

**Libraries:**

Simscape /
Electrical /
Semiconductors & Converters

## Description

The NPN Bipolar Transistor block uses a variant of the Ebers-Moll equations to represent an NPN bipolar transistor. The Ebers-Moll equations are based on two exponential diodes plus two current-controlled current sources. The NPN Bipolar Transistor block provides the following enhancements to that model:

Early voltage effect

Optional base, collector, and emitter resistances.

Optional fixed base-emitter and base-collector capacitances.

The collector and base currents are:

$$\begin{array}{l}{I}_{C}=IS\left[\left({e}^{q{V}_{BE}/(k{T}_{m1})}-{e}^{q{V}_{BC}/(k{T}_{m1})}\right)\left(1-\frac{{V}_{BC}}{{V}_{A}}\right)-\frac{1}{{\beta}_{R}}\left({e}^{q{V}_{BC}/(k{T}_{m1})}-1\right)\right]\\ {I}_{B}=IS\left[\frac{1}{{\beta}_{F}}\left({e}^{q{V}_{BE}/(k{T}_{m1})}-1\right)+\frac{1}{{\beta}_{R}}\left({e}^{q{V}_{BC}/(k{T}_{m1})}-1\right)\right]\end{array}$$

Where:

*I*and_{B}*I*are base and collector currents, defined as positive into the device._{C}*IS*is the saturation current.*V*is the base-emitter voltage and_{BE}*V*is the base-collector voltage._{BC}*β*is the ideal maximum forward current gain BF_{F}*β*is the ideal maximum reverse current gain BR_{R}*V*is the forward Early voltage VAF_{A}*q*is the elementary charge on an electron (1.602176e–19 Coulombs).*k*is the Boltzmann constant (1.3806503e–23 J/K).*T*_{m1}is the transistor temperature, as defined by the**Measurement temperature**parameter value.

You can specify the transistor behavior using datasheet parameters that the block uses to calculate the parameters for these equations, or you can specify the equation parameters directly.

If *q**V _{BC}* /
(

*k*

*T*) > 40 or

_{m1}*q*

*V*/ (

_{BE}*k*

*T*) > 40, the corresponding exponential terms in the equations are replaced with (

_{m1}*q*

*V*/ (

_{BC}*k*

*T*) – 39)

_{m1}*e*

^{40}and (

*q*

*V*/ (

_{BE}*k*

*T*) – 39)

_{m1}*e*

^{40}, respectively. This helps prevent numerical issues associated with the steep gradient of the exponential function

*e*

^{x}at large values of

*x*. Similarly, if

*q*

*V*/ (

_{BC}*k*

*T*) < –39 or

_{m1}*q*

*V*/ (

_{BE}*k*

*T*) < –39 then the corresponding exponential terms in the equations are replaced with (

_{m1}*q*

*V*/ (

_{BC}*k*

*T*) + 40)

_{m1}*e*

^{–39}and (

*q*

*V*/ (

_{BE}*k*

*T*) + 40)

_{m1}*e*

^{–39}, respectively.

Optionally, you can specify fixed capacitances across the base-emitter and base-collector junctions. You can also specify base, collector, and emitter connection resistances.

### Modeling Capacitance and Charge

You model capacitance and charge using the **Base-collector junction
capacitance** and **Base-emitter junction
capacitance** parameters. You can also represent reverse recovery
charge and dynamics using the **Total forward transit time** and
**Total reverse transit time** parameters. This equation
defines the base-collector charge,

$${Q}_{\text{BC}}={t}_{\text{R}}{I}_{\text{CE}}+{C}_{\text{BC}}{V}_{\text{BC}},$$

where:

*t*_{R}is the**Total reverse transit time**parameter value.*I*_{CE}is the collector-emitter current.*C*_{BC}is the**Base-collector junction capacitance**parameter value.*V*_{BC}is the base-collector voltage.

This equation defines the base-collector charge and capacitor current,

$${I}_{{Q}_{\text{BC}}}=\frac{d{Q}_{\text{BC}}}{dt}.$$

This equation defines base-emitter charge,

$${Q}_{\text{BE}}={t}_{\text{F}}{I}_{\text{C}}+{C}_{\text{BE}}{V}_{\text{BE}},$$

where:

*t*_{F}is the**Total forward transit time**parameter value.*I*_{C}is the collector current.*C*_{BE}is the**Base-emitter junction capacitance**parameter value.*V*_{BE}is the base-emitter voltage.

This equation defines the base-emitter charge and capacitor current,

$${I}_{{Q}_{\text{BE}}}=\frac{d{Q}_{\text{BE}}}{dt}.$$

### Modeling Temperature Dependence

The default behavior is that dependence on temperature is not modeled, and the device is simulated at the temperature for which you provide block parameters. You can optionally include modeling the dependence of the transistor static behavior on temperature during simulation. Temperature dependence of the junction capacitances is not modeled, this being a much smaller effect.

When including temperature dependence, the transistor defining equations remain
the same. The measurement temperature value,
*T _{m1}*, is replaced with the simulation
temperature,

*T*. The saturation current,

_{s}*IS*, and the forward and reverse gains (

*β*and

_{F}*β*) become a function of temperature according to the following equations:

_{R}$$I{S}_{Ts}=I{S}_{Tm1}\cdot {({T}_{s}/{T}_{m1})}^{XTI}\cdot \mathrm{exp}\left(-\frac{EG}{k{T}_{s}}(1-{T}_{s}/{T}_{m1})\right)$$

$${\beta}_{Fs}={\beta}_{Fm1}{\left(\frac{{T}_{s}}{{T}_{m1}}\right)}^{XTB}$$

$${\beta}_{Rs}={\beta}_{Rm1}{\left(\frac{{T}_{s}}{{T}_{m1}}\right)}^{XTB}$$

where:

*T*is the temperature at which the transistor parameters are specified, as defined by the_{m1}**Measurement temperature**parameter value.*T*is the simulation temperature._{s}*IS*is the saturation current at the measurement temperature._{Tm1}*IS*is the saturation current at the simulation temperature. This is the saturation current value used in the bipolar transistor equations when temperature dependence is modeled._{Ts}*β*and_{Fm1}*β*are the forward and reverse gains at the measurement temperature._{Rm1}*β*and_{Fs}*β*are the forward and reverse gains at the simulation temperature. These are the values used in the bipolar transistor equations when temperature dependence is modeled._{Rs}*EG*is the energy gap for the semiconductor type measured in Joules. The value for silicon is usually taken to be 1.11 eV, where 1 eV is 1.602e-19 Joules.*XTI*is the saturation current temperature exponent.*XTB*is the forward and reverse gain temperature coefficient.*k*is the Boltzmann constant (1.3806503e–23 J/K).

Appropriate values for *XTI* and *EG* depend on
the type of transistor and the semiconductor material used. In practice, the values
of *XTI*, *EG*, and *XTB* need
tuning to model the exact behavior of a particular transistor. Some manufacturers
quote these tuned values in a SPICE Netlist, and you can read off the appropriate
values. Otherwise you can determine values for *XTI*,
*EG*, and *XTB* by using a datasheet-defined
data at a higher temperature *T _{m2}*. The
block provides a datasheet parameterization option for this.

You can also tune the values of *XTI*, *EG*, and
*XTB* yourself, to match lab data for your particular device.
You can use Simulink^{®}
Design Optimization™ software to help tune the values.

### Thermal Port

You can expose the thermal port to model the effects of generated heat and device
temperature. To expose the thermal port, set the **Modeling option**
parameter to either:

`No thermal port`

— The block does not contain a thermal port and does not simulate heat generation in the device.`Show thermal port`

— The block contains a thermal port that allows you to model the heat that conduction losses generate. For numerical efficiency, the thermal state does not affect the electrical behavior of the block.

For more information on using thermal ports and on the **Thermal Port**
parameters, see Simulating Thermal Effects in Semiconductors.

### Variables

To set the priority and initial target values for the block variables before simulation,
use the **Initial Targets** section in the block dialog box or Property
Inspector. For more information, see Set Priority and Initial Target for Block Variables.

**Note**

To satisfy all your initial targets, do not set the priority to
`High`

for more initial targets than the total number of
differential variables in the block equations. If you set the **Base-collector
junction capacitance** or **Total reverse transit time**
parameter to a nonzero value and set the **Base-emitter junction
capacitance** or **Total forward transit time** parameter to a
nonzero value, the number of differential variables in the block equations is two. Choose
one of these options:

To set the terminal current initial condition, in the

**Initial Targets**section, set the priority of only the**Base current**and**Collector current**variables to`High`

.To set the terminal voltage initial condition, in the

**Initial Targets**section, set the priority of only the**Collector-emitter voltage**and**Base-emitter voltage**variables to`High`

.To set the total charge initial condition, in the

**Initial Targets**section, set the priority of only the**Base-collector charge**and**Base-emitter charge**variables to`High`

.*(since R2024a)*

Use nominal values to specify the expected magnitude of a variable in a model. Using
system scaling based on nominal values increases the simulation robustness. Nominal values
can come from different sources. One of these sources is the **Nominal
Values** section in the block dialog box or Property Inspector. For more
information, see System Scaling by Nominal Values.

### Plot Basic I-V Characteristics

You can plot the basic I-V characteristics of the NPN Bipolar Transistor block without building a complete model. Use the plots to explore the impact of your parameter choices on device characteristics. If you parameterize the block from a datasheet, you can compare your plots to the datasheet to check that you parameterized the block correctly. If you have a complete working model but do not know which manufactured part to use, you can compare your plots to datasheets to help you decide.

To enable this option, set the **Modeling option** parameter of the
NPN Bipolar Transistor block to `No thermal port`

. To plot the basic
characteristics, right-click the block and select **Electrical** >
**Basic characteristics** from the context menu. For more
information about the **Basic characteristics** option, see Plot Basic I-V Characteristics of Semiconductor Blocks.

## Examples

## Assumptions and Limitations

The block does not account for temperature-dependent effects on the junction capacitances.

You may need to use nonzero ohmic resistance and junction capacitance values to prevent numerical simulation issues, but the simulation may run faster with these values set to zero.

## Ports

### Conserving

## Parameters

## References

[1] G. Massobrio and P. Antognetti. *Semiconductor
Device Modeling with SPICE*. 2nd Edition, McGraw-Hill,
1993.

[2] H. Ahmed and P.J. Spreadbury. *Analogue and
digital electronics for engineers*. 2nd Edition, Cambridge University
Press, 1984.

## Extended Capabilities

## Version History

**Introduced in R2008a**