Ideal N-channel MOSFET for switching applications

**Library:**Simscape / Electrical / Semiconductors & Converters

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.

In the on state, the drain-source path behaves like a linear resistor with resistance,
*R _{ds_on}*.

In the off state, the drain-source path behaves like a linear resistor with low off-state
conductance, *G _{off}*.

The defining Simscape™ equations for the block are:

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

where:

*G*is the gate-source 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.

Goal | Value to Select | Block 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. |

The block provides four modeling variants. To select the desired
variant, right-click the block in your model. From the context menu,
select **Simscape** > **Block
choices**, and then one of these variants:

**PS Control Port**— Contains a physical signal port that is associated with the gate terminal. This variant is the default.**Electrical Control Port**— Contains an electrical conserving port that is associated with the gate terminal.**PS Control Port | Thermal Port**— Contains a thermal port and a physical signal port that is associated with the gate terminal.**Electrical Control Port | Thermal Port**— Contains a thermal port and an electrical conserving port that is associated with the gate terminal.

The variants of this block without the thermal port do not simulate heat generation in the device.

The variants with the thermal port allow you to model the heat that switching events and conduction losses generate. For numerical efficiency, the thermal state does not affect the electrical behavior of the block. The thermal port is hidden by default. To enable the thermal port, select a thermal block variant.

The figure shows an idealized representation of the output voltage,
*V _{out}*, and the output current,

When the semiconductor turns on during the *n*^{th}
switching cycle, the amount of thermal energy that the device dissipates increments by a
discrete amount. If you select ```
Voltage, current, and
temperature
```

for the **Thermal loss dependent on**
parameter, the equation for the incremental change is

$${E}_{on(n)}=\frac{{V}_{off(n)}}{{V}_{off\_data}}fcn(T,{I}_{on(n-1)}),$$

where:

*E*is the switch-on loss at the_{on(n)}*n*^{th}switch-on event.*V*is the off-state output voltage,_{off(n)}*V*, just before the device switches on during the_{out}*n*th switching cycle.*V*is the_{off_data}**Off-state voltage for losses data**parameter value.*T*is the device temperature.*I*is the on-state output current,_{on(n-1)}*I*, just before the device switches off during the cycle that precedes the n_{out}*th*switching cycle.

The function *fcn* is a 2-D lookup table with
linear interpolation and linear extrapolation:

$$E=tablelookup({T}_{j\_data},{I}_{out\_data},{E}_{on\_data},T,{I}_{on(n-1)}),$$

where:

*T*is the_{j_data}**Temperature vector, Tj**parameter value.*I*is the_{out_data}**Output current vector, Iout**parameter value.*E*is the_{on_data}**Switch-on loss, Eon=fcn(Tj,Iout)**parameter value.

If you select `Voltage and current`

for
the **Thermal loss dependent on** parameter, when
the semiconductor turns on during the *n*th switching
cycle, the equation that the block uses to calculate the incremental
change in the discrete amount of thermal energy that the device dissipates
is

$${E}_{on(n)}=\left(\frac{{V}_{off(n)}}{{V}_{off\_data}}\right)\left(\frac{{I}_{on(n-1)}}{{I}_{out\_scalar}}\right)({E}_{on\_scalar})$$

where:

*I*is the_{out_scalar}**Output current, Iout**parameter value.*E*is the_{on_scalar}**Switch-on loss**parameter value.

When the semiconductor turns off during the *n*th
switching cycle, the amount of thermal energy that the device dissipates
increments by a discrete amount. If you select ```
Voltage,
current, and temperature
```

for the **Thermal loss
dependent on** parameter, the equation for the incremental
change is

$${E}_{off(n)}=\frac{{V}_{off(n)}}{{V}_{off\_data}}fcn(T,{I}_{on(n)}),$$

where:

