メインコンテンツ

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

タイムベースカウンタ同期を使用したePWMと eCAP モジュールの同期

この例では、C2000™ Microcontroller Blockset でタイムベース カウンター同期を使用する方法を示します。

この例では、次の方法を学習します。

  • 120 度の位相遅延で ePWM4 を ePWM1 と同期します。

  • 120 度の位相遅延で eCAP1 を ePWM4 と同期します。

  • ePWMがアップダウン モードの場合、位相シフトを使用して ePWM4 を ePWM1 と同期します。

前提条件

以下のチュートリアルを完了します。

必要なハードウェア

TI Delfino F28379D LaunchPadまたは TI F2838x コントロール カード

利用可能なモデル

モデル

f2837x_TimeBaseSync.slx モデルを開きます。

このモデルでは、ePWM1 ブロックと ePWM4 ブロックは、時間周期が 1 秒、デューティ サイクルが 50 % の信号を生成するように構成されています。同様に、eCAP1 は APWM モードで動作するように構成され、周期 1 秒、デューティ サイクル 50 % の信号を生成します。ePWM4 ブロックは 120 度の位相シフトで ePWM1 と同期され、eCAP1 は 120 度の位相シフトで ePWM4 と同期されます。

eCAP2、eCAP3、eCAP4 は、タイムベース同期モジュールによって生成された波形をキャプチャし、スコープ ブロックに表示するために使用されます。

タイムベースカウンタ同期用のePWMおよびeCAPモジュールの構成

  • 同期出力(SYNCO)パラメーターをカウンターがゼロ(CRT=ゼロ)に設定して、ePWM1ブロックが信号を送信するように設定します。

  • ePWM4 は、構成パラメーターで ePWM1 SYNCOUT からの同期入力を持つように構成されています。

  • ePWM4 ブロックは位相オフセット値に設定され、CTR=Zero のときに SYNCOUT 信号を送信します。

  • eCAP1 ブロックは APWM モードで動作するように構成されており、ブロック内で同期入力が有効になっています。カウンター位相オフセット値も、図に示すようにブロックパラメーターで設定されます。

  • eCAP1 は、構成パラメーターで ePWM4 SYNCOUT からの同期入力を持つように構成されています。

PWM波形をキャプチャするためのeCAPブロックの構成

  • ハードウェア割り込み eCAP2、eCAP3、および eCAP4 は、Scope ブロックで生成された PWM 波形をキャプチャするように構成されています。eCAP ブロックは、信号の 2 つのイベント (Rising edgeFalling edge) をキャプチャするために eCAP モードに設定されています。

  • PWM 信号 (GPIO0 の ePWM1、GPIO6 の ePWM4、GPIO24 の eCAP1) は、ハードウェア実装 > ターゲット ハードウェア リソース > 入力 X-BAR の下にある入力 X-BAR を介して eCAP への入力として提供されます。

  • 構成パラメーターで GPIO 信号を確認することもできます。

メモ: Scope ブロックは、時間間隔を秒単位で指定した場合にのみ信号を表示します。より高い周波数の信号の場合は、デジタル ソース オシロスコープ (DSO) を使用して信号を表示します。

アップダウンモードでのタイムベース同期

f2837xTimeBaseSyncUpDownMode.slx モデルを開きます。

上下位相シフトの計算

遅延(カウント) = 2 x 時間基準周期 x $\phi$/ 360

  • $\phi$ 値が 0 度から 180 度の間であることを確認します。

  • 180 を超える位相シフトを実現するには、遅延カウントは、位相シフトが 360 - $\phi$ に等しいときに計算される数と同じである必要があります。ただし、次の図からわかるように、 ePWMカウンターの方向の変化を考慮することが重要です。

図から、

  • 点A では、ePWM1 からの同期が受信された後、2 番目のePWMカウンターが値遅延から開始されることに注意してください。

  • 正の位相シフト (進み) の場合、2 番目のePWMカウンターがカウントダウンすることがわかります (オレンジ色の点線)。

  • 負の位相シフト (遅れ) の場合、2 番目のePWMカウンターがカウントアップすることがわかります (青い点線)。

モデルでは、レジスタ読み取り/書き込みブロックを使用してこれを実現します。ここで、同期後のePWMカウンターの方向を制御する EPwm4Regs の対応するレジスタ フィールド PHSDIR を変更します。

位相オフセット計算

カウンター位相オフセット値によって位相の進みまたは遅れが決まります。

位相は次の式で計算されます

ここで、PRD = Timer periodCTRPHS = counter phase offset value

メモ: この式はアップカウントモードまたはダウンカウントモードの場合にのみ適用されます。アップダウンカウンタモードの場合、位相はコントローラのモードと同期後の方向によって異なります。

位相値に基づく時間遅延は次のように表される。

モデルの構成

1. モデルを開きます。この例のモデルは、TI Delfino F28379D LaunchPadハードウェア用に構成されています。

2. 他の TI C2000 プロセッサでモデルを実行するには、Ctrl+E を押して [構成パラメーター]ダイアログ ボックスを開き、[ハードウェア実装] > [ハードウェアボード] に移動して必要なハードウェアボードを選択します。

3. 通信インターフェースXCP on Serial に設定されていることを確認します。

モデルの実行

モデルに対して モニターと調整アクションを実行すると、ホスト コンピューターは、生成された実行可能ファイルが実行されるターゲットと通信します。

1. モデルの ハードウェア タブで、 モニターと調整 をクリックします。

2. 診断ビューアーを使用してビルドの進行状況を追跡し、コードがターゲット ハードウェアに読み込まれて実行されるまで待機します。

3. スコープ ブロック内の波形を観察します。

その他の試行

  • 期間を 20 kHz に変更し、DSO で信号を監視します。

  • 他のePWMと eCAP モジュール間の同期を試してください。

  • 異なるカウンター位相オフセット値を指定して、さまざまな位相シフトと進みと遅れを試してください。

  • [モデル プロパティ] ダイアログ ボックスで、コールバック タブ > c28xgetPhaseOffsetValue に移動し、 ePWMモジュールと eCAP モジュール間で必要な位相遅延に基づいて位相オフセット値を計算するためのファイルを見つけます。

詳細