メインコンテンツ

Timer Capture

キャプチャ コンペア レジスタの値を出力する

R2022b 以降

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

  • Timer Capture 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 / STM32WBxx Based Boards

説明

入力モードで構成されている場合、選択したタイマー モジュールとチャネルのキャプチャ コンペア レジスタの値を出力します。

[Capture data length] で、キャプチャ コンペア レジスタから読み取るデータの長さを指定します。データ長が 1 より大きい場合は、STM32CubeMX プロジェクトで選択したタイマー モジュールとチャネルに DMA を追加する必要があります。

  • 読み取られたデータの長さを出力するには、[Output data length] を選択します。

  • 読み取られたデータのステータスを出力するには、[Output status] を選択します。ステータスの出力 1 はオーバーラン エラーを示します。

  • カウンターの方向を出力するには、[Output direction] を選択します。

キャプチャ コンペア レジスタの値の読み取り中にオーバーラン エラーの発生を回避するには、次のいずれかのイベントで、Hardware Interruptブロックに接続された Function-Call Subsystem 内に Timer Capture ブロックを配置します。

  • Capture compare event of the selected timer and channel - 読み取るキャプチャ コンペア データの長さが 1 の場合。これにより、選択したタイマーとチャネルのキャプチャ コンペア イベント割り込みが発生したときに、ブロックがデータを出力するようになります。

    [コンフィギュレーション パラメーター][Timers][Show TIM# Configurations] でキャプチャ コンペア イベントの割り込みが設定されていることを確認してください。

  • Transfer complete event of the DMA configured for selected timer and channel - 読み取るキャプチャ コンペア データの長さが 1 より大きい場合。これにより、DMA がキャプチャ コンペア レジスタから指定された長さのデータを読み取り、転送完了イベントの割り込みが生成されると、ブロックがデータを出力します。

端子

出力

すべて展開する

チャネル端子は、対応する選択されたチャネルのキャプチャ コンペア レジスタの値を出力します。

データ型: uint16 | uint32

キャプチャ コンペア レジスタの読み取り中にオーバーランが発生したかどうかを出力します。

  • 1 - オーバーランが発生

  • 0 - オーバーランなし

依存関係

このポートを有効にするには、[Output status] パラメーターを選択します。

データ型: uint8

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

  • 0 - アップ カウンター

  • 1 - ダウン カウンター

依存関係

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

データ型: Boolean

この端子は、選択されたチャネルのキャプチャ コンペア レジスタから読み取られたデータの長さを出力します。

依存関係

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

データ型: uint32

パラメーター

すべて展開する

メイン

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

メモ

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

キャプチャ コンペア レジスタの値を読み取るチャネルを選択します。

メモ

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

    STM32CubeMX で、[Timers][TIM#][Mode][Channel#] に移動してください。

  • 要件に応じて、選択したチャネル入力モードを次のいずれかに構成できます。

    • [Input Capture direct mode] または [Input Capture indirect mode] または [Input Capture triggered by TRC] (チャネル 1 から 4 の場合)

    • [PWM input on CH1/CH2] (1 と 2 の場合)

    • [XOR ON/Hall sensor mode] (チャネル 1 から 3 の場合)

    STM32CubeMX で、[Timers][TIM#][Mode][Channel#] に移動してください。

キャプチャ コンペア レジスタから読み取るデータの長さ。

  • 長さが 1 の場合 - キャプチャ コンペア レジスタはポーリング モードで読み取られます。

  • 長さが 1 より大きい場合 - DMA を使用してキャプチャ コンペア レジスタから指定された長さのデータを読み取ります。

STM32CubeMX プロジェクトで [DMA] を必ず構成してください。STM32CubeMX で [Timers][TIM#][Configuration][DMA settings] に移動し、選択したチャネルの DMA を追加します。

.

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

このパラメーターを選択すると、読み取られたデータの長さが出力されます。

[Output data length] パラメーターをオンにすると、ブロックで出力端子 Length が構成されます。

このパラメーターをオンにすると、読み取られたデータのステータスが出力されます。ステータスの出力 1 はオーバーラン エラーを示します。

[Output status] パラメーターを選択すると、ブロックで出力端子 Status が構成されます。

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

拡張機能

すべて展開する

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

バージョン履歴

R2022b で導入