FX3のGPIFにシリアルOUTインターフェースを設定する - KBA228346 - Community Translated (JA)

Version 3

    Community Translated by  keni_4440091        Version: **

     

    Translation - English: Configuring Serial OUT Interface in GPIF of FX3 – KBA228346

     

     

    GPIFインターフェースは外部ペリフェラルにシリアルにデータを転送するために設定可能ですが、GPIF II設計者ソフトウェアではこの設定はできません。従って、GPIF II設計者が作成したヘッダーファイルを修正し、手動で設定する事になります。

     

    1. GPIF設計者プロジェクトを生成し、ビルドする。
    2. 作成したGPIFヘッダーファイルで、CyFxGpifRegValue[]に下記の変更を施す:
    • ビット7およびCY_U3P_PIB_GPIF_CONFIGレジスタのビット141にセットする。

    例えば、CY_U3P_PIB_GPIF_CONFIGの値が0x80008330の場合、0x8000C3B0に変更する。

    1. CY_U3P_PIB_GPIF_SERIAL_OUT_CONFIGレジスタ(表1参照)に必要な変更を施す。異なる設定を選択した場合のシリアルデータの送信方法については表2を参照して下さい。

    注意: GPIF II 設計者ソフトウェアではシリアル設定が容易でないため、これらのレジスタ変更は、GPIFヘッダーファイルがGPIF設計者によって生成された後に自動的に作成されます。GPIFシリアルモードレジスタのC:\Program Files (x86)\Cypress\EZ-USB FX3
    SDK\1.3\firmware\fx3_sdk_1_3_4_src\sdk\firmware\include\gpif_regs.h
    を参照して下さい。

     

    1

     

    ビット名前記述
    ビット0GPIF_SEROUT_ENABLE1: SERIAL_MODEでシリアル出力を有効0: シリアル出力を無効
    ビット1GPIF_SEROUT_SOCKET_MODEシリアルデータのデータソースとして選択されたGPIFスレッドに関連するソケットを設定するためにこのビットを‘1’にセット
    ビット3:2GPIF_SEROUT_THREAD_NUMBER_MASKシリアルデータのデータソースのスレッド数を記述
    ビット4-6 予備
    ビット 7PACK‘1’に設定した場合:ワードが1248または16ビット長の場合、ソケットに充てる前に32ビットフィールドに入れて受信されます。他のワードサイズはMSBで次のバイトまたはハーフワード(16-ビット)にゼロ詰めされて受信し、32-ビット値に入れられます。0’に設定した場合:全ての32ビット値はサイズに関係なく1つのワードのみとなります。
    ビット 8-12ワードサイズ0’の設定は、1ビットはワードとして構成されます; 910ビットで1ワードを構成することを意味します。ワードの最初のビットはSOF(フレームの開始)が生成されます; 最後のビットではEOF(フレームの最後)が内部ハードウェアによって生成されます。SOFEOFおよびそれらのオフセットバリアントはDQラインに接続されます。

     

    注意:

    GPIFがシリアル通信に設定されると、ピン設定が下記のように変更になります:

    • DG[15] - シリアル出力; DQ[13] – SOF信号; DQ[12] – EOF信号

     

    2

     

    フレーム内のビット数ワードサイズフィールドパックコメント
    10 1シリアル出力データは32ビットでゼロ詰めされます。GPIFシリアル出力のデータソースはCY_U3P_PIB_SOCKET_X として構成されます(例えば、DMAチャネル生成で提供されたコンシューマーソケットはCY_U3P_PIB_SOCKET_X
     
    です)。
    例えば、0x8181がソケットにコミットされている場合、GPIFシリアル出力は0x00008181になります。これはMSbがゼロ詰めされていることを意味します。従って、詰める必要がないのであれば複数の32ビット(例えば4バイト)のデータのコミットを確認して下さい。
    21
    43
    87
    1615
    3231
    上記にないもの(フレーム内のビット数) -11 フレームに送られるビット数は5です(ワードサイズフィールドは4に設定される必要があります)。ソケットに0xABC10001ABC10010ABC10100ABC11000ABCは‘0’か‘1’)をコミットする場合、シリアル出力データは0x10001100101010011000になります。: LSbファーストで送信されます。 2 フレームで送られるビット数は13です(ワードサイズフィールドは12に設定する必要があります)。ソケットに0xABC1000101010010ABC1010010011000ABCは‘1’か‘0’)をコミットする場合、シリアル出力データは0x10001010100101010010011000となります: LSbファーストで送信されます。従って、詰める必要がないのであれば複数の32ビット(例えば4バイト)のデータのコミットを確認して下さい。
    XX-10コミットデータから、最初のカラムに定義されたビット数のみが送信されます; 残りのデータは次にコミットされる32ビットワードまで切り捨てられます。

     

    下記例は、異なるワードサイズが選択され、かつPACKが‘1’に設定された時の、GPIFインターフェース経由でのデータの送信を示しています:

     

    下記の図ではデータはシリアル出力データを示しています。ビットはLSbファーストで送信されています。

    1. ワードサイズフィールド: 1(例えばフレームのビット数: 2); PIBソケットへコミットされたデータ: 0x8181:
    2. ワードサイズフィールド: 3(例えばフレームのビット数: 2); PIBソケットへコミットされたデータ: 0x8181:

    /servlet/JiveServlet/downloadImage/102-18272-1-422119/pastedImage_15.png

        3.  ワードサイズフィールド: 4 PIBソケットへコミットされたデータ: 0x8181 

     

       4.  ワードサイズフィールド: 9 PIBソケットへコミットされたデータ: 0x81818181

     

       5.  ワードサイズフィールド: 18 PIBソケットへコミットされたデータ: 0x81818181

    下記の例は異なるワードサイズが選択され、かつPACKが‘0’に設定された時にGPIFインターフェース経由でデータが送られた様子を示しています:

     

     

    1. ワードサイズフィールド: 1 PIBソケットにコミットしたデータ: 0x000000003(2nd) 0x000000001(1st) (2つの32ビットワード)

     

      2. ワードサイズフィールド: 3 PIBソケットにコミットしたデータ: 0x00000000D(2nd) 0x00000000C(1st) (2つの32ビットワード)

      3. ワードサイズフィールド: 4 PIBソケットにコミットしたデータ: 0x00000001D(2nd) 0x00000000C(1st) (2つの32ビットワード)/servlet/JiveServlet/downloadImage/102-18272-1-422125/pastedImage_30.png     

     

              

    184 閲覧 カテゴリ: USB: SuperSpeed Peripherals タグ: serial, fx3, gpif ii, ss_usb, serial out