FX3 FAQs - KBA224051 (JA)

Version: *D

 

ハードウェア

Question: FX3のデータシートには、VBATT/VBUSの絶対最大定格が書かれていませんが、6 Vを超えても大丈夫でしょうか?

Answer: いいえ。動作条件でVBATT電源電圧を3.2 V6 Vと規定しているため、6 Vを超えないでください。

 

Question: FPGAから3.3Vの電圧が供給されたとき、CYUSB3KIT-003上で1.2 Vに変換できますか?

Answer: FPGAから供給された電圧をレギュレートする機能はFX3にはありません。

 

Question: FX3HX3SuperSpeed信号線を接続する時、これらの信号線にそれぞれESDデバイスを接続しなければなりませんか?

Answer: いいえ、必須ではありません。HX3には最大2.2 kV (HBM) の内蔵ESDがあります。追加で保護が必要な場合のみ、ESDデバイスをFX3側のSuperSpeed信号線に接続できます。

 

Question: Microchip 24LC256 EEPROMのアドレスはどのようになっていますか?AN76405にある24LC1024デバイスのように示してくれませんか?

Answer: FX3は最大8つのMicrochip 24LC256と接続が可能です。例として、 14つのMicrochip 24LC256 EEPROMと接続した時のアドレスを示します。

1

Device No.

Address Range

A2

A1

A0

Size

1

0x00000-0x07fff

0

0

0

32 KB

2

0x08000-0x0ffff

0

0

1

32 KB

3

0x10000-0x17fff

0

1

0

32 KB

4

0x18000-0x1ffff

0

1

1

32 KB

製品の詳細についてはMicrochip24LC256のデータシートを参照してください。

 

Question: PCBレイヤの推奨数はありますか?

Answer: 少なくとも4層のPCBを推奨しています。PCB層の最大数に制限はありません。

 

Question: ESD試験を実施した後に停止するのはなぜですか?

Answer: 試験の方法を再度確認し、適切に試験を行ってください。

