USB superspeed peripherals Forum Discussions
I use the function as follows- CyU3PGpifSocketConfigure(0, CY_FX_PRODUCER_PPORT_SOCKET, 3, CyFalse, 0);
I am able to transfer for a very short amount of time before Flag B remains Low = Buffer Full. Watching both Flags on the oscilloscope both flags go low when the buffer is full but only flag A goes back up to show that the buffer is Not Full. Why does the signal not go back up?
I also used this implementation- CyU3PGpifSocketConfigure(0, CY_FX_PRODUCER_PPORT_SOCKET, 0, CyFalse, 0);
When changing the watermark value from 3 to 0 I had no issues and flag B matched up with flag A other than being about half a clk cycle faster.
Thanks!
I have make a usb 3.0 board but when it's powered or reseted, sometimes the pc driver is not loaded. (abot 1 time per 10 trials.) why?
When i use the cypress dvk board, same result is appeared.
I am using the Netmate U-511 pci-e card for usb 3.0 I/F.
Thanks for your help.
Show LessWe've got a Windows 8 machine we're testing with. When we try to perform SuperSpeed IN transfers from EP0 of the FX3, if the transfer is larger than the 512-bytes (the only EP0 packet size supported for SuperSpeed), the transfer times out. We can see this on our USB analyzer and the call fails in Windows.
We are not seeing this issue with Windows 7. Has anyone seen this behavior?
Show LessFellow FX3 enthusiasts,
GPIF II Designer available at http://www.cypress.com/?rID=59628. Please use it and let us know your feedback.
Cheers,
Anand
Show LessI debugged the example of SlaveFifoSync and change the prodSchID of UToP DMA Channel to:
dmaCfg.prodSckId = CY_U3P_CPU_SOCKET_PROD;
dmaCfg.consSckId = CY_FX_CONSUMER_PPORT_SOCKET
The firmware ran through and PC can recognize FX3, but on the PC Host software side: USBDevice->DeviceCount() return 0 and USBDevice->Open(0) return false, SlaveFifoSync UToP producer socket has to be USB_SOCKET, other than that the exceptional error may occur??
Show LessCyU3PDmaChannelConfig_t dmaCfg;
dmaCfg.size = (usbSpeed == CY_U3P_SUPER_SPEED) ? (size * CY_FX_EP_BURST_LENGTH) : (size);
dmaCfg.count = CY_FX_BULKSRCSINK_DMA_BUF_COUNT;
dmaCfg.prodSckId = CY_FX_EP_PRODUCER_SOCKET;
dmaCfg.consSckId = CY_U3P_CPU_SOCKET_CONS;
dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg.notification = CY_U3P_DMA_CB_PROD_EVENT;
dmaCfg.cb = CyFxBulkSrcSinkDmaCallback;
As you can see, I can manipulate the size (where the "size" identifier in the compact "if" statement is the packet size chosen according to the USB speed) and count fields to obtain different performances. Here on the forum I read that the size of DMA buffer can grow up to 64k, but any value I replace the right side of dmaCfg.size assignment with doesn't work (it lets me compile but fails programming the device by the control center). The default value of CY_FX_BULKSRCSINK_DMA_BUF_COUNT is 8, with which I obtain a transfer rate of about 10MBps. Raising it to 252 (but not any further, cause it doesn't work) changes the transfer rate to about 14MBps.
Using the CyFxBulkLpAuto example I could reach a transfer rate of 40MBps. Can you tell me why it goes so slow, even if the transfer is one-side only?
p.s. as software application I'm using the default visual studio cpp application provided.
Thanks,
mrain
Show LessHi,all!
I use streamer to read data from USB board(3014).As the source data is increase packet by packet I find that I miss some packet by detecting the header of the packets.but I examine all the packets transmited in USB Analyzer, It shows all the packets has reached the PC host correctly. The length of packet is 16KB and I choose 2 packets per xfer.
After debuging the streamer project I find that the reason of missing packets is that the finishdatatransfer() fail. how can I get the error code so as to analize the reason. And to my surprise sometimes I can read data correctly and sometimes miss some data.And if I choose larger num of packets per xfer I will miss data more frequently.
I am confused by this probelm for a long time. could you help me to fix it or give me some suggestions?
Thanks and Best Regards
dekui
Show LessHi,
is it possible to have UVC devices with 2 output ISO streams but not as composite devices. My goal is to have just 1 device which I can load by DirectShow (for example by Graph Edit) and this device should have 2 the same output pins (capture).
If so, should it has:
A) 1 Output Terminal with 2 ISO interfaces binded to it or
B) 2 Outpin Terminals with 1 ISO interface each?
Thanks in advence for your help.
BTW, is there any USB forum on Internet, where I can put such questions. I know only https://www.usb.org/phpbb/ which is inaccessible because (as far as I know) it was closed about 2 years ago.
Show Less