メインコンテンツ

PWM Output

タイマー モジュールを使用して有効なチャネルで矩形波波形を生成する

R2021b 以降

アドオンが必要: この機能には Embedded Coder Support Package for STMicroelectronics STM32 Processors アドオンが必要です。

  • PWM Output Block

ライブラリ:
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F1xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F2xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F3xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32G0xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32G4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32H7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32U5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F746G-Discovery
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L475VG-Discovery (B-L475E-IOT01A)
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F769I-Discovery
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32WBxx Based Boards

説明

PWM Output ブロックにより、タイマー モジュールを使用して有効なチャネルに矩形波波形を生成します。

ブロック入力で各チャネルの矩形波波形のデューティ比を制御します。

[Duty Cycle unit] パラメーターを [割合] に設定した場合、入力値を 0 にするとデューティ比が 0% になり、入力値を 100 にすると対応するチャネルでデューティ比が 100% の出力が生成されます。[Duty Cycle unit] パラメーターを [カウント] に設定した場合、ブロックは入力値を対応するチャネルのキャプチャ コンペア レジスタに書き込みます。

[周波数入力を有効にする] を選択した場合、ブロックは対応する入力をタイマーの自動再読み込みレジスタに書き込み、カウンター周期を設定します。

メモ

PWM Output ブロックを含む Simulink® モデルは、STM32 プロセッサ ベースのボード上で接続済み IO モードで実行できます。詳細については、Communicate with Hardware Using Connected IOを参照してください。

端子

入力

すべて展開する

入力端子は、対応するチャネルのデューティ比を考慮します。

[Duty Cycle unit] パラメーターを Percentage に設定した場合、0 から 100 の範囲の値を指定します。[Duty Cycle unit] を Counts に設定した場合、32 ビット タイマーの場合は 0 から 0xFFFFFFFF の範囲の値を指定し、16 ビット タイマーの場合は 0 から 0xFFFF の範囲の値を指定します。

依存関係

この端子を有効にするには、[Enable channel] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

入力端子は、対応するチャネルのキャプチャ/コンペア イネーブル入力を考慮します。

依存関係

