USB superspeed peripherals Forum Discussions
Hello, our project uses USB3014 UVC. The EU unit can't do big data interaction, so I want to enumerate a CDC. Currently, I've modified the descriptor, and the CDC can successfully enumerate, but sometimes the host computer can't receive the data sent by 3014. The specific way to implement the CDC is as follows. First create two DMA channels, send event notifications in the callback, then process the DMA buffer in the EP0 thread, then send it back to the host computer. The code refers to UVC USB_DEBUG_INTERFACE and USBBulkLoopManualInOut, but sometimes the top players don't receive data. Please help me see where the problem is, thank you.
dma channel creation code
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/%E8%B6%85%E9%AB%98%E9%80%9FUSB%E5%A4%96%E8%AE%BE/CYUSB3014-UVC-CDC/td-p/665271
Show LessHello
I’m currently developing firmware to transmit image sensor (FPGA) from CX3 to U3V.
*Referenced the example : https://community.infineon.com/t5/Knowledge-Base-Articles/Implement-USB3-Vision-camera-with-EZ-USB-CX3-USB-3-2-Gen-1-device-controller/ta-p/445398
I was only testing in SuperSpeed, but when I tested in HighSpeed, I found that the Trailer comes before even all the data of one image is fetched. I thought this was happening because the speed at which the host fetches the image data and the speed at which the FPGA sends the image data do not match. So, I modified it to transmit one line from the FPGA and transmit dummy data, and then transmit the next line. However, no matter how long I give the dummy data, sometimes the partial buffer size is read differently when receiving the image.
Questions)
- Can you tell me about the situations where the partial buffer size can be different?
- Is the method to match the speed at which the host fetches the image data and the speed at which the FPGA sends the image data the control of Horizontal Blanking and Vertical Blanking?
- Is it correct that the LV signal goes low during the time of receiving dummy data?
- The sequence to receive one image is SWTrigger[0] -> Leader[0] -> image data[0] -> Trailer[0] from image 0. However, it is currently being delivered as SWTrigger[0] -> Leader[0] -> image data[0] -> Trailer[0] -> Leader[1]. Why is Leader[1] coming? Is it because of FV?
Image settings
- 1744x2400
- RAW14
- One image is transmitted per SWTrigger
Show Less
After I imported the firmware routine, uint8_t, etc. all showed undefined. I checked that this file contains cyu3types.h, #ifdef CYU3_DEFINE_BASIC_TYPES. There are related definitions below, so I set CYU3_DEFINE_BASIC_TYPES=1 in the project. At this point, I can see that the relevant definitions are available, but at this point the relevant uint8_t etc. are still undefined in the file containing cyu3types.h. What is the situation
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/%E8%B6%85%E9%AB%98%E9%80%9FUSB%E5%A4%96%E8%AE%BE/%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E9%97%AE%E9%A2%98/td-p/685519
Show LessI use VISUAL STUDIO to write programs and communicate with CYUSB3014. CYUSB3014 works in synchronous FIFO mode. Are there any detailed control procedures and routines provided, thank you
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/%E8%B6%85%E9%AB%98%E9%80%9FUSB%E5%A4%96%E8%AE%BE/%E5%92%A8%E8%AF%A2%E4%B8%8BFX3%E7%9A%84%E4%BD%BF%E7%94%A8/td-p/684134
Show LessHi,
Currently I use CyU3PI2cTransmitBytes/CyU3PI2cReceiveBytes. When I need to send only the preamble without data phase, i send one bye of 0x00 which is ignored by the slave. How to send only the preamble without the data phase?. In my case 0 bytes did NOT seem to work(?). any sample code that would work?.
Show LessHello.
When trying to create a new configuration project for the CX3 in the latest Eclipse EZ-USB suite 1.3.5 IDE, the tool reports the following error:
The selected wizard could not be started.
Plug-in "com.cypress.cx3.ui" was unable to instantiate class "com.cypress.cx3.ui.wizards.WizardNewCX3ConfigurationModel".
com.cypress.cx3.ui.wizards.WizardNewCX3ConfigurationModel
This happens on both the Windows and Linux versions. It looks like the WizardNewCX3ConfigurationModel Java class is not compatible with the API of the Eclipse version included in the setup.
Are there any workarounds?
Show Less
I want to know the actual speed between the USB device and the host.
It seems that the speed at which actual data can be fetched varies depending on the host environment, and it may differ from the USB speed specification. I’m considering measuring the time it takes to request actual packets and receive data, and then averaging it out. I’m wondering if there’s a better way?
Show LessI want to know the actual speed between the USB device and the host.
It seems that the speed at which actual data can be fetched varies depending on the host environment, and it may differ from the USB speed specification. I’m considering measuring the time it takes to request actual packets and receive data, and then averaging it out. I’m wondering if there’s a better way?
Regards,
Kang
Show Less