cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

noya_4525061
New Contributor

CYUSB3KIT-003とXilinxのSPARTAN 6でAN65974を使用してUSB3.0通信をしています。

bulk in endpoint(0x81)をisochronousに変更したところ、

USB Control Centerが

「Zero-length data transfer completed」

としか表示されず、データが受信できなくて困っております。

FPGAからは16Kbyteのデータを常に送信おり、

FLAGAとPKTENDが変化していることは、オシロスコープで確認済みです。

endpoint(0x81)のDMAバッファは8個から16個に変更しています。

bulk転送だと16Kbyte単位のパケットを受信できるのですが、

isochronous転送に変更するとデータが受信できなくなるのは、なぜでしょうか?

ソースコードで添付しますので、間違いを教えて頂けると助かります。

よろしくお願い致します。

0 Likes
1 Solution
AikoO_51
Moderator
Moderator

isochronous endpoints (size 16KB)のエニュメレートに修正されたAN65974のFirmwareを使用してください。もしそのFirmwareを使用してもFPGAから16KBのデータを送信するときに問題が生じる場合は再度お問い合わせください。

そのFirmwareを使用してもまだ問題が生じる場合、データがFX3で受信されているか確認のためUART debug printを使用してください。そして、デバイスがUSB 2.0、 または USB 3.0としてのエニュメレートである場合は、またお知らせください。

注意点として、Firmware上のCyFxSlFifoApplnStartのAPIは、CY_U3P_USB_EVENT_SETINTF(代わりの設定1においてコントローセンタからそのendpointが選択されている場合)の後に呼び出してください。つまり、FPGAからデータを送信する前に、コントロールセンタの0x83 (IN endpoint)を選択してください。

Aiko Ohtaka
Infineon Technologies

View solution in original post

0 Likes
1 Reply