JAJU534E october   2022  – july 2023

 

  1.   1
  2.   概要
  3.   リソース
  4.   特長
  5.   アプリケーション
  6.   6
  7. 1システムの説明
    1. 1.1 主なシステム仕様
  8. 2システム概要
    1. 2.1 ブロック図
    2. 2.2 主な使用製品
      1. 2.2.1 C2000 リアルタイム MCU LaunchPad
      2. 2.2.2 SN65HVD78
      3. 2.2.3 TLV702
      4. 2.2.4 TPS22918-Q1
    3. 2.3 設計上の考慮事項
      1. 2.3.1 Tamagawa T フォーマットのプロトコル
      2. 2.3.2 C2000 T フォーマット・エンコーダ・インターフェイスの概要
      3. 2.3.3 TIDM-1011 の基板実装
      4. 2.3.4 MCU のリソース要件
      5. 2.3.5 デバイス固有のリソース使用
        1. 2.3.5.1 CRC の計算
        2. 2.3.5.2 入力、出力信号、CLB タイル
      6. 2.3.6 CLB T フォーマットの実装の詳細
        1. 2.3.6.1 トランザクションの波形
          1. 2.3.6.1.1 IDLE 状態
          2. 2.3.6.1.2 TRANMIT_DATA 状態
          3. 2.3.6.1.3 WAIT_FOR_START 状態
          4. 2.3.6.1.4 RECEIVE_DATA の状態
        2. 2.3.6.2 通信タイルの設計
        3. 2.3.6.3 ロジック・ビュー
      7. 2.3.7 CLB 受信データ CRC の実装
      8. 2.3.8 PM T フォーマット・エンコーダ・インターフェイス・ライブラリ
        1. 2.3.8.1 PM T フォーマットのリファレンス実装コマンド
        2. 2.3.8.2 PM T フォーマットのリファレンス実装でサポートされる機能
  9. 3ハードウェア、ソフトウェア、テスト要件、テスト結果
    1. 3.1 ハードウェア
      1. 3.1.1 TIDM-1011 のジャンパ構成
    2. 3.2 ソフトウェア
      1. 3.2.1 C2000 ドライバ・ライブラリ (DriverLib)
      2. 3.2.2 C2000 SysConfig
      3. 3.2.3 C2000 構成可能ロジック・ブロック・ツール
      4. 3.2.4 Code Composer Studio™ と C2000WARE-MOTORCONTROL-SDK のインストール
      5. 3.2.5 リファレンス・ソフトウェアの場所
    3. 3.3 テストと結果
      1. 3.3.1 ハードウェアの構成
      2. 3.3.2 プロジェクトのビルドおよびロード
      3. 3.3.3 コードの実行
      4. 3.3.4 ケーブル長の検証
      5. 3.3.5 ベンチマーク
      6. 3.3.6 トラブルシューティング
  10. 4設計ファイル
  11. 5関連資料
    1. 5.1 商標
  12. 6用語
  13. 7著者について
  14. 8改訂履歴

トランザクションの波形

CLB 設計を実装するときは、最初に波形を使用して必要な CLB の動作を視覚化すると便利です。これを行うには、まずトランザクションの例を考えます。T フォーマットのトランザクションは、要求の送信とエンコーダの応答で構成されることを思い出します。送信は、図 2-11 に示すように、いくつかの FRAME_STATE に分割できます。最初の手順は、トランザクションの各要素を CLB サブモジュールにマッピングすることです。表 2-12 にマッピングの例を示します。

表 2-12 T フォーマットのトランザクションから CLB へのマッピング
トランザクションの動作 CLB へのマッピング
FRAME_STATE の追跡 有限ステート・マシン (FSM):以前の状態と現在の入力を与えられたとき、新しい状態に遷移します。
生成されたクロック数のカウント COUNTER:TRANSMIT_DATA および RECEIVE_DATA 状態のとき、クロックのエッジでインクリメントするように構成されています。mode0 入力は、カウンタがいつアクティブになるか、いつ停止するかを制御します。COUNTER と一致する値を利用して状態遷移を実行します (TRANSMIT_DATA から WAIT_FOR_START へ、および RECEIVE_DATA から IDLE へ)。
特定の幅のクロック信号を生成 この要件は、2 番目の COUNTER にマップされます。一致する値を利用して、立ち上がり / 立ち下がりエッジのタイミングを生成します。その後、LUT (ルックアップ・テーブル) が、このタイミングに基づいて実際のエッジを生成します。
クロックをエンコーダの応答に揃える クロックを生成する COUNTER は、エッジ遷移がエンコーダの応答と適切に揃うように構成できます。
送信および受信中のみ、SPI にクロックを供給する LUT は、不要なときにクロックをブロックします。
TxEN の制御 LUT は、現在の FRAME_STATE を利用して信号を制御します。
CLB にトランザクションの開始を指示 C28x は、トランザクションの COUNTER と SPI を構成します。CLB GPREG により、C28x CPU は CLB 入力を直接変更してトランザクションを開始できます。
GUID-20221011-SS0I-GBLK-DPTC-MHLKHV03BGDM-low.svg図 2-11 T フォーマットのトランザクションの例

次の手順は、特定のサブモジュールの動作を視覚化することです。最初は簡単なスケッチを作成します。その後設計の進展に合わせて詳細を追加します。図 2-12 に波形の例を示します。

GUID-20221011-SS0I-DXMT-JM3M-QSTWKKXWRT4H-low.svg図 2-12 CLB 通信の波形
注: 図 2-12 は、CLB SystemC シミュレーション・モデルを使用し、エンコーダの応答としてカスタム入力を使用して生成されたものです。送信された要求は、図 2-12 に具体的には示されていません。SPI モジュールは、TRANSMIT_DATA (または SEND_DATA) フェーズ中に、CLB_SPI_CLK に基づいて要求を送信します。

以下のセクションでは、図 2-12 のマーカー 1~6 を使用して、そのマーカーにおける設計の具体的な動作を説明します。マーカーには次のものがあります。

  1. IDLE から TRANSMIT_DATA (または SEND_DATA) への遷移
  2. WAIT_FOR_START への遷移
  3. WAIT_FOR_START の間
  4. RECEIVE_DATA への遷移
  5. RECEIVE_DATA の間
  6. IDLE に再度遷移

各 FRAME_STATE について説明した後で、セクション 2.3.6.2 、ではタイルの設計全体を提示します。各状態の説明を読むときは、セクション 2.3.6.2図 2-12 も参照してください。