JAJU533A April   2018  – November 2024

 

  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 BiSS-C プロトコル
        1. 2.3.1.1 ライン遅延補償
        2. 2.3.1.2 エンコーダによる処理時間要求
        3. 2.3.1.3 制御通信
      2. 2.3.2 C2000 BiSS-C エンコーダ インターフェイスの概要
      3. 2.3.3 TIDM-1010 の基板実装
      4. 2.3.4 MCU のリソース要件
        1. 2.3.4.1 入力、出力信号、CLB タイル
      5. 2.3.5 CLB BiSS-C 実装の詳細
        1. 2.3.5.1 トランザクションの波形
        2. 2.3.5.2 FRAME_STATE の生成
        3. 2.3.5.3 CLB_SPI_CLOCK の生成
        4. 2.3.5.4 ENCODER_CLOCK (MA) 生成
      6. 2.3.6 PM BiSS-C インターフェイス ライブラリ
        1. 2.3.6.1 PM BiSS-C ライブラリ関数
  9. 3ハードウェア、ソフトウェア、テスト要件、テスト結果
    1. 3.1 ハードウェア
      1. 3.1.1 TIDM-1010 のジャンパ構成
    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ソフトウェア ファイル
  12. 6関連資料
    1.     商標
  13. 7用語
  14. 8著者について
  15. 9改訂履歴

FRAME_STATE の生成

このセクションでは、FRAME_STATE の生成について詳しく説明します。FRAME_STATE は、トランザクション内のいずれか特定の時点で、どのクロックが生成されるかを決定します。

FRAME_STATE (FSM_1 s1、s0) は、次の 4 つの状態を遷移します。

  • IDEL:
    • アクティビティなし
    • CLB は START_OPERATION 信号の立ち上がりエッジを待機して、エンコーダ クロックの送信を開始します。
  • TRANSMIT_MA:
    • エンコーダ クロックを送信します
    • エンコーダからの ACK の応答を監視します
  • TRANSMIT_MA_AND_RECEIVE_SL
    • エンコーダ クロックの送信を続けます
    • SPI クロックを開始して、応答を受信します
    • この期間中は、エンコーダ クロックと SPI クロックの両方がアクティブになります。
  • RECEIVE_SL:
    • エンコーダ クロックの送信が完了しました
    • MA 信号において CDM ビットはアクティブです
    • SPI クロックを供給して、応答の受信を終了します。
    • 使用するデータの長さと SPI 幅に応じて、追加の SPI クロックを生成して、SPI 割り込みをトリガできます。
TIDM-1010 FRAME_STATE の生成図 2-13 FRAME_STATE の生成

対応する式を導出する方法の 1 つは、カルノー マップ (表 2-5 および 表 2-6) を使用することです。得られた式は OR 演算子で結合され、CLB ツールに入力されます。式を最も簡単な形に簡略化する必要はありません。

表 2-5 FRAME_STATE FSM_1 カルノー マップ、状態 s0
現在の入力
(e1、e0)
RESPONSE_RE、START_OPERATION、または ENCODER_CLOCK_COMPLETE
0.0 0.1 1.1 (1) 1.0
以前の統計
s1、s0
0,0
IDLE
0 1 (2) 1 (2) 0
0,1
TRANSMIT_MA
1 (3) 1 (3) 0 0
1,1
RECEIVE_SL
1 (4) 1 (4) 1 (4) 1 (4)
1,0
TRANSMIT_MA
RECEIVE_SL
0 1 (5) 1 (5) 0
無効な、または予期しない e1:e0 の組み合わせに対応します。このような場合、システム設計者がステート マシンの動作を決定します。
!s1 & !s0 & e0
!s1 & s0 & !e1
s1 & s0. C28x は状態 1,1 から IDLE へ強制的に遷移します。
s1 & !s0 & e0
表 2-6 FRAME_STATE FSM_1 カルノー マップ、状態 s1
現在の入力
(e1、e0)
RESPONSE_RE、START_OPERATION、またはENCODER_CLOCK_COMPLETE
0.0 0.1 1.1 1.0
以前の統計
s1、s0
0,0
IDLE
0 0 0 0
0,1
TRANSMIT_MA
0 0 1 (1) 1 (1)
1,1
RECEIVE_SL
1 (2) 1 (2) 1 (2) 1 (2)
1,0
TRANSMIT_MA RECEIVE_SL
1 (3) 1 (3) 1 (3) 1 (3)
!s1 & s0 & e1
s1 & s0.C28x は状態 1,1 から IDLE へ強制的に遷移します。
s1 & !s0

FSM_1 からの OUT 信号は、IDLE 状態に対応します。

エンコーダの応答を検出することも、設計のもう 1 つの重要な要素です。図 2-13 に示す LUT_2 は、エンコーダの ACK を検出します。FRAME_STATE が WAIT_FOR_ACK (0,1) であり、かつ ENCODER_RESPONSE_RE が High になると、ACK が検出されたことになります。これにより、次の式が得られます。i0 & (i1 & !i2):

  • i0 == 1:ENCODER_RESPONSE_RE が high になる
  • (!i2 & i1) == FRAME_STATE == WAIT_FOR_ACK (0,1)