このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
DMAを使用してePWMのデューティサイクルを変更する
この例では、 ePWMデューティ サイクルを変更するためにダイレクト メモリ アクセス (DMA)パラメーターを構成する方法を示します。DMA を使用して、正弦波データがルックアップ テーブルからePWM比較レジスタにコピーされます。
ePWMピン (GPIO2) を次のものに接続することで、デューティ サイクルの変化を観察できます。
デューティ サイクルの変化を監視するオシロスコープ。
LED の調光を監視するための LED (GPIO31/GPIO34)。
この例は、モデルとコールバック スクリプトで構成されています。スクリプトはモデルが初期化されるときに実行されます。コールバック スクリプト (sineTableCalculation.m) は、500 サンプルの正弦波を生成し、その正弦波を 0 からePWM期間レジスタの値までの範囲にスケーリングします。
必要なハードウェア
F2833x、F2806x、F2807x、F2837x、または F28004x controlCARD/ LaunchPad。
利用可能なモデル
F2833x: c2833x_dma_epwm
F2806x: c2806x_dma_epwm
F2807x、F2837x、および F28004x: c28x7x_c28004x_dma_epwm
モデル
c28x7x_c28004x_dma_epwm モデルは、データ ストア メモリ、 ePWM、および Memory Copy ブロックを使用して定義された duty_cycle_table ルックアップ テーブルで構成されています。duty_cycle_table ルックアップ テーブルには、コールバック スクリプトによって生成された正弦波サンプルが格納されます。

ePWMブロックは、0.002 秒周期でアップダウン モードに構成されます。詳細については、Generalを参照してください。
ePWMブロックは、モジュール A (SOCA) の変換開始イベントを生成するようにも構成されています。詳細については、Event Triggerを参照してください。
DMAパラメーターは、duty_cycle_table ルックアップ テーブルからePWM比較レジスタに 500 個の正弦波サンプルを転送するように構成されています。DMA は、ePWM2SOCA イベントによってトリガーされると、一度に 1 つのサンプルを転送します。DMAパラメーターを構成するには、構成パラメーター > ハードウェア実装 > ターゲット ハードウェア リソース > DMA_ch1 を参照します。
Memory Copy ブロックは、 ePWM比較レジスタの値を Scope ブロックに提供します。
モデルの設定と実行
1. [構成パラメーター]ウィンドウで、[ハードウェア実装] > [ターゲット ハードウェア リソース] をクリックします。
2. SCI_A をクリックし、希望するボーレート(ビット/秒)パラメーターを 1.25e6 に設定します。
3. 外部モードをクリックし、Windows のデバイス マネージャー > ポート (COM と LTP) で シリアル ポートパラメーターをCOM ポートに設定します。詳細については、Parameter Tuning and Signal Logging with Serial Communicationを参照してください。
4. モデルを外部モードで実行するのに十分なメモリがあることを確認するには、[構成パラメーター]ウィンドウで [コード生成] > [最適化] をクリックします。
5. デフォルトのパラメーター動作パラメーターを Inlined に設定し、OK をクリックします。
6. [ハードウェア] タブを開き、[監視と調整] をクリックします。スコープ上の正弦波の値を観察します。
7. ePWMピン (GPIO2) を次のものに接続できます。
デューティ サイクルの変化を監視するオシロスコープ。
LED の調光を監視するための LED (GPIO31/GPIO34)。