Diode
Piecewise linear, exponential, or tabulated diode
Libraries:
Simscape /
Electrical /
Semiconductors & Converters
Description
The Diode block can represent either a piecewise linear diode, an exponential diode, or a diode with tabulated I-V curve. Use the Fidelity level parameter to select the level of detail in the dynamics model.
Piecewise Linear Diode
The piecewise linear diode model is the same model as the Simscape™ > Foundation Library > Electrical > Electrical Elements > Diode block, with the addition of a fixed junction capacitance and optional charge dynamics. If the diode forward voltage exceeds the value specified in the Forward voltage parameter, the diode behaves as a linear resistor with the resistance specified in the On resistance parameter. Otherwise, the diode behaves as a linear resistor with the small conductance specified in the Off conductance parameter. Zero voltage across the diode results in zero current flowing.
For more information about the Diode block in the Simscape Foundation library, see Diode.
Exponential Diode
The exponential diode model represents the following relationship between the diode current I and the diode voltage V:
where:
q is the elementary charge on an electron (1.602176e–19 coulombs).
k is the Boltzmann constant (1.3806503e–23 J/K).
BV is the Reverse breakdown voltage parameter value.
N is the emission coefficient.
IS is the saturation current.
Tm1 is the temperature at which the diode parameters are specified, as defined by the Measurement temperature parameter value.
When (qV / NkTm1) > 80, the block replaces with (qV / NkTm1 – 79)e80, which matches the gradient of the diode current at (qV / NkTm1) = 80 and extrapolates linearly. When (qV / NkTm1) < –79, the block replaces with (qV / NkTm1 + 80)e–79, which also matches the gradient and extrapolates linearly. Typical electrical circuits do not reach these extreme values. The block provides this linear extrapolation to help convergence when solving for the constraints during simulation.
When you select Use parameters IS and N
for the
Parameterization parameter, you specify the diode in terms of the
Saturation current IS and Emission coefficient N
parameters. When you select Use two I-V curve data points
for the
Parameterization parameter, you specify two voltage and current
measurement points on the diode I-V curve and the block derives the IS and
N values. The block then calculates IS and
N as follows:
where:
Vt = kTm1 / q.
V1 and V2 are the values in the Voltages [V1 V2] vector.
I1 and I2 are the values in the Currents [I1 I2] vector.
When you select Use an I-V data point and IS
for the
Parameterization parameter, then the block calculates N
as follows:
When you select Use an I-V data point and N
for the
Parameterization parameter, then the block calculates
IS as follows:
Tabulated Diode
To model a tabulated diode, set the Diode model parameter to
Tabulated I-V curve
. This figure shows the implementation of the
tabulated diode option:
If you select the Model Zener Diode parameter, you can also model the tabulated reverse I-V characteristics. (since R2024a)
If you do not select the Model Zener Diode parameter, the block models the reverse characteristics by using the Off conductance parameter:
If the voltage is less than -1 V, the block models the I-V relationship with a constant off-state conductance equal to the value of the Off conductance parameter. The value you specify must be less than the gradient of the forward I-V curve for small positive voltages.
If the voltage is between -1 V and 0 V, the block uses makima interpolation so that the I-V curves for forward and reverse bias overlap smoothly.
The block uses makima
interpolation to find
intermediate values. If the voltage or current exceed the tabulated data range, the block uses
linear extrapolation after the last voltage-current data point.
Junction Capacitance
The Diode block models the junction capacitance only if you
set the Fidelity level parameter to Include capacitance and
charge dynamics
. To include a junction capacitance:
Select
Include fixed or zero junction capacitance
for the Parameterization parameter. The capacitance is fixed.Select
Use parameters CJO, VJ, M & FC
for the Parameterization parameter. The block uses the coefficients CJO, VJ, M, and FC to calculate a junction capacitance that depends on the junction voltage.Select
Use C-V curve data points
for the Parameterization parameter. The block uses three capacitance values on the C-V capacitance curve to estimate CJO, VJ, and M and uses these values with the specified value of FC to calculate a junction capacitance that depends on the junction voltage. The block calculates CJO, VJ, and M as follows:where:
VR1, VR2, and VR3 are the values in the Reverse bias voltages [VR1 VR2 VR3] vector.
C1, C2, and C3 are the values in the Corresponding capacitances [C1 C2 C3] vector.
The reverse bias voltages (defined as positive values) should satisfy VR3 > VR2 > VR1. This means that the capacitances should satisfy C1 > C2 > C3 as reverse bias widens the depletion region and hence reduces capacitance. Violating these inequalities results in an error. Voltages VR2 and VR3 should be well away from the Junction potential VJ. Voltage VR1 should be less than the Junction potential VJ, with a typical value for VR1 being 0.1 V.
The voltage-dependent junction capacitance is defined in terms of the charge of junction capacitance Qj as:
For V < FC·VJ:
For V ≥ FC·VJ:
where:
V is the junction capacitance voltage.
These equations are the same as used in [2], except that the temperature dependence of VJ and FC is not modeled.
Charge Dynamics
The Diode block models the charge dynamics only if you set
the Fidelity level parameter to Include capacitance and charge
dynamics
. For applications such as commutation diodes it can be important to
model diode charge dynamics. When a forward-biased diode has a reverse voltage applied across
it, it takes time for the charge to dissipate and hence for the diode to turn off. The time
taken for the diode to turn off is captured primarily by the transit time parameter. Once the
diode is off, any remaining charge then dissipates, the rate at which this happens being
determined by the carrier lifetime.
The Diode block uses the model of Lauritzen and Ma [3] to capture these effects. These are the defining equations.
(1) |
(2) |
(3) |
i is the diode current.
qE is the junction charge.
qM is the total stored charge.
TM is the transit time.
τ is the carrier lifetime.
vD is the voltage across the diode.
vF is the diode forward voltage.
R is the diode on resistance.
G is the diode off conductance.
This graphic shows a typical reverse-mode current characteristic for a diode device.
where:
iRM is the peak reverse current.
iF is the starting forward current when measuring iRM.
a is the rate of change of current when measuring iRM.
trr is the reverse recovery time.
Data sheets for diodes quote values for peak reverse current for an initial forward current and a steady rate of change of current. The data sheet might also provide values for reverse recovery time and total recovery charge.
The block calculates transit time TM and carrier lifetime τ based on the values you enter for the Charge Dynamics parameters. The block uses TM and τ to solve the charge dynamics equations 1, 2, and 3.
During initial current drop in reverse mode, the diode is still on, and the rate of change of current is determined by an external test circuit.
First, the block uses equation 1 to perform this calculation.
(4) |
Then, it substitutes equation 4 into equation 2.
(5) |
Then, it solves equation 5 for qM,
(6) |
When t is zero, i = iF and qM = τiF because the system is in steady state.
Substituting these relationships into equation 6 and solving the equation gives k = aτ2.
Therefore,
(7) |
The block substitutes these values into equation 1.
(8) |
(9) |
Then, the block expresses time ts in terms of iRM, iF, and a.
(10) |
Consider the diode recovery, that is, when t > ts. The diode is reverse biased, and current and junction charge are effectively zero.
The current is defined by this equation.
(11) |
where:
(12) |
The block now relates the expression in equation 12 to the reverse recovery time trr.
When the current is
Therefore,
(13) |
(14) |
The block uses equations 9 and 14 to calculate values for TM and τ. The calculation uses an iterative scheme because of the exponential term in Equation 9.
In addition to allowing you to specify reverse recovery time trr directly, the block supports three alternative parameterizations. The block can derive trr from either of these parameters:
Reverse recovery time stretch factor λ
Reverse recovery charge Qrr, when the data sheet specifies this value instead of the reverse recovery time.
Reverse recovery energy Erec, when the data sheet specifies this value instead of the reverse recovery time.
The relationship between reverse recovery time stretch factor λ and trr is expressed by the equation
Reverse recovery time must be greater than and a typical value is
Therefore, a typical value for λ is 3. λ must be greater than 1.
Reverse recovery charge Qrr is the integral over time of the reverse current from the point where the current goes negative until it decays back to zero.
The initial charge, to time ts (as shown in the figure), is expressed by this equation:
(15) |
Integrating equation 11 gives the charge between times ts and inf. This charge is equal to
Therefore, total reverse recovery charge is given by this equation:
(16) |
Rearranging equation 16 to solve for τrr and substituting the result into equation 14 gives an equation that expresses trr in terms of Qrr:
Alternatively, the block calculates τrr by using the reverse recovery energy, Erec. This equation defines the diode voltage curve:
(17) |
If , which is a common condition for the reverse recovery test circuit, the block calculates the maximum diode reverse voltage as:
Since the drop time value is small, the block assumes that the diode current drop is linear:
(18) |
Then, it substitutes equation 18 into equation 5:
(19) |
To obtain the total stored charge, it solves equation 19 :
(20) |
When , the peak reverse current is:
(21) |
The block now substitutes equation 21 into equation 20:
(22) |
Finally, the block solves equation 22 to obtain the reverse recovery energy:
(23) |
When the device is faulted, the Diode block calculates the junction charge as
where:
idiode is the diode current without the charge model.
qE is the junction charge.
TM is the transit time.
τ is the carrier lifetime.
This equation then defines the value of the diode current:
where:
i is the diode current.
qM is the total stored charge.
Qscale is the current value of the charge ratio.
Temperature Dependence
The default behavior for the Diode block is that dependence on temperature is not modeled, and the device is simulated at the temperature for which you provide block parameters. The exponential diode model contains several options for modeling the dependence of the diode current-voltage relationship on temperature during simulation. Temperature dependence of the junction capacitance is not modeled because it has a much smaller effect.
When including temperature dependence, the diode defining equation remains the same. The measurement temperature value, Tm1, is replaced with the simulation temperature, Ts. The saturation current, IS, becomes a function of temperature according to the following equation:
where:
Tm1 is the temperature at which the diode parameters are specified, as defined by the Measurement temperature parameter value.
Ts is the simulation temperature.
ISTm1 is the saturation current at measurement temperature.
ISTs is the saturation current at simulation temperature. This is the saturation current value used in the standard diode equation when temperature dependence is modeled.
EG is the energy gap for the semiconductor type measured in joules(J). The value for silicon is usually taken to be 1.11 eV, where 1 eV is 1.602e-19.
XTI is the saturation current temperature exponent. This is usually set to 3.0 for pn-junction diodes, and 2.0 for Schottky barrier diodes.
N is the emission coefficient.
k is the Boltzmann constant (1.3806503e–23 J/K).
Appropriate values for XTI and EG depend on the type of diode and the semiconductor material used. Default values for particular material types and diode types capture approximate behavior with temperature. The block provides default values for common types of diode.
In practice, the values of XTI and EG need tuning to model the exact behavior of a particular diode. Some manufacturers quote these tuned values in a SPICE Netlist, and you can read off the appropriate values. Otherwise, you can determine improved estimates for EG by using a datasheet-defined current-voltage data point at a higher temperature. The block provides a parameterization option for this. It also gives the option of specifying the saturation current at a higher temperature ISTm2 directly.
You can also tune the values of XTI and EG yourself, to match lab data for your particular device. You can use Simulink® Design Optimization™ software to help tune the values for XTI and EG.
Caution
Device temperature behavior is also dependent on the emission coefficient. An inappropriate value for the emission coefficient can give incorrect temperature dependence, because saturation current is a function of the ratio of EG to N.
If defining a finite reverse breakdown voltage (BV), then the value of the reverse BV is modulated by the reverse breakdown temperature coefficient TCV (specified using the Reverse breakdown voltage temperature coefficient, dBV/dT parameter):
BVTs = BVTm1 – TCV· (Ts – Tm1) | (24) |
Ideal Switching
You can use the ideal switching option with these ideal switching semiconductor blocks:
You can model the diode in these blocks internally, or you can model the diode externally using a separate Diode block.
To enable the ideal switching option, set the Fidelity level parameter
to Ideal Switching
.
This figure shows the voltage and current of the diode in a switching regime inside a half-bridge.
Reverse recovery loss is one of the main sources of thermal loss in diodes. The diode dissipates energy every time it turns off, from its conducting state to the open-circuit state.
With ideal switching, the block does not use a physics-based charge model. The block represents the losses that the charge creates during reverse recovery as an instantaneous loss.
The block applies reverse recovery losses by stepping up the junction temperature with a value equal to the reverse recovery loss divided by the total thermal mass at the junction.
If you set the Reverse recovery loss model parameter to
Tabulated loss
, the value of the Reverse recovery loss
table, Erec(Tj, If) parameter specifies the dissipated energy as a function of the
junction temperature and the forward current just before the switching event. The off-state
voltage linearly scales the losses relative to the Turn-off voltage when measuring
recovery loss, Vrec parameter value. The table uses delayed values for the current
and voltage. To use a value in the lookup table that is close to the instantaneous value, set
the Filter time constant for voltage and current values
parameter to a value that is lower than the fastest switching period.
If you set the Reverse recovery loss model parameter to
Fixed loss
, the value of the Reverse recovery
loss parameter specifies the energy dissipated during each turn-off event. If you
select the Scale reverse recovery loss with current and voltage parameter,
then the block scales this loss value linearly by the on-state current and the off-state
voltage. To use scaling values that are close to the instantaneous values, set Filter time constant for voltage and current values to a value that is
lower than the fastest switching period.
Note
The lastReverseRecoveryLoss
variable in the logged simulation data
includes the reverse recovery losses as a pulse with an amplitude equal to the energy loss. If
you use a script to sum the total losses over a defined simulation period, you must sum the
pulse values at each pulse rising edge. Alternatively, you can extract conduction and switching
losses from logged data using the ee_getPowerLossSummary
and ee_getPowerLossTimeSeries
functions. To learn how to log and plot simulation data,
see the Log and Plot Simulation Data example.
The power_dissipated
variable in the logged simulation data does not
include switching losses because the block models the losses as instantaneous events. The
power_dissipated
variable reports ohmic on-state losses.
Faults
To model a fault in the Diode block, in the Faults section, click the Add fault hyperlink next to the fault that you want to model. In the Add Fault window, specify the fault properties. For more information about fault modeling, see Fault Behavior Modeling and Fault Triggering.
The Diode block allows you to model three types of faults:
Open
— Once the fault is triggered, the series resistance increases instantaneously. You can use this type of fault to model a diode that fails due to metallization burnout.Short
— Once the fault is triggered, the parallel conductance increases instantaneously. You can use this option to model a diode that fails due to punch-through.Parameter shift
— The block parameters shift over time starting from the moment that the fault is triggered. You can use this option to model a diode that fails due to aging.
The block can trigger fault events:
At a specific time.
When a current limit, a voltage limit, or a temperature limit are exceeded for longer than a specific time interval.
If you want to trigger a fault at a specific time, in the
Fault Inspector window, set Trigger type to
Timed
. If you want to determine whether a system fails and, if
so, when it fails, in the Fault Inspector window, set Trigger
type to Behavioral
.
If you select the behavioral trigger, the component fails as soon as one of the trigger conditions is true.
If, in the Faults settings, you set the Failure
mode parameter to Parameter shift
, the diode fails due
to the aging of its components. This equation defines the value of the shifted parameters:
where tth is the time threshold when the fault is triggered and τ is the value of the Fault transition time constant parameter.
Modeling Thermal Effects
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.
Modeling a Zener Diode
Since R2023b
To model a Zener diode that conducts in the forward and reverse biased directions, select the Model Zener diode parameter and specify a finite value for the Reverse breakdown voltage parameter.
When you select this option, you can model the reverse I-V characteristics for the Diode block by specifying the new Reverse voltages, Vr(Tj,Ir), Reverse currents, Ir(Tj,Vr), Reverse voltages, Vr and Reverse currents, Ir parameters. (since R2024a)
The Diode block icon depends on whether you model a Zener diode and whether you expose the thermal port. For more information about exposing the thermal port, see Modeling Thermal Effects.
Modeling option Parameter Value | Model a Zener diode Parameter Value | Block Icon |
---|---|---|
No thermal port | Off |
|
On |
| |
Show thermal port | Off |
|
On |
|
Parameterization
Since R2023b
The Diode block supports multiple predefined parameterizations.
Use this parameterization data to replicate the V-I curve for forward voltage from datasheets of specific suppliers. To load a predefined parameterization, double-click the Diode block, click the <click to select> hyperlink of the Selected part parameter, and, in the Block Parameterization Manager window, select the part you want to use from the list of available components.
Note
The predefined parameterizations of Simscape components use available data sources for the parameter values. Engineering judgement and simplifying assumptions are used to fill in for missing data. As a result, expect deviations between simulated and actual physical behavior. To ensure accuracy, validate the simulated behavior against experimental data and refine component models as necessary.
For more information about predefined parameterization and a list of the available components, see List of Pre-Parameterized Components.
You can also use the ee_importDeviceParameters
function to extract the device parameters from an XML
file and import them into the block. The XML file must be on the MATLAB® path and must use a parameterization format supported by Hitachi or Infineon®.
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 in the Capacitance section, you set Parameterization to
Fixed or zero junction capacitance
and Junction capacitance to0
, the total number of differential variables in the block equations is zero. Do not set the priority of any variables in the Initial Targets section toHigh
.If in the Capacitance section, you set Parameterization to
Fixed or zero junction capacitance
and you set the Junction capacitance parameter to a nonzero value, the total number of differential variables in the block equations is one. Set the priority toHigh
for no more than one variable in the Initial Targets section.If in the Capacitance section, you set Parameterization to
Use C-V curve data points
orUse parameters Cj0, VJ, M & FC
, the total number of differential variables in the block equations is one. Set the priority toHigh
for no more than one variable in the Initial Targets section.
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 Diode 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
Diode 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
When you select
Use two I-V curve data points
for the Parameterization parameter, choose a pair of voltages near the diode turn-on voltage. Typically, this is in the range from 0.05 to 1 V. Using values outside of this region may lead to numerical issues and poor estimates for IS and N.The block does not account for temperature-dependent effects on the junction capacitance.
You might 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.
You cannot use the
Tabulated I-V curve
parameterization to model the reverse breakdown.If the value you specify for the Off state conductance parameter (Goff) is greater than the value of the on-state forward conductance for small forward voltages (gOnMin) that the block derives during the simulation, then the block uses the value of gOnMin to compute the reverse I-V characteristics of the diode instead of the value of the Off state conductance parameter. This assumption also applies to the faulted scenario.
Ports
Conserving
Parameters
References
[1] MH. Ahmed and P.J. Spreadbury. Analogue and digital electronics for engineers. 2nd Edition. Cambridge, UK: Cambridge University Press, 1984.
[2] G. Massobrio and P. Antognetti. Semiconductor Device Modeling with SPICE. 2nd Edition. New York: McGraw-Hill, 1993.
[3] Lauritzen, P.O. and C.L. Ma. “A Simple Diode Model with Reverse Recovery.” IEEE® Transactions on Power Electronics. Vol. 6, No. 2, April 1991, pp. 188–191.