USB low-full-high speed peripherals Forum Discussions
Hi, I try to link FPGA with PC to transmit large data like pictures via this cy7c68013a mini board, I learn the chip about two weeks and tried many ways, until now,I can only achieve speed about 15MB/s, but I found somebody can achieve more than 35MB/s via google.The transmission speed is very important to us,could somebody help me to improve it? Thanks a lot.
My test environment is as follows:
1,the firmwire I used is based on AN61345 Designing with EZ-USB FX2LP Slave FIFO Interface using FPGA(quad buffers*512B,bulk transfer http://www.cypress.com/?rID=43046) and almost no changes.
2,My PC is Win7,32bit,the client software is develped based on cyapi.lib and cyapi.h,I created two independent thread for send and receive data , I didn't read or write files in disk.
In theory, speed of isochronous transfer is much higher than bulk transfer, but actually I found sochronous transfer is much slower than bulk transfer in cy7c68013, so I really don't know how to achieve higher speed.
Show LessHi guys, i'm doing a img processing project.
i need "read" data from USB device.
My colleage gave me a "precode" USB device that will generate 512bytes data about per 40 microsecond.
so i wrote some data to keep reading it.
here is the code, i hope it easy to read.
int main()
{
CCyUSBDevice *USBDevice = new CCyUSBDevice(NULL);
CCyBulkEndPoint *bulkIn = NULL;
bulkIn = (CCyBulkEndPoint *)USBDevice->EndPoints[3];
bulkIn->TimeOut=500; //rewrite it for saving time
LONG len =512;
unsigned char data2[512]={0};
int flag = 0;
while(true)
{
while(!flag)
{
flag = bulkIn->XferData(data2,len);
if(!flag)
{
flag = bulkIn->XferData(data2,len);
std::cout<<"failed ";
}
else
{
flag = false;
}
}
}
return 0;
}
basically the code using a flag to determinate run xferdata() again or nor.
the problem i met is, when xferdata() return false to var flag.
system will call xferdata() agian. since then, my system will keep return false.
i have tried delete the CCyUSBDevice intances and create a new one to connect the same endpoint again.
code:
if(!flag)
{
delete USBDevice;
USBDevice = NULL;
CCyUSBDevice *USBDevice = new CCyUSBDevice(NULL);
CCyBulkEndPoint *bulkIn = NULL;
bulkIn = (CCyBulkEndPoint *)USBDevice->EndPoints[3];
flag = bulkIn->XferData(data2,len);
std::cout<<"failed ";
}
seems like new intances still unable to read data from the same endpoint.
ps:lasterror is 997
anyone know how to deal with the "return false" situation?
Thanks!
Show LessI am attaching image for my cypress fx2 board with 100 pin cy7c68013.I have read document Guide to a Successful EZ-USB® FX2LP™ Hardware Design - Cypress.All is ok CONTINIOUS 12 mhz AT CLKOUT PIN .resreved pin is grounded .SCL and SDA. are pull up with resisters i am not using eeprom at this time CRYSTL IS 24.000 mHZ.all vcc and AVCCare checked . and ok . I need to answer some questions.
1)IS ic not ok ?
2) PID VID ARE BOTH 00 AND IT TAKES SOME TIME TO SHOW POP UP MESSAGE DEVICE NOT RECOGNIZED .
WHAT I HAVE TO DO PLEASE HELP
Show LessHello!
I have some prombles about using 68013A. 68013A worked at Slave FIFO Mode,and FPGA used the intenal IFCLK(30MHz) of 68013A to read from or write to FIFO(68013A) .However, when 68013A send data to the computer,some data got lost,Why?
Show LessWe got FX3 board, is any easy way to build an SDIO slave (PMMC) to USB slave bridge?
Is there any examples how to write PMMC code? We only coud find PMMC to UART bridge.
Show LessI am attempting to create a custom programmer for a CY7C63803 chip. I have the programming spec, and it seems fairly easy to understand (but perhaps it could go into a bit more detail), but I have been completely unable to get the device to communicate with the programmer. I was wondering if there was anyone on these forums who has experience with the protocol for programming this chip (the protocol is significantly different from the standard ISSP protocol used on most PSoC 1 chips).
My programmer currently sends the READ-PROGRAM-REG mnemonic and read the response, but the target never appears to drive STKDATA, which simply floats once the programmer finishes sending.
Oddly, the spec defines Tvddwait as "VDD stable to Wait-And-Poll hold off", which seems to imply that the programmer should Wait-And-Poll directly after power on, but this is never mentioned anywhere else in the spec. On the other hand, this procedure is how the standard PSoC 1 ISSP protocol initializes communication, so I though I might try it. When I sent the 20 STMCLK cycles required to start Wait-And-Poll, the target did appear to respond, but not in any way defined by the spec.
My experience so far has left me very confused, and I was wondering if anyone had any insight.
Show LessWould someone tell me where to find the USB keyboard codes to send to make Windows sleep, Volume up/down, play/pause, etc.? The HID Usage Tables have those- but they do not work in Windows. I've looked elsewhere but can't find codes that work. I'd like a whole list of key codes (in USB data) if I can get one.
Windows scan codes aren't the answer; they are the codes used internally by Windows.
Thanks,
Bill Keeler
Show LessHi All,
I am using AN75779 example code.
I am trying VGA@30fps for that i have done below changes
--> In descriptor file
/* Class specific Uncompressed VS Frame descriptor */
0x15, 0x16, 0x05, 0x00, /* 30fps */
--> In uvc.c
/* UVC Probe Control Setting for a USB 2.0 connection. */
0x15, 0x16, 0x05, 0x00, /* Desired frame interval in the unit of 100ns: 30 fps */
--> I configure my camera with VGA@30fps
But still i got 15fps in my host side?
Give some suggestion for 30fps?
Regards
RAJ M
Show LessHi,
We have a fx1 device that works perfectly in Windows. However, we've been told that is goes to default USB Device behaviour when used on Linux environment. I mean the device replies with an eeprom vid/pid (0xc0 load) handling the GET_DEVICE_DESCRIPTOR request. It also replies with zero-length vendor request control endpoint transfers (resulting in -71 protocol errors on Linux). I guess it's Default USB Device working (ezusb core).
So here's my question. What are the possible methods of going back to default usb device from a user firmware running mode? Can you list them all (electrical/programmatic) so I could check & debug 'em one by one?
p.s. The device is bus-powered. There was no physical disconnection, of course.
Show Less