FX3にはD+/D-およびGNDピンに、以下のESD保護が組み込まれていることに注意してください。

  1. JESD22-A114 仕様に基づいた ± 2.2 kV 人体モデル(HBM
  2. IEC61000-4-2 レベル 3A に基づいた ± 6 kV 接触放電および ±8 kV エアギャップ放電
  3. IEC61000-4-2 レベル 4C に基づいた ± 8 kV 接触放電および ±15 kV エアギャップ放電

SSRX+SSRX-SSTX+SSTX-ピンは最大±2.2 kV 人体モデル(HBM)を備えています。これらのSuperSpeed差動信号線は±2.2 kV HBMのみを備えているため、シリコンはIEC61000-4-2 レベル 3A およびレベル4Cの試験を外部のESD保護回路無しでは受けられません。

もしHX3のようなハブを介してFX3を使う場合、ハブのESD保護についても考慮してください。

 

ファームウェア

Question: 1回でもCY_U3P_DMA_ERRORが検出されると、DMA転送は停止しますか?エラーを解除して復帰する方法はありませんか?

Answer: エラー検出後は、再度DMA転送要求が発生しても、転送は実行されません。エラーを解除してDMA転送を再開することは可能ですが、まず原因であるエラーが起きる状態を回避することを推奨します。

 

Question: AN75779用のアイソクロナス (ISOC) 転送サンプルプログラムはありますか?

Answer: AN75779用のISOC転送サンプルはありません。AN75779のアイソクロナスUVCファームウェアを作成したい場合は、EZ-USB FX3 SDKにあるUSBVideoClassの例を参照してください。

Path: \Cypress\EZ-USB FX3 SDK\1.3\firmware\uvc_examples\cyfxuvcinmem

 

Question: GPIF IIのステートはどのように確認しますか?参考になる例はありますか?

Answer: 以下にGPIF IIステートを確認するためのプログラム例を示します。

uint8_t curState_p;

CyU3PGpifGetSMState(&curState_p);

CyU3PDebugPrint (4, "Current status = %d\r\n", curState_p);

GPIF IIステートの値はcyfxgpif2config.hで確認できますので、CyU3PGpifGetSMStateの返り値と比較してください。この返り値はデバッグ目的でのみご利用ください。APIの詳細については、\Cypress\EZ-USB FX3 SDK\1.3\doc\firmwareにあるFX3APIGuide.pdfを参照してください。

 

Question: AN75779のサンプルプロジェクト上でBACKFLOW_DETECTを有効にしました。CyU3PGpifDisable()FX3ファームウェアで呼ばれた場合、時々FX3からの応答が停止してしまいます。何故これが発生しますか?

Answer: アプリケーションでPIB/GPIFエラー割り込みが呼び出されていることにより、発生する可能性があります。BACKFLOW_DETECTを有効にする際は、CyU3PGpifDisable()実行中にCyU3PVicDisableAllInterrupts()を使ってすべての割り込みを無効にする必要があります。

以下がCyU3PVicDisableAllInterrupts()を使うためのサンプルコードです。cyu3vic.hに、このAPIが記述されているため、cyu3vic.hをファームウェアで宣言してください。

uint32_t intstate = CyU3PVicDisableAllInterrupts();

CyU3PGpifDisable (CyFalse);

CyU3PVicEnableInterrupts (intstate);

 

Question: Control Center上のD8hコマンドでSPI Flash (S25FS128S)Eraseできません。どうしたらいいですか?

Answer: EZ-USB FX3 SDKcyfxusbspidmamode exampleD8h eraseコマンドをサポートしています。(EZ-USB FX3 SDKは、\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbspidmamodeを参照してください)

このファームウェアは、SPI Flashデバイスに対してUSBインタフェースよりErase/Read/Writeが可能です。このファームウェアが書き込まれたFX3Custom deviceとしてエニュメレートされ、cyUsb3.sysドライバと通信します。またこのファームウェアはSPI FlashデバイスへアクセスするためのVendor コマンド提供します。

上記プロジェクトを試して、問題が解決されるか試してみてください。

 

Question: GPIF-IIを使わない場合、GPIO[0]-[7]GPIOとして使用することは可能ですか?

Answer: 可能です。CyU3PDeviceGpioOverride() APIでピンをオーバーライドし、CyU3PGpioSetSimpleConfig() APIまたはCyU3PGpioSetComplexConfig() APIでピンのコンフィギュレーションを設定してください。サンプルファームウェアのcyfxgpioappファイルを参考にしてください。cyfxgpioappファイルは、\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxgpioapp にあります。

Question: FX3でマルチスレッドを作成するのにはどのプロジェクトを参照すべきですか?

Answer: FX3 Code Examplesが参照できます。例えば、cyfxgpiocomplexapp3つのスレッドが使われます。

 

Question: cyfxUsbUart exampleを使い、ハードウェアフロー制御無しで長時間データを転送したところ、転送データが失われることがあります。どうしたら欠落なく転送データを送れますか?

Answer: データを欠落させることなくUART転送をしたい場合、ハードウェアフロー制御を使わなければなりません。

 

Question: cyfxUsbUart exampleを使い、高い転送レートで大量のデータを転送する際、Register modeDMA modeのどちらを使うべきですか?

Answer: 高い転送レートを実現するためにDMA modeを使うべきです。DMA modeは大量のデータを転送するのに使われます。Register Modeで転送する場合、以下のステップが必要になります。

  1. ファームウェアが各バイトデータを読む
  2. ファームウェアがバイトデータごとにコールバック関数を呼ぶ
  3. ファームウェアがデータバッファにデータを格納するためにCyU3PUartReceiveBytes()を呼ぶ

もしハードウェアフロー制御がない場合、UARTトランスミッターはファームウェアでの遅延を考慮せず、定義された転送レートでデータを送り続けるため、バッファオーバーフローを引き起こします。

 

GPIF-II

Question: FX310 bit/pixelのデータを扱う際に、GPIF IIのデータバス幅はいくつに設定すべきですか?

Answer: GPIF IIでは、8 bit, 16 bit, 24 bit, 32 bit幅をサポートしています。この場合は16 bit幅を設定してください。

FX3ではクロックサイクルごとに16 bitを受信するため、ホストアプリケーションで余分となる6 bit/pixelを適切に処理してください。

 

Question: FX3はイメージセンサーから出力されたYUV422のデータを32-bit GPIF IIバスにパッキングできますか?

Answer: いいえ、FX3はイメージセンサーから出力されたYUV422のデータをパッキングできません。パッキングできるかどうかは使用されるイメージセンサーの仕様に依存します。ご使用されるセンサーがYUV42232bitにパッキングできる場合は、FX3は最大約3.2 Gbpsの通信速度を実現できます。

 

Question: YUV422のデータを送る時、DQ [31:0]のビット割当てはどのようになりますか?

Answer: YUV422 8ビットデータは、YUY2またはUYVYの順番で転送されます。そのため、もしセンサーがYUV422のデータを32ビットにパッキングできる場合は、割当ては以下のようになります。

YUY2

Y1

U1

Y2

V1

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

DQ [0: 7] Y1, DQ [8: 15] U1, DQ [16: 23] Y2, DQ [24: 31] V1

UYVU

U1

Y1

V1

Y2

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

DQ [0: 7] U1, DQ [8: 15] Y1, DQ [16: 23] V1, DQ [24: 31] Y2

AN75779 exampleのディスクリプタにおいて、標準ではVS フォーマットディスクリプタ上でYUY2が設定されています。

さらに情報が必要な場合は、"MIPI Alliance Specification for Camera Serial Interface 2"を参照してください。

 

Question: Slave FIFO exampleGPIF24ビット構成できますか?

Answer: はい。Slave FIFO exampleGPIF24ビットで構成できます。構成の手順を以下に示します:
1. AN65974で提供されたGPIFプロジェクトを開きます。
2. Interface settingsData bus width24-bitを選択します。
3. 保存し、Build > Build Project をクリックして cyfxgpif2config.hファイルを生成します。
4. cyfxslfifosync.h ファイルで CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT’0’に設定します。
5. プロジェクトをビルドします。これが24ビット Slavefifoアプリケーションのイメージファイルを生成する手順です。

注意事項: アドレス線がGPIO 28 (A1)GPIO 29 (A0)にマッピングされる Data bus width 16-bit32-bitの場合と異なり、Data bus width24-bitに変更したとき、アドレス線はGPIO 41 (A1)GPIO 42 (A0)にマッピングされます。アドレス線のピンマッピングは制御線の数、Data bus width、および選択されたアドレス線の数により異なります。外部プロセッサは選択されたData bus width、アドレス線の数、制御線の数に従いGPIFインタフェースにマッピングされているアドレス線を駆動します。

 

ホストアプリケーション

Question: XferData()はスレッドセーフなAPIですか?

Answer: 別々のスレッドが、FX3デバイスのそれぞれ異なるエンドポイントにアクセスする場合は、スレッドセーフです。別々のスレッドが同じエンドポイントにアクセスする場合は、スレッドセーフは適用されません。CyUSBライブラリは、複数のプロセスやスレッドが同じエンドポイントにアクセスすることを制限していません。このため、お客様が作成されるプログラムにおいて、注意を払う必要があります。

 

Question: Control Centerはファームウェアが書かれた日時情報を格納できますか?

Answer: いいえ。Control CenterでファームウェアをI2C EEPROMに書き込む際、日時情報は格納されません。Control Centerimageファイル(日時の情報は入っていません)をI2C EEPROMに書き込むだけです。

 

Question: Control Centerにはベリファイ機能がありますか?

Answer: はい。ファームウェアがI2C EEPROMに書かれた後に、Control Centerはベリファイを行っています。詳しい情報については、EZ-USB FX3 Software Development Kitウェブページ上にアップロードされているControl Centerのソースコードを参照してください。

 

その他のご質問

Question: CYUSB3014IBISモデルはどこにありますか?

Answer: 下記を利用してください。

http://japan.cypress.com/documentation/models/cyusb3014-fx3-ibis-model

CYUSB3014IBISモデルは上記のみです。

 

Question: AN75779では、評価ボードの例としてCYUSB3KIT-001を挙げていますが、CYUSB3KIT-003は使用できますか?

Answer: はい、使用できます。新しく、かつ価格の安いCYUSB3KIT-003を是非ご利用ください。

 

Question: Cypressが作成したWindows Device Driver source fileを提供していただくことは可能ですか?

Answer: ドライバファイルは、FX3 SDKウェブページの「CYUSB3_Suite_Source」の一部ファイルとして提供されています。

http://japan.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

 

Question: どのファームウェアをコンプライアンステストで利用すべきですか?

Answer: cyfxbulksrcsink」ファームウェアを各コンプライアンステストでご利用ください。

 

Question: サポートしている全てのMedia typesGlobal identifiersとそれに対応するGUID値はどこで手に入れられますか?

Answer: 標準 Universal Video Class (UVC) ドライバは、多くのMedia typesをサポートするMicrosoftから供給されます。各Media typeGlobal Unique Identifier (GUID)というユニークな16バイト識別子が与えられています。

例として、YUY2 media typeGUID {32595559-0000-0010-8000-00AA00389B71} と定義されています。YUY2 GUIDデータ構造のレイアウトは以下のとおりです。

 

   Offset

    Field

  Size (Byte)

Example

0

Data1

4

32595559

4

Data2

2

0000

6

Data3

2

0010

8

Data4a

1

80

9

Data4b

1

00

10

Data4c

1

00

11

Data4d

1

AA

12

Data4e

1

00

13

Data4f

1

38

14

Data4g

1

9B

15

Data4h

1

71

 

従って、このGUIDのリトルエンディアンストリーム表現は{0x59,0x55,0x59,0x32,0x00,0x00,0x10,0x00, 0x80,0x00,0x00,0xAA, 0x00,0x38,0x9B,0x71} です。
サポートされる全てのMedia typesGUID値はこちらを参照してください

 

 

関連資料

データシート:

EZ-USB® FX3: SuperSpeed USB Controller

 

アプリケーションノート:

 

ガイド:

 

多くのエンジニアに利用されているKnowledge Base Articles