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改訂履歴

通信タイルの設計

GUID-20221011-SS0I-7Z1W-5T8G-JHP1TNZXMNTB-low.svg図 2-13 T フォーマット通信タイル

通信タイルの設計を、図 2-13 に示します。このセクションでは、この設計の 3 つの主要なコンポーネントについて詳しく説明します。

  1. FRAME_STATE の生成 (FSM_1)
  2. ENCODER_RESPONSE の検出 (LUT_1)
  3. SPI CLK のアライメント (LUT_0)
注: 図 2-13 で、色付きの丸で囲まれた文字は、入出力図 (セクション 2.3.5.2) に記載されているページ外との接続を示しています。

他のサブモジュールの式は、CLB ツールでタイルの構成を調べることで確認できます。セクション 2.3.6.3 では、追加の情報が各ブロックの回路図として記されています。

FRAME_STATE ( FSM_1 s1、s0) の遷移を図 2-13 に示します。対応する方程式を導くためにカルノー写像が使用されます (表 2-13表 2-14)。得られた式は OR 演算子で結合され、CLB ツールに入力されます。式を最も簡単な形まで簡略化する必要はありません。

表 2-13 FRAME_STATE FSM_1 カルノー・マップ、状態 s0
電流入力
(e1、e0)
CLOCK_COMPLETE、TX_OR_RX
0,0 0,1 1,1 1,0
以前の統計
s1、s0
0,0
IDLE
0
IDLE
1(1)
TX
1(1)
TX
0
IDLE
0,1
TX
1(2)
TX
1(2)
TX
0
WAIT
0
WAIT
1,1
RX
1(3)
RX
1(3)
RX
0
IDLE
0
IDLE
1,0
WAIT
0
WAIT
1(4)
RX
1(4)
RX
0
WAIT
s0 = (!s1 & !s0 & e0)
s0 = (!s1 & s0 & !e1)
s0 = (s1 & s0 & !e1)
s0 = (s1 & !s0 & e0)
表 2-14 FRAME_STATE FSM_1 カルノー・マップ、状態 s1
電流入力
(e1、e0)
CLOCK_COMPLETE、TX_OR_RX
0,0 0,1 1,1 1,0
以前の統計
s1、s0
0,0
IDLE
0
IDLE
0
TX
0
TX
0
IDLE
0,1
TX
0
TX
0
TX
1(1)
WAIT
1(1)
WAIT
1,1
RX
1(2)
RX
1(2)
RX
0
IDLE
0
IDLE
1,0
WAIT
1(3)
WAIT
1(3)
RX
1(3)
RX
1(3)
WAIT
s1 = (!s1 & s0 & e1)
s1 = (s1 & s0 & !e1)
s1 = (s1 & !s0)

FSM_1 からの OUT 信号は、単純に現在の状態の論理和、すなわち s1 | s2 です。これは、フレームのアクティブな部分 (IDLE 以外) に対応しています。

エンコーダの応答を検出することも、設計のもう 1 つの重要な要素です。LUT_1 は、トランザクションの開始と、エンコーダの応答の開始を検出します。設計を簡素化するため、次の前提を行います。

  • ENCODER_RESPONSE の立ち下がりエッジは、START_OPERATION の立ち上がりエッジと同時に発生しない。
  • START_OPERATION の立ち上がりエッジは、IDLE 状態のときのみ発生する。

エンコーダが C28x から開始された送信にのみ応答し、C28x が START_OPERATION を制御する場合、これらの想定は妥当なものです。これらの前提条件から、式 out = (i3 & i2) & i1 | i0 が得られます。

  • FRAME_STATE == WAIT_FOR_START (i3 & i2) で、ENCODER_RESPONSE の立ち下がりエッジ (i1) なら、出力が High になる。
  • START_OPERATION の立ち上がりエッジ (i0) なら出力が High になる
  • それ以外の場合、出力は Low になる。

エンコーダの応答は、ケーブル遅延の関係で、どの時点でも到着する可能性があります。応答を正しく読み出すには、CLB_SPI_CLK を正しく揃える必要があります。LUT_0 は、クロック・アライメントとクロック幅の両方を操作します。アライメントとクロックはどちらも、LUT_0 が適切なタイミングで COUNTER_0 をリセットすることで操作されます。COUNTER_0 と一致する値は、CLB_SPI_CLOCK のエッジのタイミングを制御します。

  • クロック幅:CLOCK_WIDTH_REACHED (i3) が High のとき、COUNTER_0 をリセットする。
  • クロック揃え:FRAME_STATE が WAIT_FOR_START (i2 & !i1) または RECEIVE_DATA (i2 & i1) なら、ENCODER_RESPONSE の任意のエッジ (i0) で COUNTER_0 をリセットする。

これにより、式 LUT_0 out = i3 | ( ( ( i2 & !i1) | (i2 & i1) ) & i0 ) が得られます。

他のサブモジュールの式は、CLB ツールでタイルの構成を調べることで確認できます。セクション 2.3.6.3 では、追加の情報が各ブロックの回路図として記されています。