ドキュメンテーション センター

  • 評価版
  • 製品アップデート

PWM デューティ比の CAN ベース制御

この例では、CAN Receive ブロック、CAN Transmit ブロック、PWM ブロックおよび C2812 Memory Copy ブロックを使用してパルス波形を生成する方法を説明します。

必要なハードウェア:

  • Spectrum Digital F2808/F2812/F28335 eZdsp

  • Texas Instruments™ F2808/F28035/F28069/F28335/F28343 ControlCARD、ドッキング ステーション付き

  • Texas Instruments™ F28069 ControlSTICK

  • オシロスコープとプローブ

この例の使用可能なバージョン:

メモ: 上記のモデルは "Code Composer Studio v3.3" でのみ実行できます。

モデル

次の図はサンプル モデルを示しています。

説明

"Read Duty Cycle" というラベルの付いた Memory Copy ブロックは、メモリ位置 0x8FF0 に格納されたデューティ比の値を読み取ります。Transmit CAN Msg ブロックはメールボックス 5 を使用して、この値を標準の CAN メッセージ フレームに圧縮して送信します。一方、Receive CAN Msg ブロックでは、メールボックス 0 を使用してこれを受信します。CAN メッセージを受信すると、Process CAN Msg はデューティ比の値を解凍して、PWM1 に送信します。生成されたパルス波形のデューティ比は、受信したパルス幅の値と 64000 クロック サイクルで固定されたパルス周期との相対比で決まります。デューティ比は、ユーザーの選択に基づき、25%、50% および 75% の間で切り替えられます。

PWM のデューティ比は、IDE Link コンポーネントの書き込みメソッドを使用すれば、生成コードの実行中に変更できます。このメソッドは、選択した値をメモリ位置 0x8FF0 に書き込みます。[Build/Reload & Run] を押したときに開く GUI で、25%、50%、75% のいずれかの値を選択します。

メモ:この例のモデルのプロセッサに返送されたデータを eCAN_A が受信するために、セルフ テスト モードが有効になっています。セルフ テスト モードが無効の場合、この例を正しく機能させるには、CAN の送信側と受信側を物理的に接続しなくてはなりません。

Simulate Duty Cycle Change と Simulate PWM Waveform は、シミュレーション専用であることに注意してください。これらのブロックを使用して、生成コードによって得られる効果のシミュレーションを実行して観察します。

ハードウェア接続

ボードの PWM1 の出力をオシロスコープのアナログ入力に接続します。

CAN モジュールは、セルフ テスト モードで動作するように設定されています。CAN のハンドシェーキング信号がソフトウェアでエミュレートされるため、外部の CAN ハードウェアは必要ありません。

シミュレーションでの例の実行方法

  • 使用しているプロセッサ ファミリに対応するモデルを開きます。

  • [シミュレーションを開始] ボタンをクリックします。

  • Duty Cycle Change ブロックをダブルクリックして、新しいデューティ比の値を選択します。

  • PWM 波形の変動を観察します。

ボード上での例の実行方法

  • 使用しているプロセッサ ファミリに対応するモデルを開きます。

  • 各モデルは、既定のプロセッサ用に構成されています。[モデル コンフィギュレーション パラメーター] ダイアログを開き、[コード生成] の下で [Coder Target] を選択します。次に、[Target Hardware Resources] ダイアログをクリックして、別のプロセッサを選択します。

  • [Peripherals][eCAN_A] と移動し、[Self-Test Mode] をオンにします。

  • [Build/Reload & Run] ボタンをクリックして、プログラムの生成、ビルド、読み込みおよび実行を行います。

  • 表示されたダイアログで、新しいデューティ比の値を選択します。

  • オシロスコープの PWM 波形を観察します。

この情報は役に立ちましたか?