USB superspeed peripherals Forum Discussions
I have implemented a VCOM CDC device in my application. The virtual COM port is based on the usbtouart example code from Cypress. My FX3 code implements a composite device with 2 interfaces. One has the 3 endpoints associated with the VCOM port and the other has multiple endpoints associated with my bulk streaming application. There are 2 issues I am observing.
1) When the device is disconnected, the VCOM port persists in device manager? I would expect that the hardware disconnect would cause the host to recognize the device has left. I am guessing there is something not happening correctly in the disconnect routine in the FX3. Would someone please point me in the right direction?
2) This one is more complicated. I have been using the SUPERSPEED EXPLORER KIT as my primary testbed. In this case the VCOM port works as expected. I have another hardware set (it is a development board from Cesys and has an FX3 and FPGA on board together). This board brings up the VCOM port in device manager correctly but I am not seeing any output in the terminal on my host PC. I am routing debug messages over this virtual COM port so I am not able to see any debug messages that may be occurring. I can set the debug messages to flow through the physical UART RX/TX pins, but then I may be missing what is really causing the problem. Everything else about the application seems to work in both cases. Does anyone have ideas what may be different between these two cases such that device manager would enumerate (ie the driver works) but the VCOM port is active in one case but not the other? Would the clocking structure or PIB init have anything to do with the VCOM port?
Thanks in advance.
Show LessFX3の「同期スレーブFIFO」のサンプルデザインを使用して、FX3とホストPC間でUSB3.0の通信試験をしているのですが
ホストPC側でC++
StreamerからBULK OUTを行うとXfer
request rejected. NTSTATUS = c0000001のエラーメッセージが表示されて通信が停止する事象が発生しています。エラーコードより原因の特定はできますでしょうか?
【詳細】
BULK OUTのエラー発生時のGPIFIIのパケット読み出し波形を取得したところ、添付画像のような波形となっていました。1回目のパケット読み出しは問題なく成功しているのですが、2回目のパケット読み出しが異常な波形となっています。規定のパケット長(1024Byte)を読み出し終わる前にFLAG_Cがアサートされている上に、それよりも前にアサートされるべきFLAG_Dがアサートされません。
この結果を見ると、FLAG_Cがアサートされている理由は、C++ StreamerのBULK OUTの最後でショートパケットを受信しているためではないかと推測されますが、
その推測で正しいでしょうか? C++ StreamerのBULK OUTの仕様を教えて下さい。
また、上記が正しいとしても、FLAG_Cがアサートされているのに、それよりも前にアサートされるべきFLAG_Dがアサートされない理由が分かりません。
FLAGの動作としてこのような動作となるのは正しいのでしょうか? FLAGの動作について教えて下さい。
- 評価で使用しているサンプルF/W : AN65974の「SlaveFifoSync」のファームウェア
但し、下記について一部FWを修正して評価しております。
― LOOPBACK_SHRT_ZLPのDefineを無効、STREAM_IN_OUT のDefineを有効
マクニカ 荒井
Show LessHow do I purchase the Aptina sensor board to work with EZ-USB® FX3™ SuperSpeed Explorer Kit and Aptina™ Image Sensor Interconnect Board for the EZ-USB® FX3™ SuperSpeed Explorer Kit ?
Show LessHi,
I have a CX3 device that runs a UVC-CDC that is supporting 4 resolutions.
The output format used is RGB24.
Currently it supports frame rate of 60 only. I need to update the code such that the resolutions needs to support 120fps, 30fps and 15fps.
I tried updating the class specific frame descriptors with constant height and width with different frame rates, but the Host side application listed just one resolution with a frame rate(Used AmCap to view the resolutions )
Desired output ex:
- 640 * 480 @ 120fps
- 640 * 480 @ 60fps
- 640 * 480 @ 30fps
- 640 * 480 @ 15fps
Could you please help me on this.
Regards
Ajay
Show LessAll of the cyusb_linux applications in the `src` directory fail for me.
I see that the device is visible in dmesg.
[24897982.264476] usb 3-1: new high-speed USB device number 5 using xhci_hcd
[24897982.428812] usb 3-1: New USB device found, idVendor=04b4, idProduct=00f3
[24897982.428819] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[24897982.428823] usb 3-1: Product: WestBridge
[24897982.428827] usb 3-1: Manufacturer: Cypress
[24897982.428831] usb 3-1: SerialNumber: 0000000004BE
`01_getdesc` fails to find the device. I tried both with and without sudo.
$ sudo ./01_getdesc
No device found
If I give it explicit VID/PID, then it shows some signs of life:
$ ./01_getdesc -V 0x04b4 -P 0x00f3
bLength = 18
bDescriptorType = 1
bcdUSB = 0x0200
bDeviceClass = 0x00
bDeviceSubClass = 0x00
bDeviceProtocol = 0x00
bMaxPacketSize = 64
idVendor = 0x04b4
idProduct = 0x00f3
bcdDevice = 0x0100
iManufacturer = 1
iProduct = 2
iSerialNumber = 3
bNumConfigurations = 1
As far as I know, the VID and PID (0x04b4/0x00f3) are the correct values for the USB bootloader. I was able to get all of this to work on Windows, with the jumpers in the correct position. So I know the hardware is good, and I hope that my understanding of how the image is installed is good. I'm using libusb/1.0.22, and cyusb_linux/1.0.5.
When I try to install a demo image (with or without sudo), it fails:
Show Less$ sudo ./download_fx3 -t RAM -i ../fx3_images/cyfxbulksrcsink.img
Error: No FX3 device found
Hello
Is the GX3 supported iOS? We are understanding that GX3(CYUSB3610-68LTXC) will support only below.
•Windows XP/Vista 32-bit
•Windows XP/Vista 64-bit
•Windows 7 32-bit
•Windows 7 64-bit
•Windows 8 32-bit
•Windows 8 64-bit
•Windows 8.1 32-bit
•Windows 8.1 64-bit
•Windows 10 32-bit
•Windows 10 64-bit
•Win CE
•Win Mobile
•Mac OS X
•Linux
•Chrome OS
•Android
Best Regards
Arai
Show LessHi All,
Can you please let me know where exact FX3 controller unique-ID available in memory map ?
Also I need its proper document which should describe the location in memory map, because before its usage in implementation, we need to forward it to our client.
Thanks,
Premji
Show LessHi all,
I am using the CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kit.
I am using the example code provided in the example code cyfxmscdemo found in C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware.
I referred to SuperSpeed Explorer Kit User Guide and setup the UART functionality on the SuperSpeed Explorer Kit by following section 3.7.1.
I tested out the CyU3PDebugPrint and it work perfectly on the serial console when running USBBulkSourceSinkLED Firmware Project.
Next, I move on to modify the cyfxmscdemo as I would like to use the CyU3PDebugPrint api to print on serial console for debug purposes.
I added a CyU3PDebugPrint statement in the function MscAppThread_Entry.
However, when i build and burn the image to either the RAM or EEprom via the I2C bus nothing is been printed on the serial console.
The picture attached shows the place where i add in the CyU3PDebugPrint statement.
The serial console tested are tera team and putty with the following settings:
Port : COM6
Baud Rate: 115200
Data: 8 bit
Parity: None
Stop: 1 bit
Flow control: none
For your assistance please, I would like to know why is nothing been printed on the serial console. How do I print when using the cyfxmscdemo Firmware Project?
Thank you.
Show LessHello,
I'm completely new to FX3 and got the CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kit. I already tried the Example Program USBBulkLoopAuto and GpifToUsb. Now I'm trying to create my own Program. I have ImageSensor, which send quite fast raw data. I found the "AN75779 - How to Implement an Image Sensor Interface Using EZ-USB FX3 in a USB Video Class (UVC) Framework " and read the PDF with the explanation. Since my Sensor sending raw data, i tried to change the code from Manual DMA to AUTO DMA. I also changed the State Machine in GPFI II Designer. However, I'm completely lost in the code and doesn’t really know, what part does what.
Is there a Document which explains, what I need to set up. Currently I'm just looking through the code and with the help of the FX3APIGuide try to understand what it does.
kind regards
Matthias
Show Less