*E*is the switch-off loss at the_{off(n)}*n*th switch-off event.*V*is the off-state output voltage,_{off(n)}*V*, just before the device switches on during the_{out}*n*th switching cycle.*V*is the_{off_data}**Off-state voltage for losses data**parameter value.*T*is the device temperature.*I*is the on-state output current,_{on(n)}*I*, just before the device switches off during the_{out}*n*th switching cycle.

The function *fcn* is a 2-D lookup table with
linear interpolation and linear extrapolation:

$$E=tablelookup({T}_{j\_data},{I}_{out\_data},{E}_{off\_data},T,{I}_{on(n)}),$$

where:

*T*is the_{j_data}**Temperature vector, Tj**parameter value.*I*is the_{out_data}**Output current vector, Iout**parameter value.*E*is the_{off_data}**Switch-off loss, Eoff=fcn(Tj,Iout)**parameter value.

If you select `Voltage and current`

for
the **Thermal loss dependent on** parameter, when
the semiconductor turns off during the *n*th switching
cycle, the equation that the block uses to calculate the incremental
change in the discrete amount of thermal energy that the device dissipates
is

$${E}_{off(n)}=\left(\frac{{V}_{off(n)}}{{V}_{off\_data}}\right)\left(\frac{{I}_{on(n-1)}}{{I}_{out\_scalar}}\right)({E}_{off\_scalar})$$

where:

*I*is the_{out_scalar}**Output current, Iout**parameter value.*E*is the_{off_scalar}**Switch-off loss**parameter value.

If you select `Voltage, current, and temperature`

for
the **Thermal loss dependent on** parameter, then,
for both the on state and the off state, the heat loss due to electrical
conduction is

$${E}_{conduction}={\displaystyle \int fcn}(T,{I}_{out})\text{\hspace{0.17em}}dt,$$

where:

*E*is the heat loss due to electrical conduction._{conduction}*T*is the device temperature.*I*is the device output current._{out}

The function *fcn* is a 2-D lookup table:

$${Q}_{conduction}=tablelookup({T}_{j\_data},{I}_{out\_data},{I}_{out\_data\_repmat}\text{\hspace{0.17em}}.*\text{\hspace{0.17em}}{V}_{on\_data},T,{I}_{out}),$$

where:

*T*is the_{j_data}**Temperature vector, Tj**parameter value.*I*is the_{out_data}**Output current vector, Iout**parameter value.*I*is a matrix that contains length,_{out_data_repmat}*T*, copies of_{j_data}*I*._{out_data}*V*is the_{on_data}**On-state voltage, Von=fcn(Tj,Iout)**parameter value.

If you select `Voltage and current`

for
the **Thermal loss dependent on** parameter, then,
for both the on state and the off state, the heat loss due to electrical
conduction is

$${E}_{conduction}={\displaystyle \int \left({I}_{out}*{V}_{on\_scalar}\right)dt},$$

where *V _{on_scalar}* is
the

The block uses the **Energy dissipation time constant** parameter
to filter the amount of heat flow that the block outputs. The filtering
allows the block to:

Avoid discrete increments for the heat flow output

Handle a variable switching frequency

The filtered heat flow is

$$Q=\frac{1}{\tau}\left({\displaystyle \sum _{i=1}^{n}{E}_{on(i)}}+{\displaystyle \sum _{i=1}^{n}{E}_{off(i)}}+{E}_{conduction}-{\displaystyle \int Q\text{\hspace{0.17em}}dt}\right),$$

where:

*Q*is the heat flow from the component.*τ*is the**Energy dissipation time constant**parameter value.*n*is the number of switching cycles.*E*is the switch-on loss at the_{on(i)}*i*th switch-on event.*E*is the switch-off loss at the_{off(i)}*i*th switch-off event.*E*is the heat loss due to electrical conduction._{conduction}*∫Qdt*is the total heat previously dissipated from the component.

The figure shows the block port names.

Diode | GTO | IGBT (Ideal, Switching) | Ideal Semiconductor Switch | N-Channel MOSFET | P-Channel MOSFET | Thyristor (Piecewise Linear)