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

ENCODER_CLOCK (MA) 生成

ENCODER_CLOCK すなわち BiSS MA の生成は、前のセクションで示した CLB_SPI_CLOCK の生成と似ています。2 つの主な相違点があります。

  • 生成される MA クロックの合計数は、応答を受信するタイミングによって異なります。
  • CDM ビットを示すために、MA 信号の最後は High または Low に保持される必要があります。

図 2-18 のマーカー (1) は、図 2-17 に示すロジックによってエンコーダの ACK が検出された時点を示します。マーカー (1) より前には、不明な数の MA クロックが生成されています。マーカー (1) 以降、必要な追加 MA クロックの数は X + 4 + 6 です。ここで、

  • X ビット:位置ビットの合計 (シングル ターン + マルチ ターン)
  • 4 ビット:スタート ビット + CDM ビット + エラー ビット + 警告ビット
  • 6 ビット:CRC ビット

この数値は、アプリケーションによって TILE4 HLC レジスタ R0 に保存されます。HLC は、この値と現在のカウンタ値を使用して、クロックの総数 (COUNTER_1 match1) を調整します。その例については、図 2-18 を参照してください。

  1. X = 13 であるとすれば、アプリケーションは 23 を HLC R0 に保存します
  2. マーカー (1) で ACK が検出されると、HLC プログラムがトリガされます。
  3. HLC が現在の CLB_ENCODER_CLOCK_COUNT (4) を読み出し、R0 (23) を加算して 27 になります
  4. HLC は、27 を TILE4 COUNT_1 match1 にロードします
  5. CLB_ENCODER_CLOCK_COUNT が match1 に達すると、MA クロックの生成が完了します。
TIDM-1010 ENCODER_CLOCK (MA) 生成図 2-16 ENCODER_CLOCK (MA) 生成
TIDM-1010 エンコーダの ACK 検出ロジック図 2-17 エンコーダの ACK 検出ロジック
TIDM-1010 MA 生成シミュレーション波形:CDM 信号 High図 2-18 MA 生成シミュレーション波形:CDM 信号 High

CDM ビットは、エンコーダの各 BiSS-C フレームに転送される 1 ビットの制御データです。現在の CDM ビットを示すために、MA 信号の最後は High または Low に保持される必要があります。図 2-18 に、BISSC_CDM_BIT のレベルが High である場合のシミュレーション波形を示します。図 2-19 に、BISSC_CDM_BIT 信号が Low である場合のシミュレーション波形を示します。BISS_CDM_BIT 信号は、タイルの GPREG への C28x CPU 書き込みによって制御されます。

注: この説明において、信号の状態 (High または Low) というのは、BISS_CDM_BIT 信号のレベルを示します。実際の CDM ビット値は、エンコーダによって信号レベルの反転として解釈されます。たとえば、BISS_CDM_BIT 信号が High の場合、エンコーダは CDM ビット値を 0 として検出します。ソフトウェア ライブラリはこの反転を考慮しています。

Tile 4 FSM_0 は、CLB_ENCODER_CLOCK_COMPLETE により FRAME_STATE が変化したときに、MA 信号に BISS_CDM_BIT レベルを付加します (図 2-16)。BISSC_CDM_BIT のレベルが Low の場合は、出力で ENC_CLOCK_MA から余分なエッジが除去されます (図 2-19)。

TIDM-1010 MA 生成シミュレーション波形:CDM 信号 Low図 2-19 MA 生成シミュレーション波形:CDM 信号 Low