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

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
keni_4440091
Level 7
Level 7
500 replies posted 100 solutions authored 50 solutions authored

Hi

I want to translate KBA228346, please confirm to my work.

Regards,

Nino

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Nino-san

Confirm to work.

Thanks,

Jenna

Jenna Jo
0 Likes
  1. タイトル:FX3GPIFにシリアルOUTインターフェースを設定する - KBA228346

バージョン 1

ChaitanyaV_61 2019/09/24 23:59 に作成。ChaitanyaV_61 2019/09/24 23:59 に変更。

Author: HemanthR_06          Version: **

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

ビット

名前

記述

ビット0

GPIF_SEROUT_ENABLE

1: SERIAL_MODEでシリアル出力を有効

0: シリアル出力を無効

ビット1

GPIF_SEROUT_SOCKET_MODE

シリアルデータのデータソースとして選択されたGPIFスレッドに関連するソケットを設定するためにこのビットを‘1’にセット

ビット3:2

GPIF_SEROUT_THREAD_NUMBER_MASK

シリアルデータのデータソースのスレッド数を記述

ビット4-6

予備

ビット 7

PACK

‘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

フレーム内のビット数

ワードサイズフィールド

パック

コメント

1

0

1

シリアル出力データは32ビットでゼロ詰めされます。GPIFシリアル出力のデータソースはCY_U3P_PIB_SOCKET_X として構成されます(例えば、DMAチャネル生成で提供されたコンシューマーソケットはCY_U3P_PIB_SOCKET_X
 
です)。

例えば、0x8181がソケットにコミットされている場合、GPIFシリアル出力は0x00008181になります。これはMSbがゼロ詰めされていることを意味します。従って、詰める必要がないのであれば複数の32ビット(例えば4バイト)のデータのコミットを確認して下さい。

2

1

4

3

8

7

16

15

32

31

上記にないもの

(フレーム内のビット数) -1

1 フレームに送られるビット数は5です(ワードサイズフィールドは4に設定される必要があります)。ソケットに0xABC10001ABC10010ABC10100ABC11000ABCは‘0’か‘1’)をコミットする場合、シリアル出力データは0x10001100101010011000になります。: LSbファーストで送信されます。

2 フレームで送られるビット数は13です(ワードサイズフィールドは12に設定する必要があります)。

ソケットに0xABC1000101010010ABC1010010011000ABCは‘1’か‘0’)をコミットする場合、シリアル出力データは0x10001010100101010010011000となります: LSbファーストで送信されます。

従って、詰める必要がないのであれば複数の32ビット(例えば4バイト)のデータのコミットを確認して下さい。

X

X-1

0

コミットデータから、最初のカラムに定義されたビット数のみが送信されます; 残りのデータは次にコミットされる32ビットワードまで切り捨てられます。

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

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

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

pastedImage_3.png

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

  pastedImage_4.png

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

pastedImage_5.png

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

pastedImage_6.png

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

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

pastedImage_7.png

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

pastedImage_8.png

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

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

0 Likes