Version: **
Question:
CyDelay()を使用して生成した固定の遅延時間について、誤差が発生するのはなぜ?
Answer:
CyDelay関数 (CyDelay() と CyDelayUs()) は、シンプルなソフトウェアベースの遅延ループを実行します。このループはバスクロック周波数およびその他の要因を補償するように設計されています。しかし、ループ内の実時間に影響を与える可能性がある付加的要因があります。各関数の遅延時間はアセンブリ命令の実装時間を累計することにより計算されます。
より精度の高い遅延時間に対しては、ハードウェア (PWMまたはTimer) モードを考慮してください。
Show LessVersion: **
Question:
Basic CAN と Full CAN Mailbox との違いは何ですか?
Answer:
ランダムトランザクションレート (RTR) 機能はFull CANとして設定されたMailboxのみに有効です。Basic CANはRTR機能を有効にしません。
Show LessVersion: **
ModusToolbox™ version 1.1内のデフォルトのBlinkyLEDアプリケーションはCY8CKIT-062-4343Wキットで動作しません。これはBlinkyLEDアプリケーションで使用されるユーザーLEDがModusToolbox内ではP0[3]にマッピングされているためです。
CY8CKIT-062-4343Wキットでは、ユーザーLEDはP13_7(P13[7])に接続されています。
このため、ModusToolbox™の当該の設定でポートのアサイメントをP0[3]からP13[7]に変更しなければなりません。
この変更後、BlinkyLCDアプリケーションのプロジェクトのビルドおよび実行がCY8CKIT-062-4343Wキットで可能です。
Show LessVersion: **
Question:
Cypress AT2LP RC42 インストールドライバまたは Cypress AT2LP RC58 インストールドライバのエラーメッセージが出 たとき、ハードディスク等の記憶装置に保存されているデータを回復する方法はありますか?
Answer:
これらのエラーメッセージは、Cypressデバイスに関連したものではなく、あなたのハードディスク等の記憶装置に接続されているEEPROMが原因のものです。EEPROMのデータは、すでに破損している可能性があります。Cypressは、あなたのハードディスク等の記憶装置の回復を支援するために、添付の資料を用意しました。
Note: Cypressはハードディスク等の記憶装置を製造していません。 Cypressはハードディスク等の記憶装置の修復について、一切の責任を負いません。資料に記載されている情報で問題が解決しない場合は、 ハードディスク等の記憶装置の製造元に お問い合わせください。
Show LessVersion: **
Question:
SRAMとDRAMの違いは何ですか? またCypress社はDRAMを製造していますか?
Answer:
DRAM は Dynamic Random Access Memoryを表します。これは、メモリが電荷の形で記憶される形式の半導体メモリです。DRAM内の各メモリセルは、トランジスタとキャパシタで構成されます。データはキャパシタに保持されます。キャパシタは漏出により電荷を失うため、DRAMは揮発性デバイスです。SRAMは静的ですが、DRAMはデータをメモリに保持するために、デバイスを定期的にリフレッシュしなければいけません。つまり電源が供給されている間、値が保たれます。SRAMにはリフレッシュサイクルがないため、一般的にDRAMより高速です。
1個のトランジスタと1個のキャパシタで構成されるDRAMと違い、SRAMのメモリセルは6個のトランジスタで構成されます。このため1セル当たりのコストは、DRAMと比べてSRAMは非常に高コストです。同じ理由によって、DRAMは、固定領域を与えられたSRAMより高密度であると言い切れます。例として、SRAMは高速のためキャッシュに使用され、DRAMは高密度のためPCのメインメモリに使用されます。
いいえ、サイプレス社はDRAMを製造していません。
Show LessAuthor: HirotakaT_91 Version: *D
ハードウェアに関するご質問
Question: CCG3のVDDDピンの消費電流はいくつですか?
Answer: VDDD = 5 Vの場合、Typ 25 mAを消費します。VDDD = 3.3 Vの場合は約38 mAです。
Question: CCG3のVBUS_P_CTRL と VBUS_C_CTRLの定格値はいくつですか?
Answer: VBUS_P_CTRL と VBUS_C_CTRLの定格値は、最小: 0 V, 標準: 32 V, 最大:37 Vです。
Question: CCG3データシートで示されているDMN3018SSD-13の代わりに他のVBUS FETを使えますか?
Answer: 要求を満たしているFETであれば使えます。VBUSに20 Vが供給されるならば、VDSS = 30 VのDMN3018SSD-13のご利用を推奨します。もしVBUSに5 V@1.5 Aしか供給されないならば、VDSS = 8 V, ID = 2 A程度のFETを選択できます。
Question: CYPD3125でデッドバッテリー用プルダウン抵抗(RD_DB)を使いたくない場合、どうしたら良いでしょうか?
Answer: 以下のどちらかをご検討ください。
Question: CC1/CC2ラインにどの容量のコンデンサを使用できますか?これらのコンデンサは何のために使用されますか?
Answer: 330 pFまたは390 pFのコンデンサを使用してください。これらは300 kHzの信号速度で良好な信号品質を保つために使用されます。
Question: CCG3が2つの独立したVBUS_x_CTRL0/1ピンを使うのはなぜですか?
Answer: 擬似的なソフトスタートを実現するためです。ソフトスタートが不要であれば、VBUS_x_CTRL1ピンを使う必要はありません。
Question: VBUS-CC間ショート保護はありますか?
Answer: いいえ、VBUS-CC間ショート保護はありません。ショート保護が必要な場合、CCG3とType-Cコネクタの間にショート保護用のICを追加で接続してください。
Question: CCG3に電源が供給される前に、とあるMCUの出力によりCCG3 GPIOへ電圧を供給した場合、CCG3はダメージを受けますか?
Answer: はい、GPIOに供給された電圧がVDDIOへ漏れ、CCG3や周辺機器がダメージを受ける恐れがあります。そのような状態になるのを避けるためにシステムを見直してください。
または、CCG3のGPIOとMCU出力の間にFETを配置してください。CCG3に電源が供給された後にCCG3 GPIOとMCU出力が繋がるようにFETを制御してください。
Question: CCG3は、USB Type-C規格でRdchと定義されたディスチャージ抵抗の仕様に従っていますか?
Answer: はい、RdchはファームウェアによってRD終端抵抗でサポートされています。RD終端抵抗の抵抗値は4.59 (min)~5.1 (typ)~5.61 (max) kΩです。この値はUSB Type-C規格にあるRdchの要求を満たしています。
ソフトウェアに関するご質問
Question: EZ-PD Configuration UtilityでGenericタイプに設定してConfigurationを作成しCY4531に書き込もうとしましたが、書き込むことができませんでした。なぜできないのでしょうか?
Answer: まず、CY4531には’notebook’タイプのファームウェアがプログラムされています。Configuration Tableはファームウェアのタイプによって変わるため、ファームウェアのタイプとConfigurationのタイプは同じでなければいけません。’notebook’タイプのConfiguration Tableを使うか、ファームウェアのタイプを変更してください。EZ-PD Configuration Utilityは異なるテンプレートと異なるノードをAPP_TYPEに従って使用します。
"Generic"で設定しなければならない場合、app_version.hファイルにあるAPP_TYPEを変更する必要があります。
Question: テキストエディタで.cyacdファイルを直接編集できますか?
Answer: いいえ。.cyacdファイルの編集はEZ-PD Configuration Utilityでのみ可能です。
Question: .cyacdファイルには、どのような情報が含まれていますか?
Answer: .cyacdファイルは、ブートローダを除く.hexが持つすべての情報を含んでいます。CCG3の場合、ファームウェア イメージが2つあるため、.cyacdファイルはファームウェア1またはファームウェア2のどちらか片方の情報を持ちます。
関連資料
データシート:
EZ-PD™ CCG3 Datasheet: USB Type-C Controller with Power Delivery
ガイド:
多くのエンジニアに利用されているKnowledge Base Articles:
Show LessAuthor: HirotakaT_91 Version: *A
Question: CY4500に、VBUS-CC間ショート保護はありますか?
Answer: いいえ、VBUS-CC間ショート保護はありません。VBUSとCCラインをショートさせないために、コネクタをつないだ後は、むやみに動かさないでください。
Question: CY4500とType-Cデバイスをつなぐ際に、推奨の手順はありますか?
Answer: ノイズによる問題を避けるため、サイプレスでは以下の手順を推奨します。
Question: Data Roleフィールドの「Reserved」はどのような意味ですか?
Answer: USB Power Delivery (PD) 規格に従い、Data RoleフィールドはSOPパケットのためにのみ定義されます。SOP_PRIMEパケットの場合でのData Roleフィールドは「Reserved」が設定されます。「Reserved」は将来の標準化のために確保されている予約済みのビット、バイト、ワード、フィールド、およびコード値を示すキーワードであることが、USB PD規格に記載されています。
関連資料
ガイド:
Show LessAuthor: HirotakaT_91 Version: *E
ハードウェアに関するご質問
Question: CY7C65211データシート(英語版Rev. *K)のTable 14のMode 4(SPIスレーブ)において、SSEL_IN入力がHIGHの時、MISO_OUT出力の状態はどうなりますか?
Answer: SSEL_INがHIGHの時、スレーブはイネーブルされません。このためMISO_OUTはHigh-Z状態です。
Question: CY7C65213のGPIO0-7を使用しない場合、これらをオープンにできますか?
Answer: GPIOがOutputピンとして構成されているならば、オープンにすることが可能です。Inputピンとして構成している場合、プルアップまたはプルダウン抵抗を接続する必要があります。推奨抵抗値は10 kΩです。
Question: エクスポーズドパッド (EPAD) はGNDに接続しても大丈夫ですか?
Answer: はい、EPADは直接GNDに接続できます。CYUSBS232/234/236 USB-Serial DVK Schematicでも直接GNDに接続していますので、参照してください。
製造に関するご質問
Question: CypressのUSB-Serial Bridge製品(CY7C65211/CY7C65213/CY7C65215)を量産する際に、Cypressはどのような方法でプログラムすることを推奨していますか?
Answer: Cypressは「USB Serial Configuration Utility」をコマンドライン上で使用してプログラムすることを推奨します。USB Serial Configuration Utility GUIは簡単にファームウェアをプログラムできますが、量産時には効率的ではありません。そのため、量産を素早く行うために、USB Serial Configuration Utilityをコマンドライン上で使用することを推奨します。詳細については、以下のスレッドをご覧ください。https://community.cypress.com/thread/30556
Question: 量産の際、USB-Serial Bridge製品に「.cyusb」を出荷前にプログラムしてもらえますか?
Answer: 基本的に、Cypressはその要求には対応しません。生産数次第ではございますが、詳細はCypress FAEまたはSalesまでお問い合わせください。
Question: USB-Serial Bridge製品にファームウェアをプログラムする際、「.cyusb」の代わりに「.hex」ファイルを使用できますか?
Answer: いいえ。プログラムする際に使用できるのは「.cyusb」のみです。このファイルは「USB Serial Configuration Utility」で作成できます。USB Serial Configuration UtilityはWindows OSをサポートしています。
Question:「.cyusb」から「.hex」ファイルへと変換するツールはありますか?
Answer: ありません。また、変換する方法についても提供していません。詳細はCypress FAEまたはSalesまでお問い合わせください。
Question: パワーオンリセット中、CY7C65211/213/215の消費電流はどのくらいですか?
Answer: パワーオンリセット中、デバイスはディセーブル状態に入るため、サスペンド状態での消費電流(5 µA)よりも低くなります。
Question: リセット中、I/Oピンのステータスはどうなりますか?
Answer: リセット中、すべてのI/Oピンはスリーステート状態になります。
Question:ユーザーの介入によってCY7C65211/213/215はサスペンド状態にできますか?
Answer: いいえ。ユーザーはデバイスをサスペンド状態に設定またはプログラムすることはできません。デバイスはUSBバス上の一定のアイドル状態を確認した後、サスペンド状態に入ります。この動作はUSB規格に準拠しています。
その他のご質問
Question: CY7C65213のUARTピン(TX/RX/#CSなど)のDC特性を教えてください。
Answer: GPIOのDC特性がUARTピンにも適用されます。
Question: CY7C65213における、VCCとVCCIOのパワーオン/パワーオフシーケンスを教えてください。
Answer: 厳密なVCCおよびVCCIOの電源投入シーケンスはありません。nsオーダの小さな遅延は、問題とはならないためです。VCCとVCCIOの両方にほぼ同時のタイミングで電源供給することで正常に動作します。また、VCCIOに先に電源供給された状態で、後からVBUSに繋いでも正常に動作します。
Question: I2Cを利用したCYUSBS232のファームウェアはありますか?
Answer: いいえ。CYUSBS232ではI2Cを使用できません。CYUSBS232にはCY7C65213が搭載されており、USB-UART Bridge Controllerが使用されています。評価キットでI2Cをご使用になりたい場合、CY7C65211が搭載されたCYUSBS234、またはCY7C65215が搭載されたCYUSBS236をご使用ください。
CY7C65213 datasheet: http://www.cypress.com/documentation/datasheets/cy7c65213-usb-uart-lp-bridge-controller
CY7C65211 datasheet: http://www.cypress.com/documentation/datasheets/cy7c65211-usb-serial-single-channel-uarti2cspi-bridge-capsense-and-bcd
CY7C65215 datasheet: http://www.cypress.com/documentation/datasheets/cy7c65215-usb-serial-dual-channel-uarti2cspi-bridge-capsense-and-bcd
Question: CY7C65211/213/215で、USBからUARTの変換遅延を推定することは可能ですか?
Answer: 変換は1 msから4 msの間で完了します。4 msはワーストケースです。
以下に示すように、USB-Serialデバイスで制御できる範疇を超えている2つの大きな項目があるため、正確な性能を推定することは困難です。
Question: CypressはCY7C65211/213/215向けにベンダークラスiOSドライバを提供していますか?
Answer: いいえ。CypressはベンダークラスiOSドライバを提供していません。
Question: CY7C65211はCY7C65211Aとして動作しますか?
Answer: いいえ。これらは異なる製品であり、CY7C65211AはCY7C65211と比較して追加の機能を持っています。詳細については、CY7C65211データシートを参照してください。http://www.cypress.com/documentation/datasheets/cy7c65211-usb-serial-single-channel-uarti2cspi-bridge-capsense-and-bcd
Question: TeraTermなどの端末エミュレータでSPI通信の周波数を変更できますか?
Answer: 可能です。Configuration Utilityの値は製品初期化時は常にファームウェアのデフォルト値です。周波数やデータ幅などのいくつかのパラメータはホストからランタイム時に動的に変更可能です。モード (SPIスレーブ/マスター) の設定などいくつかのパラメータはConfiguration Utilityで静的に設定されます。
Question: SPI通信中にCY7C65211がUSB INショートパケットを送信するのはなぜですか?
Answer: SPI IN データオーバフロー ウォータマークがデータをオーバフローさせない範囲で可能な限り多くのデータを送信しようとします。その結果、USB INデータの最後の8バイトがすべて影響を受けます。したがって、SPI送信の最後にいくつかの短いパケットを受信することがあります。
関連資料
データシート:
CY7C65211 - USB-Serial Single-Channel (UART/I2C/SPI) Bridge with CapSense® and BCD
CY7C65213: USB-UART LP Bridge Controller
CY7C65215 - USB-Serial Dual Channel (UART/I2C/SPI) Bridge with CapSense® and BCD
ガイド:
多くのエンジニアに利用されているKnowledge Base Articles:
Show Less
Author: HirotakaT_91 Version: *G
ハードウェアに関するご質問
Question: FX3のデータシートには、VBATT/VBUSの絶対最大定格が書かれていませんが、6 Vを超えても大丈夫でしょうか?
Answer: いいえ。動作条件でVBATT電源電圧を3.2 V~6 Vと規定しているため、6 Vを超えないでください。
Question: FPGAから3.3Vの電圧が供給されたとき、CYUSB3KIT-003上で1.2 Vに変換できますか?
Answer: FPGAから供給された電圧をレギュレートする機能はFX3にはありません。
Question: FX3とHX3のSuperSpeed信号線を接続する時、これらの信号線にそれぞれESDデバイスを接続しなければなりませんか?
Answer: いいえ、必須ではありません。HX3には最大2.2 kV (HBM) の内蔵ESDがあります。追加で保護が必要な場合のみ、ESDデバイスをFX3側のSuperSpeed信号線に接続できます。
Question: Microchip 24LC256 EEPROMのアドレスはどのようになっていますか?AN76405にある24LC1024デバイスのように示してくれませんか?
Answer: FX3は最大8つのMicrochip 24LC256と接続が可能です。例として、表 1に4つの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 |
製品の詳細についてはMicrochipの24LC256のデータシートを参照してください。
Question: PCBレイヤの推奨数はありますか?
Answer: 少なくとも4層のPCBを推奨しています。PCB層の最大数に制限はありません。
Question: ESD試験を実施した後に停止するのはなぜですか?
Answer: 試験の方法を再度確認し、適切に試験を行ってください。
FX3にはD+/D-およびGNDピンに、以下のESD保護が組み込まれていることに注意してください。
SSRX+、SSRX-、SSTX+、SSTX-ピンは最大±2.2 kV 人体モデル(HBM)を備えています。これらのSuperSpeed差動信号線は±2.2 kV HBMのみを備えているため、シリコンはIEC61000-4-2 レベル 3A およびレベル4Cの試験を外部のESD保護回路無しでは受けられません。
ESD保護が組み込まれていないピンにもESD保護が必要であれば、ESD保護回路を外部に接続してください。
もしHX3のようなハブを介してFX3を使う場合、ハブのESD保護についても考慮してください。
Question: 消費電力を削減するための推奨方法はありますか?
Answer: 必要なGPIOのみを使用してください。GPIF-II信号線を短くして配線容量を削減してください。GPIF-IIスループットは低下しますが、GPIF-II PCLKの周波数を下げることも効果的です。ファームウェアをローパワーモードへ変更することも役立ちます。ファームウェアのパワーモード変更については \Cypress\EZ-USB FX3 SDK\1.3\doc\firmwareにあるFX3APIGuide.pdfのCyU3PSysEnterStandbyMode()またはCyU3PSysEnterSuspendMode()を参照してください。
Question: 使用していないGPIOピンは未接続のままにすることができますか?
Answer: 使用しないGPIOピンについては、未接続のままにすることができます。
Question: 水晶発振器の代わりに外部クロックをXTALINピンに接続することができますか?
Answer: いいえ、XTALINピンに外部クロックを接続してはいけません。FX3では、XTALINピンとXTALOUTピンの間に水晶発振器を接続するか、CLKINピンに外部クロックを接続するか、どちらかが可能です。また、水晶発振器または外部からFX3への不安定な入力クロックは、FX3の異なる内部ブロックへのすべての派生クロックで不安定な動作を引き起こします。
ファームウェアに関するご質問
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()実行中にPIB/GPIFエラー割り込みをマスクする必要があります。
AN75779のサンプルプロジェクトでは、全ての割り込みを無効にしてもアプリケーションに影響はないためCyU3PVicDisableAllInterrupts()を使用してください。AN75779のサンプルプロジェクトをベースとして別の割り込み処理を実装したプログラムの場合は、PIB/GPIFエラー割り込みをマスクしてください。
以下にCyU3PVicDisableAllInterrupts()を使うためのサンプルコードとPIB/GPIFエラー割り込みをマスクするサンプルコードを示します。CyU3PVicDisableAllInterrupts()を使う場合、cyu3vic.hをファームウェアで宣言してください。PIB/GPIFエラー割り込みをマスクする場合、pib_regs.hをファームウェアで宣言してください。
uint32_t intstate = CyU3PVicDisableAllInterrupts(); CyU3PGpifDisable (CyFalse); CyU3PVicEnableInterrupts (intstate); |
PIB->intr_mask &= ~(CY_U3P_PIB_INTR_PIB_ERR | CY_U3P_PIB_INTR_GPIF_ERR); CyU3PGpifDisable (CyFalse); PIB->intr_mask |= (CY_U3P_PIB_INTR_PIB_ERR | CY_U3P_PIB_INTR_GPIF_ERR); |
Question: Control Center上のD8hコマンドでSPI Flash (S25FS128S)がEraseできません。どうしたらいいですか?
Answer: EZ-USB FX3 SDKのcyfxusbspidmamode exampleがD8h eraseコマンドをサポートしています。(EZ-USB FX3 SDKは、\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbspidmamodeを参照してください)
このファームウェアは、SPI Flashデバイスに対してUSBインタフェースよりErase/Read/Writeが可能です。このファームウェアが書き込まれたFX3はCustom 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が参照できます。例えば、cyfxgpiocomplexappは3つのスレッドが使われます。
Question: cyfxUsbUart exampleを使い、ハードウェアフロー制御無しで長時間データを転送したところ、転送データが失われることがあります。どうしたら欠落なく転送データを送れますか?
Answer: データを欠落させることなくUART転送をしたい場合、ハードウェアフロー制御を使わなければなりません。
Question: cyfxUsbUart exampleを使い、高い転送レートで大量のデータを転送する際、Register modeとDMA modeのどちらを使うべきですか?
Answer: 高い転送レートを実現するためにDMA modeを使うべきです。DMA modeは大量のデータを転送するのに使われます。Register Modeで転送する場合、以下のステップが必要になります。
もしハードウェアフロー制御がない場合、UARTトランスミッターはファームウェアでの遅延を考慮せず、定義された転送レートでデータを送り続けるため、バッファオーバーフローを引き起こします。
Question: Dキャッシュはどのように使いますか?
Answer: Dキャッシュの初期化と有効化のために CyU3PDeviceCacheControl(CyTrue, CyTrue, CyTrue) を宣言できます。
注意事項: Dキャッシュが有効になると、システム内のDMAに使用されるすべてのバッファは、キャッシュラインを揃える必要があります。つまり、すべてのDMAバッファは32バイトまたは32バイトの倍数とならなければいけません。これはCyU3PDmaBufferAlloc()によって保証されています。この関数以外で割り当てられたバッファは、32バイトまたは32バイト倍数のアライメントルールに従わなければなりません。このルールは、CyU3PUsbSendEP0Data(), CyU3PUsbGetEP0Data(), CyU3PUsbHostSendSetupRqt()などに提供されるデータポインタと、CyU3PUsbSetDesc() を使って割り当てられたUSBディスクリプタバッファとを含む、ライブラリAPIに渡されたすべてのDMAバッファポインタにも適用されます。
以下に32バイトでUSBディスクリプタバッファをアライメントする例を示します。
const uint8_t CyFxUSB30DeviceDscr[] __attribute__ ((aligned (32))) |
GPIF-IIに関するご質問
Question: FX3で10 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のデータをパッキングできません。パッキングできるかどうかは使用されるイメージセンサーの仕様に依存します。ご使用されるセンサーがYUV422を32bitにパッキングできる場合は、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 exampleでGPIFを24ビット構成できますか?
Answer: はい。Slave FIFO exampleでGPIFを24ビットで構成できます。構成の手順を以下に示します:
1. AN65974で提供されたGPIFプロジェクトを開きます。
2. Interface settingsのData bus widthで24-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-bitと32-bitの場合と異なり、Data bus widthを24-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 Centerはimageファイル(日時の情報は入っていません)をI2C EEPROMに書き込むだけです。
Question: Control Centerにはベリファイ機能がありますか?
Answer: はい。ファームウェアがI2C EEPROMに書かれた後に、Control Centerはベリファイを行っています。詳しい情報については、EZ-USB FX3 Software Development Kitウェブページ上にアップロードされているControl Centerのソースコードを参照してください。
その他のご質問
Question: CYUSB3014のIBISモデルはどこにありますか?
Answer: 下記を利用してください。
http://japan.cypress.com/documentation/models/cyusb3014-fx3-ibis-model
CYUSB3014のIBISモデルは上記のみです。
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 typesのGlobal identifiersとそれに対応するGUID値はどこで手に入れられますか?
Answer: 標準 Universal Video Class (UVC) ドライバは、多くのMedia typesをサポートするMicrosoftから供給されます。各Media typeはGlobal Unique Identifier (GUID)というユニークな16バイト識別子が与えられています。
例として、YUY2 media typeのGUIDは {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 typesのGUID値はこちらを参照してください。
関連資料
データシート:
EZ-USB® FX3: SuperSpeed USB Controller
アプリケーションノート:
ガイド:
多くのエンジニアに利用されているKnowledge Base Articles:
Author: HirotakaT_91 Version: *F
ハードウェアに関するご質問
Question: CYUSB2304-68LTXIのVBUS_US(17ピン)において、パワーオン/パワーオフシーケンスに何か制限はありますか?
Answer: 特に制限はありません。VBUS_USは3.3 Vや1.2 Vパワードメインにパワーが供給されていない場合でも、いつでも電源供給が可能です。
Question: CYUSB2304-68LTXIのVBUS_DS(18ピン)において、パワーオン/パワーオフシーケンスに何か制限はありますか?
Answer: VBUS_DSは3.3 Vや1.2 Vパワードメインにパワーが供給されていない場合でも、いつでも電源供給が可能です。
注意事項:Hubがピンのステータスを読む時に行われるVBUS_DSの電圧変化は、Apple Chargingシーケンスに影響を及ぼします。ブートアップシーケンス時およびPower Cycling/Reset の後に、Hubはこのステータスを読みます。Apple Chargingシーケンスの詳細については、AN92554 - HX3 を使用したバッテリ チャージング機能の実行を参照してください。
Question: 2つのSuperSpeed (SS)デバイスと、1つのFull-Speed (FS)デバイスをダウンストリームポートに接続した際の消費電力はどのくらいになりますか?
Answer: HX3の消費電力はデータシート内の”Power Consumption”を基に計算が可能です(HX3データシート Table 9とTable 10を参照)。ここで、Table 9に書かれているような”1SS + 1FS”というパターンは存在しないのですが、代わりに”1SS + 1HS”を使って計算が可能です(Table Aを参照)。理由としては、消費電力の違いがないためです。”2SS + 1FS”のConfigurationは、”2SS + 1HS”と同様に考えることができます。したがって、”2SS + 1FS”の場合、消費電力の計算式は”2SS + 1HS”と同様に
Table A. Power Consumption Estimates for Various Usage Scenarios
Device Condition | Number and Speed of DS Ports Connected | Typical Consumption | Comments | ||
Supply Current (mA) | Power (mW) | ||||
1.2 V | 3.3 V | ||||
Active power with USB 3.0 host | 1 SS + 1 HS | 218.0 | 103.4 | 602.9 | |
Incremental active power for additional DS port | SS | 39.4 | 8.7 | 76.0 |
Table B. Power Consumption Under Various Configurations
Device Condition | Number and Speed of DS Ports Connected | Typical Consumption | Comments | ||
Supply Current (mA) | Power (mW) | ||||
1.2 V | 3.3 V | ||||
USB 3.0 4-Port Hub (USB 3.0 host) | 2 SS + 1 HS devices (equals to 2 SS + 1 FS) | 257.4 | 112.1 | 678.9 |
Question: 2つのデバイスを2ポートHX3ハブのダウンストリーム (DS)に接続した際の消費電力はどのくらいになりますか?
Answer: 2ポートハブの消費電力は、パワーセーブとして2ポートを無効にした4ポートハブの消費電力と同じです。したがって、消費電力は無効にされたDSポートごとに節約される有効電力を差し引いて計算されます(HX3データシート Table 9を参照)。例えば、2つのDSポートで有効な2つのSSデバイスが接続されたUSB 3.0 2ポートハブ (CYUSB3302/CYUSB3312)の消費電力は、 +
Table A. Power Consumption Estimates for Various Usage Scenarios
Device Condition | Number and Speed of DS Ports Connected | Typical Consumption | Comments | ||
Supply Current (mA) | Power (mW) | ||||
1.2 V | 3.3 V | ||||
Active power with USB 3.0 host | 1 SS | 204.1 | 75.0 | 492.5 | |
Incremental active power for additional DS port | SS | 39.4 | 8.7 | 76.0 | |
Active power saving per disabled DS port | - | 10.6 | 9.6 | 44.4 |
Table B. Power Consumption Under Various Configurations
Configuration | Number and Speed of DS Ports Connected | Typical Consumption | Comments | ||
Supply Current (mA) | Power (mW) | ||||
1.2 V | 3.3 V | ||||
USB 3.0 2-Port Hub (USB 3.0 host) | 2 SS devices | 222.3 | 64.5 | 479.7 |
Question: データシートに記述されていること以外で、リセットタイミングの制約はありますか?
Answer:データシートでは最小5 msという制約が書かれていますが、リセットタイミングは10 ms ~ 15 ms程度確保することを推奨します。他に制約はありません。
Question: デバイスを接続する際、各ポートでSSラインをスワップする必要がありますか?
Answer: ダウンストリーム (DS) ポートまたはアップストリーム (US) ポートのコネクタがレセプタクルの形である場合は、ラインをスワップする必要はありません。ラインがプラグに接続されている場合は、ラインをスワップする必要があります。例えば、CY4603 DVKには、USポートとDSポートの両方がレセプタクルであり、TXラインとRXラインは以下のようにスワップされていません。
Question: なぜGangモード ハブ(例えばCY4609 RDK)は過電流検出をした後に自動で再起動しないのですか?
Answer: ポートに再度電力を供給するかどうかはホスト次第(オペレーティングシステム依存)です。ハブがGangモードで構成される場合、全てのポートのVBUSは取り除かれます。ハブがIndividualモードで構成される場合(例えばCY4603 DVK)、過電流が生成されたポートのみ、VBUSが取り除かれます。
ハブがVBUSを検出すると、ホストはVBUSを再び有効にするために、ハブにPort_EnableかPort_Powerコマンドを送ります。もし過電流が取り除かれていれば、ポートは正しく動作するようになります。もしポートで過電流が続いていれば、同様の動作を繰り返します。
Gangモードの場合、一つのパワースイッチが全てのDSポートを制御するため、ホストがポートに再度電力を供給しないようにできます。この場合ホストは、ハブの切断・接続かハブの電源ON/OFFというユーザーからの介入を待ちます。
Question: I2Cブートモードで、ホストがHX3を認識できないのは何故ですか?
Answer: ハードウェアまたはコンフィギュレーションエラーによってブートプロセスに問題が起こっている可能性があります。以下の項目を確認してください。
上記のいずれかが正しくない場合、HX3はアップストリームポートのD+プルアップを行わず、エニュメレーションエラーを引き起こす可能性があります。
Question: Accessory Charger Adapter Dock (ACA-Dock) はApple Charging機能をサポートしていますか?
Answer: いいえ。ACA-DockはBC1.2規格に準拠します。よって、HX3はダウンストリームポートへのApple Charging機能をサポートしますが、アップストリームポートには適用されません。
その他のご質問
Question: HX3チップのシリコンRevision (*A~*D) とHX3 Blaster PlusのConfiguration A ~ Dには何か関係性がありますか?
Answer: いいえ、シリコンRevisionとHX3 Blaster PlusのConfiguration Typeに関係性はありません。HX3 Blaster Plusの全てのConfiguration typeは、いかなるRevisionのシリコンでも使用できます。
Question: Blaster Plus Configuration UtilityでUSB 2.0 HubイベントタイミングのTDCNNシンボル値は変更できますか?
Answer: いいえ。これはシリコンレベルで実装されており、共有することはできません。HX3はUSB 規格に準拠しています。また、HX3に接続されるUSBデバイスは必ずUSB 規格に準拠して適切に動作しなければなりません。
関連資料
データシート:
アプリケーションノート:
ガイド:
多くのエンジニアに利用されているKnowledge Base Articles: