Main Content

MOSFET (Ideal, Switching)

Ideal N-channel MOSFET for switching applications

  • MOSFET (Ideal, Switching) block

Libraries:
Simscape / Electrical / Semiconductors & Converters

Description

The MOSFET (Ideal, Switching) block models the ideal switching behavior of an n-channel metal-oxide-semiconductor field-effect transistor (MOSFET).

The switching characteristic of an n-channel MOSFET is such that if the gate-source voltage exceeds the specified threshold voltage, the MOSFET is in the on state. Otherwise, the device is in the off state. This figure shows a typical i-v characteristic:

To define the I-V characteristic of the MOSFET, set the On-state behaviour and switching losses parameter to either Specify constant values or Tabulate with temperature and current. The Tabulate with temperature and current option is available only if you expose the thermal port of the block.

In the on state, the drain-source path behaves like a linear resistor with resistance, Rds_on. However, if you expose the thermal port of the block and parameterize the device using tabulated I-V data, the tabulated resistance is a function of the temperature and current.

In the off state, the drain-source path behaves like a linear resistor with low off-state conductance, Goff.

Then, the defining Simscape™ equations for the block are:

    if G > Vth       v == i*Rds_on;     else       v == i/Goff;     end 

where:

  • G depends on the value of the Gate control port parameter.

    • If you set the Gate control port parameter to PS, you control the gate terminal through a physical signal. G is the value at the input port G.

    • If you set the Gate control port parameter to Electrical, you control the gate terminal through an electrical signal. G is equal to:

          if v >= 0        G = G.v - S.v;     else       G = G.v - D.v;     end 

      where G.v is the gate voltage, S.v is the source voltage, and D.v is the drain voltage.

  • Vth is the threshold voltage.

  • v is the drain-source voltage.

  • i is the drain-source current.

  • Rds_on is the on-state resistance.

  • Goff is the off-state conductance.

Using the Integral Diode settings, you can include the body diode or an integral protection diode. The integral diode provides a conduction path for reverse current. For example, to provide a path for a high reverse-voltage spike that is generated when a semiconductor device suddenly switches off the voltage supply to an inductive load.

Set the Integral protection diode parameter based on your goal.

GoalsValue to SelectIntegral Protection Diode
Do not include protection.NoneNone
Include protection.Prioritize simulation speed.Diode with no dynamicsThe Diode block
Prioritize model fidelity by precisely specifying reverse-mode charge dynamics.Diode with charge dynamicsThe dynamic model of the Diode block

Model Gate Port and Thermal Effects

You can choose between physical or electrical ports to control the gate terminal and expose the thermal port to model the heat that switching events and conduction losses generate. To choose the gate control port, set the Gate control port parameter to PS or Electrical. To expose the thermal port, set the Modeling option parameter to either No thermal port or Show thermal port.

For more information about using thermal ports, see Simulating Thermal Effects in Semiconductors.

Thermal Losses

The figure shows an idealized representation of the output voltage, Vout, and the output current, Iout, of the semiconductor device. The interval shown includes the entire nth switching cycle, during which the block turns off and then on.

Switching losses are one of the main sources of thermal loss in semiconductors. During each on-off switching transition, the MOSFET parasitics store and then dissipate energy.

Switching losses depend on the off-state voltage and the on-state current. When a switching device is turned on, the power losses depend on the initial off-state voltage across the device and the final on-state current once the device is fully in its on state. Similarly, when a switching device is turned off, the power losses depend on the initial on-state current through the device and the final off-state voltage across the device when in the fully off state.

In this block, switching losses are applied by stepping up the junction temperature with a value equal to the switching loss divided by the total thermal mass at the junction. The Switch-on loss, Eon(Tj,Ids) and Switch-on loss, Eoff(Tj,Ids) parameter values set the sizes of the switching losses and they are either fixed or dependent on junction temperature and drain-source current. In both cases, losses are scaled by the off-state voltage prior to the latest device turn-on event.

Note

As the final current after a switching event is not known during the simulation, the block records the on-state current at the point that the device is commanded off. Similarly, the block records the off-state voltage at the point that the device is commanded on. For this reason, the simlog does not report the switching losses to the thermal network until one switching cycle later.