この端子を有効にするには、[Enable Capture/Compare Enable (CC#E) input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

入力端子は、対応するチャネルのキャプチャ/コンペア相補イネーブル入力を考慮します。

依存関係

この端子を有効にするには、[Enable Capture/Compare Complementary Enable (CC#NE) input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

入力端子は、対応するチャネルの出力比較モード入力を考慮します。

依存関係

この端子を有効にするには、[Enable Output Compare Mode (OC#M) input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

入力端子カウンターを有効にするには、この端子を使用します。この端子を次のいずれかの値に設定します。

  • 0 - カウンターを無効にする

  • 1 - カウンターを有効にする

依存関係

この端子を有効にするには、[Enable input to enable/disable timer] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

このメイン出力イネーブル (MOE) ビットは、ブレーク入力がアクティブになるとすぐにハードウェアによって非同期的にクリアされます。

入力が 1 の場合、MOE ビットは 1 に設定されます。

依存関係

この端子を有効にするには、[Enable main output enable (MOE) input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

この端子の入力によってカウンターの周波数が決まります。この値は自動再読み込みレジスタに直接書き込まれます。

32 ビット タイマーの周波数カウントは 0 から 0xFFFFFFFF の間であり、16 ビット タイマーの周波数カウントは 0 から 0xFFFF の間です。

依存関係

この端子を有効にするには、[周波数入力を有効にする] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

この端子を使用して更新イベントを生成します。値 1 を指定すると、端子で更新イベントが生成されます。

依存関係

この端子を有効にするには、[Enable update generation event input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

この端子を使用して、キャプチャ コンペア生成イベントを生成します。値 1 を指定すると、端子でキャプチャ コンペア イベントが生成されます。

依存関係

この端子を有効にするには、[Enable capture compare # generation event input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

この端子を使用してトリガー イベントを生成します。値 1 を指定すると、端子でトリガー イベントが生成されます。

依存関係

この端子を有効にするには、[Enable trigger generation event input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

この端子を使用して、ブレーク生成イベントを生成します。値 1 を指定すると、端子でブレーク生成イベントが生成されます。

依存関係

この端子を有効にするには、[Enable break generation event input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

この端子を使用して、ブレーク 2 生成イベントを生成します。値 1 を指定すると、端子でブレーク 2 生成イベントが生成され、MOE ステータスがクリアされます。

依存関係

この端子を有効にするには、[Enable break generation 2 event input] パラメーターをオンにします。

データ型: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double

出力

すべて展開する

ブロックは、カウンターの現在の方向を次のいずれかとして出力します。

  • 0 - アップ カウンター

  • 1 - ダウン カウンター

依存関係

この端子を有効にするには、[Enable timer counter direction output] パラメーターをオンにします。

データ型: Boolean

メイン出力イネーブル (MOE) ビットのステータス。

依存関係

この端子を有効にするには、[Enable main output enable (MOE) status output] パラメーターをオンにします。

データ型: Boolean

シミュレーション専用のメッセージ出力端子。PWM Interface (SoC Blockset) ブロックに接続した場合、PWM Interface ブロックの出力に対してシミュレーション中に発行される出力を含むパススルーとして機能します。

メモ

  • PWM Interface (SoC Blockset) はこのブロックの周波数入力を使用しないため、PWM Interface ブロック マスクで手動で設定する必要があります。

  • STM32F7xx、STM32H7xx、および STM32G4xx ベースのボードでは、チャネル 5 とチャネル 6 はシミュレーションでサポートされていません。ただし、コード生成はすべてのチャネルでサポートされています。

依存関係

この端子を有効にするには、[Enable simulation port] パラメーターを選択します。

データ型: SoCData

パラメーター

すべて展開する

メイン

タイマー モジュールを選択します。使用可能なタイマー モジュールの数はプロセッサによって異なります。

メモ

STM32CubeMX プロジェクトでも Timer module が構成されていることを確認します。

ブロック入力で各チャネルの矩形波波形のデューティ比を制御します。

[Duty Cycle unit] パラメーターを [割合] に設定した場合、入力値を 0 にするとデューティ比が 0% になり、入力を 100 にすると対応するチャネルでデューティ比が 100% の出力が生成されます。[Duty Cycle unit] パラメーターを [カウント] に設定した場合、入力値は対応するチャネルのキャプチャ コンペア レジスタに書き込まれます。

ブロックで PWM 出力を生成するチャネルを有効にします。入力は、対応するチャネルのデューティ比を考慮します。

[Timer module] ごとに 1 ~ 6 個のチャネルを設定できます。使用可能なチャネルの数は、選択したタイマー モジュールによって異なります。対応するタイマーでサポートされているチャネルを有効にします。既定では、ブロックは [channel 1] を有効にします。

メモ

有効にするチャネルが STM32CubeMX プロジェクトで PWM 生成用に構成されていることを確認してください。

依存関係

使用可能なチャネルの数は、[Timer module] パラメーターで選択したモジュールによって異なります。

このパラメーターを有効にすると、入力端子を介してキャプチャ/コンペア入力が生成されます。

依存関係

この端子を有効にするには、対応する [Enable channel#] パラメーターを選択します。

このパラメーターを有効にすると、入力端子を介してキャプチャ/コンペア相補入力が生成されます。

依存関係

この端子を有効にするには、対応する [Enable channel#] パラメーターを選択します。

このパラメーターを有効にすると、入力端子を介して出力比較モード入力が生成されます。

依存関係

この端子を有効にするには、対応する [Enable channel#] パラメーターを選択します。

入力端子を介してカウンターを有効または無効にします。このパラメーターを選択しなかった場合、モデルの初期化中にカウンターが有効になります。

このパラメーターを有効にすると、メイン出力イネーブル (MOE) ビットがブレークから回復するように設定されます。

依存関係

このパラメーターを有効にするには、[Timer module] パラメーターを TIM1 または TIM8 に設定します。

タイマーの周波数を設定するには、このパラメーターを有効にします。すべてのチャネル出力が同じ周波数になります。

反復カウンターの値が奇数の場合、反復カウンターの設定タイミングに応じて、アンダーフローまたはオーバーフロー時に更新イベントが発生します。

既定では、タイマー カウンターを有効にする前にブロックによって反復カウンターが設定されるため、アンダーフロー時に更新イベントが発生します。

このパラメーターを有効にすると、時間カウンターを有効にした後にブロックによって反復カウンターが設定されるため、オーバーフロー時に更新イベントが発生します。

依存関係

このパラメーターを有効にするには、[Timer module] パラメーターを TIM1 または TIM8 に設定します。

このパラメーターを有効にすると、カウンターの現在の方向が出力されます。

このパラメーターを有効にすると、メイン出力イネーブル (MOE) ビットのステータスが出力されます。

依存関係

このパラメーターを有効にするには、[Timer module] パラメーターを TIM1 または TIM8 に設定します。

このパラメーターを選択すると、SoC Blockset 互換のシミュレーション出力端子が追加されます。

イベント

このパラメーターを有効にすると、入力端子を介して更新イベントが生成されます。

このパラメーターを有効にすると、入力端子を介してキャプチャ コンペア イベントが生成されます。

依存関係

使用可能な [Enable capture compare # generation event input] パラメーターの数は、[Timer module] で選択したモジュールによって異なります。

このパラメーターを有効にすると、入力端子を介してトリガー イベントが生成されます。

このパラメーターを有効にすると、入力端子を介してブレーク イベントが生成されます。

依存関係

このパラメーターを有効にするには、[Timer module] パラメーターを TIM1TIM8TIM15TIM16TIM17、または TIM20 に設定します。

このパラメーターを有効にすると、入力端子を介してブレーク 2 イベントが生成されます。

依存関係

このパラメーターを有効にするには、[Timer module] パラメーターを TIM1TIM8、または TIM20 に設定します。

入力端子が選択されていない場合に、イネーブルになっている出力端子のステータスを読み取る頻度 (秒単位) を指定します。ゼロより大きい値を入力します。このパラメーターに -1 を指定すると、Simulink はモデル内のブロックのコンテキストに基づいてブロックに対する最適なサンプル時間を決定します。

依存関係

[サンプル時間] パラメーターを有効にするには、すべての入力端子の選択を解除します。

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2021b で導入