USB superspeed peripherals Forum Discussions
I'm working on a Enclustra KX1 board, trying to write from the FPGA to GPIF2. Filling one buffer which according to spec should be transfered to the IN endpoint. The Cypress device is EZ-USB FX3. I do not have exact specifications of the firmware of the fx3 but it should according to their support be a bog-standard implementation of slfifosync from the SDK.
I can't quite get the interface to work, soo I was hoping I could get some help 🙂
I've created a simple module to write to the slaveFIFO (see StreamIN/StreamINCore).
StreamIN is a wrapper setting all the constants, and connecting some LEDS for debugging.
StreamINCore does the actual writing to the bus.
I am able to write to the FX3 and see FLAGA be asserted. I'm guessing FLAGA means there's data to read, and FLAGB means it is not full. (FLAGB=0 => Buffer=Full). ( I can write a total of 4*512 bytes to the FX3 before OUT buffer is full ).
I find the examples from Cypress hard to use, and does not seem to work for me. (See example: slfifosync.png)
Here they simply wait for FLAGB to go low as an indication of buffer being full.
In the(Designing with EZ-USB SlaveFifo) documentation this photo (write_seq.png) describes a write sequence, this is conflicting with the example. The example simply hardwires PKTEND although performing burst transfers. (Since waiting for FLAGB might go over several cycles). In my case I cannot see anything happening to FLAGB, thus it continues to write for eternity.
So how do I play the GPIF interface, or what am I doing wrong?
(SystemVerilog files are saved as *.sv.txt to be able to upload)
Thanks in advance!
Hi Folks,
I am working with FX3s for image streaming.
Is one having working FPGAmaster verilog code for 16 bit GPIF2 designer for streamIN mode, please provide me
Thanks and Best Regards
Vinod Sajjan
I am using the FX3 to stream video from a image sensor which is controlled by another device. Your application note AN75779 states that with the code provided with AN75779, "no modifications may be required." Two questions:
1) The image size is different from that in the example (1920x1080). From what I've ready to account for this I must make changes to 'cyfxuvcdscr.c' and 'uvc.c'. What parts must be changed? The parts of 'uvc.c' that would need to be changed appear to only be necessary when using the FX3 as a controller.
2) Are there any additional modifications that should be required if the FX3 is not being used as the controller? The I2C control lines whould be removed from the interface settings, presumably.
I know the first question has been asked before, but I could not find a concrete solution.
Show LessI am using MT9P031 directly connected CYUSB3014. When i use Asynchronous transmission(BeginDataXfer,WaitForXfer,FinishDataXfer),When I transport image data less than 4MB,the image is good,but when i tansport image data more than 4MB,the image is appear in a few seconds later,and the image is splice. So I try to usb XferData to receive image data,is well done any size of image.but the speed is too low that not meet our needs. Who can provide some ideas.Think you.
add description:
Asynchronous transmission has a limit that tansfer size can‘t more than 4MB,also can meet this problem in streamer application,such as Total xfer length limited to 4Mbyte. If i inneed to transport 5MB image data form FX3 to PC, it has any method to make sure not loss image data. also i ever try to using XferData() to tansport the image data,but the sensor out 14 fps image and PC only can receive 7 fps,it not enough bandwidth to my application.if i still to use BeginDataXfer,WaitForXfer,FinishDataXfer,Can there be a solution? Looking forward to your reply.
Show LessHi,everyone!
I am developing FX3(CY3014) +FPGA(altera) to upload counter(do not stop ) data to PC。 FPGA logic consists of counter (1M CLOCK, 32bit BUS) +FIFO +USB interface module。My USB interface and FX3 firmware is using the application notes AN65974 。I use the streamer mode 's firmware and logic ( I added counter and FIFO ). PC software is the streamer application in the SDK.
Now, I have a serious problem to upload counter data. I find that ,after one bulk transfer (16kB ), flagA (indicates the up Endpoint DMA ready) takes too many time (about several hundred microsecond )to go back to high . During the time , counter generate so many data that make the FIFO full ,thus the PC can not receive continuous counter data, some time the software just stuck without writing any more data to file.
The software just use the streamer application in the SDK, I just modify it to write to disk after transfer enough data.
The attachment is the code that I modified to write data to disk file. It is part of "XferLoop" function of streamer application.
How can I solve this problem?
Regards,
wjm@USTC
Show LessDear sir,
We have a product use FX3 on the web camera. But we have a problem about video display. Our FX3 can display UVC on the Win10 PC side, but can't work on the Win7 OS (Black screen). We don't heva any idea for that. Could you help provide some commend to fix this issue? Thank you.
Show LessHello all,
In the cyu3mipicsi.h file, the mipi data format (CyU3PMipicsiDataFormat_t) is 0x7 for YUV422-10bit:
typedef enum CyU3PMipicsiDataFormat_t
{
..................
CY_U3P_CSI_DF_YUV422_10 = 0x07 /**< YUV422 10-Bit Data type. CSI-2 Type 0x1F. \n
24 Bit Output = 14'b0,P[9:0] \n
16 Bit Output = 6'b0,P[9:0] \n
Data Order: U1,Y1,V1,Y2,U3,Y3,V3,Y4.... */
} CyU3PMipicsiDataFormat_t;
But in the CX3 Technical Reference Manual Doc N°001-91492, it is stated in the CX3_DATA_FMT, Dataformat YUV422-10 bit b1001, while the b0111 is RESERVED.
So please, what is the correct data format value for YUV422-10bit ?
Thanks,
Ludovic
Show LessI have the Cypress SuperSpeed Kit and have managed to get it working on Windows 10 (64 bit) and the example applications. I am trying to run the streamer example on a Linux VM. On the same machine with Ubuntu 16.04 in VMWare is unable to connect with the device. I have followed the instructions given in the documentation for the Linux SDK and have installed cyusb_view however when I run cyusb_linux it gives out a message that no device is detected. Please check the attached screenshots
Show Less