For all ideal switching devices, the switching losses are reported in the simlog as lastTurnOffLoss and lastTurnOnLoss and recorded as a pulse with 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 use the ee_getPowerLossSummary and ee_getPowerLossTimeSeries functions to extract conduction and switching losses from logged data.

Note that the power_dissipated variable in the simlog does not include switching losses as they are modeled as instantaneous events. The power_dissipated variable therefore just reports instantaneous on-state losses.

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.

In this block, reverse recovery losses are applied 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 in function of the junction temperature and the forward current just before the switching event. The off-state voltage linearly scales the losses prior to the latest device turn-off event. The table uses delayed values for current and voltage. To ensure the value used in the lookup table is close enough to the instantaneous value, set the Delay for voltage and current tabulation 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 dissipated energy in each turn-off event, regardless of the state of the diode before or after the switching event.

Note

The lastReverseRecoveryLoss variable in the simlog includes the reverse recovery losses as a pulse with 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 use the ee_getPowerLossSummary and ee_getPowerLossTimeSeries functions to extract conduction and switching losses from logged data.

Note that the power_dissipated variable in the simlog does not include switching losses as they are modeled as instantaneous events. The power_dissipated variable reports instantaneous on-state losses.

Predefined Parameterization

There are multiple available built-in parameterizations for the MOSFET (Ideal, Switching) block.

This pre-parameterization data allows you to set up the block to represent components by specific suppliers. The parameterizations of these MOSFETs match the manufacturer data sheets. To load a predefined parameterization, double-click the MOSFET (Ideal, Switching) 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 pre-parameterization and for a list of the available components, see List of Pre-Parameterized Components.

Variables

To set the priority and initial target values for the block variables prior to 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.

Nominal values provide a way 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 which is the Nominal Values section in the block dialog box or Property Inspector. For more information, see System Scaling by Nominal Values.

Examples

Ports

The figure shows the block port names.

Conserving

expand all

Port associated with the gate terminal. You can set the port to either a physical signal or electrical port.

Electrical conserving port associated with the source terminal.

Electrical conserving port associated with the drain terminal.

Thermal conserving port.

Dependencies

To enable this port, set Modeling option to Show thermal port.

Parameters

expand all

Whether to enable the thermal port.

Main

This table shows how the visibility of Main parameters depends on how you configure the Modeling option and On-state behavior and switching losses parameters. To learn how to read this table, see Parameter Dependencies.

Main Parameter Dependencies

Parameters and Options
Modeling option
No thermal portShow thermal port
Gate-control portGate-control port
Drain-source on resistance, R_DS(on)Threshold voltage, Vth
Off-state conductanceOn-state behaviour and switching losses
Specify constant valuesTabulate with temperature and current
Threshold voltage, VthDrain-source on resistance, R_DS(on)On-state voltage, Vds(Tj,Ids)
Off-state conductanceTemperature vector, Tj
Drain-source current vector, Ids
Off-state conductance

Whether to specify physical or electrical control port for the switch gate.

Note

If you set this parameter to Electrical, use an internal or external reverse diode along with this block. For numerical considerations, the forward voltage of the diode must be smaller than the value of the Threshold voltage, Vth parameter of this block.

Select a parameterization method. The option that you select determines which other parameters are enabled. Options are:

  • Specify constant values — Use scalar values to specify the output current, switch-on loss, and switch-off loss data. This is the default parameterization method.

  • Tabulate with temperature and current — Use vectors to specify the output current, switch-on loss, switch-off loss, and temperature data.

Dependencies

See the Main Parameter Dependencies table.

Drain-source resistance when the device is on.

Dependencies

See the Main Parameter Dependencies table.

Drain-source conductance when the device is off. The value must be less than 1/R, where R is the value of On-state resistance.

Dependencies

See the Main Parameter Dependencies table.

Gate-source voltage threshold. The device turns on when the gate-source voltage is above this value.

Dependencies

See the Main Parameter Dependencies table.

Voltage drop across the device while it is in a triggered conductive state. This parameter is defined as a function of temperature and final on-state output current. Specify this parameter using a vector quantity.

Dependencies

See the Main Parameter Dependencies table.

Temperature values at which the on-state voltage is specified. Specify this parameter using a vector quantity.

Dependencies

