Main Content

# MOSFET (Ideal, Switching)

Ideal N-channel MOSFET for switching applications

• Library:
• 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.

GoalValue to SelectBlock Behavior
Prioritize simulation speed.`Protection diode with no dynamics`The block includes an integral copy of the Diode block. To parameterize the internal Diode block, use the Protection parameters.
Precisely specify reverse-mode charge dynamics.`Protection diode with charge dynamics`The block includes an integral copy of the dynamic model of the Diode block. To parameterize the internal Diode block, use the Protection parameters.

### 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.

### 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.

## 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 port``````Show 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 values``````Tabulate 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 default value is ```Protection diode with no dynamics```.

The diodes you can select are:

• `Protection diode with no dynamics`

• `Protection 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 ```Protection diode with no dynamics``` or ```Protection diode with charge dynamics```.

• If the thermal port is exposed, set Integral protection diode to ```Protection diode with no dynamics``` or ```Protection 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 ```Protection diode with no dynamics``` or ```Protection diode with charge dynamics```.

• If the thermal port is exposed, set Integral protection diode to ```Protection diode with no dynamics``` or ```Protection 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 `Protection diode with no dynamics` or `Protection diode with charge dynamics`.

Diode junction capacitance.

#### Dependencies

This parameter is visible only when the Integral protection diode parameter is set to `Protection 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 `Protection 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 `Protection 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 `Protection 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 `Protection 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 `Protection 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 `Protection 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 $-\frac{{i}^{2}{}_{RM}}{2a},$

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 `Protection 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 ```Protection 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 ```Protection 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 ```Protection 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.

## Version History

Introduced in R2013b

expand all