このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
非同期スケジューリング
この例では、Texas Instruments™ C28x™ ペリフェラルと Hardware Interrupt ブロックを使用して、Simulink ® 関数呼び出しサブシステムのリアルタイム実行を非同期方式で制御する方法を示します。
必要なハードウェア
Spectrum Digital F2808/F2812/F28335 eZdsp またはTexas Instruments LaunchPad/controlSTICK/ controlCARD (ドッキングステーション付き)
オシロスコープとプローブ
利用可能なモデル
さまざまな C2000 プロセッサで使用可能な Simulink モデルは次のとおりです。
F281x ベースのボード: c281x_asyncscheduling_ert.slx
F280x/F2823x/F2833x ベースのボード: c280x_2833x_asyncscheduling_ert.slx
Piccolo F2803x/F2806x ベースのボード: c280xx_asyncscheduling_ert.slx
Concerto F28M35x/F28M36x ベースボード: c28M3xx_asyncscheduling_ert.slx
Piccolo F2807x/F28004x または Delfino F2837xS/F2837xD ベースのボード: c2807x_2837xx_asyncscheduling_ert.slx
メモ: F28M35x/F28M36xcontrolCARDを使用するには、C2000™ Microcontroller Blockset が必要です。
モデル例
c280x_2833x_asyncscheduling_ert.slx サンプルモデルを開きます。

EV タイマーまたはePWMブロックは、タイマー割り込みを構成するために使用されます。タイマー割り込みはタイマー期間に基づいてトリガーされ、メッセージが受信されると eCAN メッセージ受信割り込みがトリガーされます。Hardware Interrupt ブロックは、タイマー割り込みと eCAN メッセージ受信割り込みの割り込みサービス ルーチン (ISR) をトリガーします。ISR は、Hardware Interrupt ブロックの出力ポートに接続された関数呼び出しサブシステムを呼び出します。
最初の 2 つのサブシステムの出力は、フリーランニング カウンターです。カウンタの合計は、F2812 の PWMB または F2808/F28335 の ePWM2 のデューティ サイクルを制御するために使用されます。PWM 波形のデューティ サイクルは 0 から 100% まで直線的に増加します。3 番目のサブシステムには、メッセージ出力によって PWM ブロック (F2812 の場合は PWMA、F2808/F28335 の場合は ePWM1) のデューティ サイクルを制御する eCAN Receive ブロックが含まれています。eCAN メッセージは eCAN 送信ブロックから受信されるため、デューティ サイクルは 0 ~ 100% の範囲で変化します。
メモ: eCAN_A の セルフテスト モードを有効にすると、eCAN_A トランスミッタとレシーバが内部的に接続され、トランスミッタとレシーバ間の外部接続が回避されます。eCAN_A の セルフテスト モードを無効にするには、送信機と受信機を外部で接続する必要があります。
ボード上でモデルを実行する
Simulink モデルに対応するアプリケーションを構成、ビルド、およびデプロイするには:
フォールトトレラント燃料制御システムのモデル化 の例を参照してください。
ターゲット ハードウェアに対応するモデルを開きます。各モデルは、デフォルトのターゲット ハードウェア用に構成されています。別のターゲット ハードウェアを選択するには、[構成パラメーター] > [ハードウェア実装] > [ハードウェアボード] を参照します。
ターゲット ハードウェア リソース > eCAN_A に移動し、セルフテスト モード を選択して、OK をクリックします。
ハードウェア タブで、ビルド、デプロイ & 開始 > スタンドアロン ビルド をクリックして、プログラムを生成、ビルド、ロード、実行します。
オシロスコープでPWM波形の変化を観察します。