See the Main Parameter Dependencies table.

Drain-source currents for which the on-state voltage is defined. The first element must be zero. Specify this parameter using a vector quantity.

Dependencies

See the Main Parameter Dependencies table.

Switching Losses

To enable these parameters, set Modeling option to Show thermal port.

Energy dissipated during a single switch-on event. This parameter is defined as a function of temperature and final on-state output current. Specify this parameter using a scalar quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Specify constant values.

Energy dissipated during a single switch-off event. This parameter is defined as a function of temperature and final on-state output current. Specify this parameter using a scalar quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Specify constant values.

The output voltage of the device during the off state. This is the blocking voltage at which the switch-on loss and switch-off loss data are defined.

Output currents for which the switch-on loss, switch-off loss, and on-state voltage are defined. The first element must be zero. Specify this parameter using a scalar quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Specify constant values.

Energy dissipated during a single switch on event. This parameter is defined as a function of temperature and final on-state output current. Specify this parameter using a vector quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Tabulate with temperature and current.

Energy dissipated during a single switch-off event. This parameter is defined as a function of temperature and final on-state output current. Specify this parameter using a vector quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Tabulate with temperature and current.

Temperature values at which the switch-on loss and switch-off loss are specified. Specify this parameter using a vector quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Tabulate with temperature and current.

Drain-source currents for which the switch-on loss and switch-off-loss are defined. The first element must be zero. Specify this parameter using a vector quantity.

Dependencies

To enable this parameter, set On-state behavior and switching losses to Tabulate with temperature and current.

Integral Diode

Block integral protection diode.

The diodes you can select are:

  • None — Do not model any integral diode inside this block and use an external diode.

  • Diode with no dynamics

  • Diode with charge dynamics

Select one of these diode models:

  • Piecewise Linear — Use a piecewise linear model for the diode, as described in Piecewise Linear Diode. This is the default method.

  • Tabulated I-V curve — Use tabulated forward bias I-V data plus fixed reverse bias off conductance.

Dependencies

This parameter is visible only when the thermal port is exposed and the Integral protection diode parameter is set to Protection diode with no dynamics or Protection diode with charge dynamics.

Whether to tabulate the current as a function of temperature and voltage or the voltage as a function of temperature and current.

Dependencies

This parameter is visible only when the thermal port is exposed and the Integral protection diode parameter is set to Protection diode with no dynamics or Protection diode with charge dynamics and Diode model is set to Tabulated I-V curve.

Minimum voltage required across the + and - block ports for the gradient of the diode I-V characteristic to be 1/Ron, where Ron is the value of On resistance.

Dependencies

To enable this parameter:

  • If the thermal port is hidden, set Integral protection diode to Diode with no dynamics or Diode with charge dynamics.

  • If the thermal port is exposed, set Integral protection diode to Diode with no dynamics or Diode with charge dynamics and Diode model to Piecewise linear.

Rate of change of voltage versus current above the Forward voltage.

Dependencies

To enable this parameter:

  • If the thermal port is hidden, set Integral protection diode to Diode with no dynamics or Diode with charge dynamics.

  • If the thermal port is exposed, set Integral protection diode to Diode with no dynamics or Diode with charge dynamics and Diode model to Piecewise linear.

Forward currents. This parameter must be a vector of at least three nonnegative elements.

Dependencies

To enable this parameter, expose the thermal port and set Diode model to Tabulated I-V curve and Table type to Table in If(Tj,Vf) form.

Vector of junction temperatures. This parameter must be a vector of at least two elements.

Dependencies

To enable this parameter, expose the thermal port and set Diode model to Tabulated I-V curve.

Vector of forward voltages. This parameter must be a vector of at least three nonnegative values.

Dependencies

To enable this parameter, expose the thermal port and set Diode model to Tabulated I-V curve and Table type to Table in If(Tj,Vf) form.

Forward voltages. This parameter must be a vector of at least three nonnegative elements.

Dependencies

To enable this parameter, expose the thermal port and set Diode model to Tabulated I-V curve and Table type to Table in Vf(Tj,If) form.

Vector of forward currents. This parameter must be a vector of at least three nonnegative values.

Dependencies

