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

CLB_SPI_CLOCK の生成

CLB は、エンコーダの応答を検出し、SPI にクロックを供給してデータを受信する役割を果たします。最初にクロックのデューティと周波数を考慮します。図 2-14 に、SPI クロックを生成する CLB ロジックを示します。対応するシミュレーション波形を 図 2-15 に示します。

最初のステップは、指定された周波数とデューティを持つクロック (SPI_CLOCK) を生成することです。SPI_CLOCK の生成において:

  • TILE3_COUNTER_1:クロックのデューティおよび周波数 (幅) を決めます。SPI_CLOCK の High 遷移から Low 遷移までの時間は、CLB クロックの数で測定されます。以下の一致信号を使用します。
    • zero match:クロックの Low 遷移に対応
    • match1:クロックの High 遷移に対応
    • match2:クロックの幅に対応
  • TILE3_FSM_1:COUNTER_1 の一致値 (match1 および zero match) に基づいてクロック エッジを生成します
  • TILE3_LUT_0:COUNTER_1 match2 出力で示されるクロック幅に達したときにカウンタをリセットします

2 番目のステップは、クロックを受信データと整列させることです。これは、SPI がエンコーダの応答を正しく受信するために必要です。クロックの整列には、次の 2 つの課題があります。

  1. セクション 2.3.1.1 で説明しているように、ケーブル伝搬遅延のせいで、応答は任意の時刻に到着する可能性があります。
  2. セクション 2.3.1.2 で説明しているように、エンコーダは、アクノリッジ (ACK) を遅延させて、追加の処理時間を要求することもできます。

クロックを整列させるために、LUT_0 は、応答信号の立ち上がりエッジを監視します。最初の立ち上がりエッジは、アクノリッジ (ACK) ビットの後のスタート ビットに対応します。このエッジが検出されると、LUT_0 は COUNTER_1 をリセットし、SPI_CLOCK を応答に整列させます。

3 番目のステップは、内部 SPI_CLOCK に基づいて CLB_SPI_CLOCK を生成することです。図 2-15 に例を示します。

  • SPI_CLOCK は、SPI が応答を受信するのに必要とされるよりも長い時間生成されます
  • CLB_SPI_CLOCK は、応答を受信するために必要なクロック数のみを出力します
これは、TILE4_FSM_2 を使って SPI_CLOCK_OUTPUT_ENABLE 信号を生成することにより実現されます。この信号は、OUTLUT によって、必要に応じて SPI_CLOCK を許可 /ブロックするために使用されます。

TIDM-1010 CLB_SPI_CLOCK の生成図 2-14 CLB_SPI_CLOCK の生成
TIDM-1010 SPI クロック生成のシミュレーション波形図 2-15 SPI クロック生成のシミュレーション波形