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

表 2-4 BiSS-C のトランザクションから CLB へのマッピング
トランザクションの動作 CLB へのマッピング
FRAME_STATE の追跡 有限ステート マシン (FSM):以前の状態と現在の入力を与えられたとき、新しい状態に遷移します。
所定の幅の 2 つのクロック信号 (MA 用と SPI クロック用) を生成。 各信号に対して、この要件はカウンタにマップされます。一致値を利用して、立ち上がり / 立ち下がりエッジのタイミングを生成します。その後、LUT (ルックアップ テーブル) が、このタイミングに基づいて実際のエッジを生成します。
MA および SPI クロックに対して所定の数のクロック パルスを送信します。 各クロックに対して、これはカウンタにマップされます。クロックのエッジでカウンタがインクリメントし、一致値がその数値に達したことを示します。
SPI クロックをエンコーダの応答に整列 SPI クロックを生成するカウンタは、エッジ遷移がエンコーダの応答と適切に整列するように構成できます。
エンコーダの応答を受信するときのみ SPI へのクロック供給を許可 LUT は、クロックが不要なときにクロックをブロックします。
BiSS タイムアウトの間、MA 信号を High または Low に保持 (CDM ビット) GPREG 入力を使用して、CDM が High または Low のどちらであるべきかを、C28 から CLB に通知できます。これを LUT と組み合わせると、所定の数のクロックが送信された後、MA に値が保持されます。
TxEN の制御 BiSS-C の場合、TxEN は Low に保持されます。CLB 出力 LUT は、定数「0」を出力に適用できます。
MA を送信して、トランザクションを開始するように CLB に指示 C28x は、トランザクションの COUNTER と SPI を構成します。CLB GPREG により、C28x CPU は CLB 入力を直接変更してトランザクションを開始できます。
TIDM-1010 BiSS-C シングル サイクル データ トランザクションの例図 2-11 BiSS-C シングル サイクル データ トランザクションの例

次の手順は、特定のサブモジュールの動作を視覚化することです。最初は簡単なスケッチを作成します。その後設計の進展に合わせて詳細を追加します。図 2-12 は、CLB SystemC シミュレーション モデルを使用し、カスタム入力をエンコーダの応答として生成された波形の例です。図 2-12 は実際の設計によって生成されましたが、この図の詳細は予備段階のスケッチと同様になっています。

TIDM-1010 CLB 通信の波形図 2-12 CLB 通信の波形

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

  1. IDLE から TRANSMIT_MA への遷移
  2. TRANSMIT_MA から TRANSMIT_MA_AND_RECEIVE_SL への遷移
  3. TRANSMIT_MA_AND_RECEIVE_SL の期間中
  4. RECEIVE_SL への遷移

IDEL 時には、インターフェイス上でアクティビティはありません。C28x は、次の方法でトランザクションを開始する必要があります。

  • CLB および SPI を構成する
  • CLB タイルの GPREG レジスタにより START_OPERATION 信号を High にプルする。GPREG は CLB の汎用レジスタで、C28x はこのレジスタを使用してタイルの入力を直接制御できます。

以下を参照してください。図 2-12、マーカー (1)

CLB の立ち上がりエッジ フィルタがその入力に対してイネーブルなので、START_OPERATION は 1 CLB_CLOCK の間 High に維持されます。マーカー (1) において、メイン ステート マシン (Tile4 の FSM1) は、FRAME_STATE を IDLE から TRANSMIT_MA 状態に遷移させて応答します。

TRANSMIT_MA の期間中:エンコーダ インターフェイスは MA 信号をエンコーダに送信します。この信号は、所定のデューティ サイクルおよび定義されたクロック サイクル数を持つクロックです。サイクル数は、エンコーダの分解能によって異なります。MA にクロックを供給しているとき、CLB は SL ラインを監視してエンコーダの応答を検出します。

以下を参照してください。図 2-12、マーカー (2)

エンコーダの応答を検出するため、CLB は SL の立ち上がりエッジを監視します。立ち上がりエッジは、ACK 後のスタート ビットに相当します。応答の検出に必要な時間は、一定のクロック数ではなく変動する可能性があり、エンコーダの状態やケーブル長に依存します。さらに、エンコーダが応答するのに余分な時間を必要とする場合、ACK 状態が延長されます。

エンコーダのスタート ビットが検出されると、FRAME_STATE は MA の送信と SL の受信に遷移します。

以下を参照してください。図 2-12、マーカー (3)

CLB は、SPI ペリフェラルへのクロック供給を開始して、応答を受信します。

  • CLB は CLB_SPI_CLOCK を応答に整列させます。応答は、CLB が生成したクロックの立ち上がりエッジでサンプリングされます。
  • CLB_SPI_CLOCK は、ペリフェラルへの入力を直接オーバーライドすることにより SPI_CLK_IN に接続されます。
  • カウンタは、生成された SPI クロックの数を追跡します。このカウンタの match1 は、必要な SPI クロックが送信されたときを示します。SPI の FIFO が FIFO 割り込みレベルになるまでデータを満たすために、応答の長さに必要な値を上回る追加の SPI クロックが必要になることがあります。

以下を参照してください。図 2-12、マーカー (4)