To enable this parameter, expose the thermal port and set Diode model to Tabulated I-V curve and Table type to Table in Vf(Tj,If) form.

Conductance of the reverse-biased diode.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with no dynamics or Diode with charge dynamics.

Since R2023a

Whether to model fixed or tabulated reverse recovery losses.

Dependencies

To enable this parameter, set the Modeling option parameter to Show thermal port and set the Integral protection diode parameter to Diode with no dynamics.

Since R2023a

Dissipated energy in each turn-off event, regardless of the state of the diode before or after the switching event.

Dependencies

To enable this parameter, set the Reverse recovery loss model parameter to Fixed loss.

Since R2023a

Dissipated energy in function of the forward current If just before the switching event, and final off-state voltage once the diode is in off state.

Dependencies

To enable this parameter, set the Reverse recovery loss model parameter to Tabulated loss.

Since R2023a

Temperature vector used to tabulate reverse recovery loss.

Dependencies

To enable this parameter, set the Reverse recovery loss model parameter to Tabulated loss.

Since R2023a

Forward current vector used to tabulate reverse recovery loss.

Dependencies

To enable this parameter, set the Reverse recovery loss model parameter to Tabulated loss.

Since R2023a

Voltage between the diode in steady-state when measuring recovery loss.

Dependencies

To enable this parameter, set the Reverse recovery loss model parameter to Tabulated loss.

Since R2023a

Filter time constant for voltage and current values in the recovery loss table. To ensure the value used in the lookup table is close enough to the instantaneous value, specify a value that is lower than the fastest switching period.

Dependencies

To enable this parameter, set the Reverse recovery loss model parameter to Tabulated loss.

Diode junction capacitance.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics.

Peak reverse current measured by an external test circuit. This value must be less than zero. The default value is -235 A.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics.

Initial forward current when measuring peak reverse current. This value must be greater than zero.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics.

Rate of change of current when measuring peak reverse current. This value must be less than zero.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics.

Determines how you specify reverse recovery time in the block. The default value is Specify reverse recovery time directly.

If you select Specify stretch factor or Specify reverse recovery charge, you specify a value that the block uses to derive the reverse recovery time. For more information on these options, see How the Block Calculates TM and Tau.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics.

Interval between the time when the current initially goes to zero (when the diode turns off) and the time when the current falls to less than 10% of the peak reverse current. The value of the Reverse recovery time, trr parameter must be greater than the value of the Peak reverse current, iRM parameter divided by the value of the Rate of change of current when measuring iRM parameter.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics and the Reverse recovery time parameterization parameter is set to Specify reverse recovery time directly.

Value that the block uses to calculate Reverse recovery time, trr. This value must be greater than 1. Specifying the stretch factor is an easier way to parameterize the reverse recovery time than specifying the reverse recovery charge. The larger the value of the stretch factor, the longer it takes for the reverse recovery current to dissipate.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics and the Reverse recovery time parameterization parameter is set to Specify stretch factor.

Value that the block uses to calculate Reverse recovery time, trr. Use this parameter if the data sheet for your diode device specifies a value for the reverse recovery charge instead of a value for the reverse recovery time.

The reverse recovery charge is the total charge that continues to dissipate when the diode turns off. The value must be less than i2RM2a,

where:

  • iRM is the value specified for Peak reverse current, iRM.

  • a is the value specified for Rate of change of current when measuring iRM.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics and the Reverse recovery time parameterization parameter is set to Specify reverse recovery charge.

Voltage between the diode in steady-state.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics and the Reverse recovery time parameterization parameter is set to Specify reverse recovery energy.

Total unintended inductance in the measurement circuit. The block uses this value to calculate Reverse recovery energy, Erec.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics and the Reverse recovery time parameterization parameter is set to Specify reverse recovery energy.

Total switching losses due to the diode reverse recovery.

Dependencies

This parameter is visible only when the Integral protection diode parameter is set to Diode with charge dynamics and the Reverse recovery time parameterization parameter is set to Specify reverse recovery energy.

For more information on these parameters, see Diode.

Thermal Port

Use the thermal port to simulate the effects of generated heat and device temperature. For more information on using thermal ports and on the Thermal Port parameters, see Simulating Thermal Effects in Semiconductors.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2013b

expand all