このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
C2000ベースのハードウェアを使用したシリアルデータのエンコードとデコード
この例では、C2000™ Microcontroller Blockset を使用して、TI の™ C2000 ベースのハードウェアでシリアル データをエンコードおよびデコードする方法を示します。
はじめに
この例では、Simulink モデル が次のアクションを実行します。
送信側では、複数のフィールドが Protocol Encoder ブロックを使用してパケットにエンコードされ、結果の uint8 バイト ストリームが C28x SCI Transmit ブロックを使用して送信されます。
受信側では、バイト ストリームは C28x SCI Receive ブロックを使用して受信され、Protocol Decoder ブロックを使用して個体のフィールドにデコードされます。新しいデータが利用可能であることを示す SCI Receive ブロックのステータス出力は、Protocol Decoder ブロックを含む有効なサブシステムをトリガーするために使用されます。
このモデルでは、SCI モジュール B の Tx ピンは、TI Delfino F28379D LaunchPadの SCI モジュール B の Rx ピンにシリアル データを送信します。
このモデルは、XCP ベースの外部モードで実行するように構成されています。外部モードの詳細については、Signal Monitoring and Parameter Tuning over XCP on Serial を参照してください。
c2000_encode_decode_packet モデルを開きます。

この例で提供されるモデルは、TI Delfino F28379D LaunchPad用に事前構成されています。このモデルは、Simulink モデルの ハードウェアボードパラメーターで使用可能な任意の TIボードで実行できます。ハードウェアボードパラメーターを変更する方法の詳細については、ステップ 2 を参照してください。この例の「接続されたハードウェア 」セクションのモデルを構成します。
必要なハードウェア
この例を実行するには、次のハードウェアが必要です。
Texas Instruments™ Delfino F28379DLaunchPad
接続ワイヤー
USB ケーブル
手順 1: F28379D LaunchpadのTXピンとRXピンを接続する
1. USB ケーブルを使用して、TI Delfino F28379D LaunchPad をコンピューターに接続します。
2。SCI B モジュールの Tx ピン (GPIO18 ピン) を SCI B モジュールの Rx ピン (GPIO19 ピン) に接続します。この接続はループバック接続です。
手順 2: 接続されたハードウェアのモデルを構成する
1. c2000_encode_decode_packet モデルを開きます。このモデルは、XCP ベースの外部モードで実行するように構成されています。
2. モデルを構成するには、Simulink ® ツールバーの ハードウェア タブにある ハードウェア設定 をクリックします。
3. [構成パラメーター]ダイアログ ボックスで、[ハードウェア実装] を選択します。
4. ハードウェアボード リストから、使用している TI の C2000 ベースのプロセッサを選択します。
5. ターゲット ハードウェア リソース の下で、SCI_B タブをクリックし、ボー レートやピン割り当てなどのプロパティを構成します。

通信に他の GPIO ピンを使用している場合は、それに応じて ピン割り当てパラメーター値の選択を変更します。
6. [適用] をクリックします。[OK] をクリックしてダイアログ ボックスを閉じます。
手順 3: Simulink モデルのブロックを構成する
この例で使用されるパケット構造は次のとおりです。

ブロックをダブルクリックし、[ブロックパラメーター]ダイアログ ボックスで指定されたパラメーター値を確認します。

他のブロックの場合、パラメーターは次のとおりです。
Block | Parameter Name | Value
---------------------------------------------------------------------------------
Constant | Interpret vector parameters as 1-D | selected
| Sample time | inf
SCI Transmit | SCI module | B
SCI Receive | SCI module | B
| Data type | uint8
| Data length | 10
| Sample time | 0.1
Display Status | Format | shortSCI Receive ブロックの データ長パラメーターの値は、次の値の合計である 10 に設定されています。
Header size (1 byte) + Data1 (1 byte) + Data2 (2 bytes) + Data3 (4 bytes) + Checksum (1 byte) + Terminator (1 byte)
手順 4: XCPベースの外部モードでモデルを実行する
モデルを XCP ベースの外部モードでシミュレートし、モデルをハードウェア上に C コードとして展開することができます。コードはハードウェアからリアルタイムデータを取得します。
XCP ベースの外部モード用のモデルのセットアップ
1. モデルを構成するには、Simulink ツールバーの ハードウェア タブで ハードウェア設定 をクリックします。
2. [構成パラメーター]ダイアログ ボックスで、[ハードウェア実装] を選択します。
3. ターゲット ハードウェア リソース の下で、外部モード タブをクリックし、通信インターフェイス と SCI モジュールパラメーターとしてそれぞれ XCP on Serial と SCI_A を選択します。C2000 ベース プロセッサが接続されているホスト コンピュータの COM ポートに対応する値を選択します。

4. [適用] をクリックします。[OK] をクリックしてダイアログ ボックスを閉じます。
停止時間 (シミュレーション タブ) はすでに inf に設定されています。
XCP ベースの外部モードでモデルを実行する
1. アプリケーションがターゲット ハードウェア上で実行されている間に、このモデルのパラメーターを調整し、信号を監視するには、[ハードウェア] タブで [監視と調整] をクリックします。
モデル ウィンドウの左下隅には、Simulink がハードウェア上でモデルを準備、ダウンロード、実行している間のステータスが表示されます。
各タイム ステップで、Constant ブロックで指定されたデータは uint8 バイト ストリーム (パケット) にエンコードされ、TX1 ピンによって C2000 ベース プロセッサの RX1 ピンに送信されます。Display encoded data ブロック内のパケット構造に従って生成された uint8 バイト ストリームを確認できます。
RX1 ピンは、Protocol Decoder ブロックを使用してデコードされた uint8 バイト ストリームを受信し、それを Display Decoded data ブロックに表示します。Display Decoded data ブロックの出力を観察します。これは、送信側の Constant ブロックに指定された値と同じになります。
2. Protocol Encoder ブロックへの入力として接続されている Constant ブロックの値を変更し、同じ値が Protocol Decoder ブロックによってデコードされるかどうかを確認します。
3. モデルの実行を停止するには、停止 をクリックします。
その他の試行
ブロック プロパティを使用して別のパケット構造を指定し、
Displayブロック内のエンコードされたデータとデコードされたデータを観察してみてください。