USB low-full-high speed peripherals Forum Discussions
USB low-full-high speed peripherals
We are having some really random heap corruption issues calling cyusb.sys DeviceIOControl functions from managed code using IOCompletion ports...
Show More
We are having some really random heap corruption issues calling cyusb.sys DeviceIOControl functions from managed code using IOCompletion ports. I can run my device and process millions of transactions using this code before it crashes. Sometimes it takes 20 minutes to crash sometimes takes 12 hours...
Anyway, I wanted to try a different driver just to see if, perhaps cyusb.sys was at fault.
I can try Jungo free for 30 days but balk at paying the price for the drivers if somehow switching over solves my problem. So, I was thinking of using the generic WinUSB drivers...(I realize of course I'll have to re-write parts of my code for the MS API) I am also not using any Iso endpoints either. So, It should work.
I'm just wondering if anyone here has had any success with drivers other than CyUSB. Show Less
Anyway, I wanted to try a different driver just to see if, perhaps cyusb.sys was at fault.
I can try Jungo free for 30 days but balk at paying the price for the drivers if somehow switching over solves my problem. So, I was thinking of using the generic WinUSB drivers...(I realize of course I'll have to re-write parts of my code for the MS API) I am also not using any Iso endpoints either. So, It should work.
I'm just wondering if anyone here has had any success with drivers other than CyUSB. Show Less
USB low-full-high speed peripherals
Hi, I'm working on a custom EZ-USB development board. It is mounting a XXX FX2 connected with a 24LC64 64k serial eeprom. The board is working...
Show More
Hi, I'm working on a custom EZ-USB development board. It is mounting a XXX FX2 connected with a 24LC64 64k serial eeprom. The board is working well with demos like BulkLopp... (both download in Ram and program/load from EEProm). Although the CyStream demo doesn't work. The Driver under Vista simply hangs and returns error code 10. Is there anything different with the CyStream demo respect to other demo app. provided by Cypress? Any key requirements which justifies such a different behaviour ?
Regards, Joel
P.S. I'm downloading and programming the original binaries which are provided in the Cypress Reference designs
Show Less
Regards, Joel
P.S. I'm downloading and programming the original binaries which are provided in the Cypress Reference designs
Show Less
USB low-full-high speed peripherals
Hi, I'm planning to build a USB2 based application which requires a significant data bandwidth (between 20 and 40 MByte/S) using an EZ-USB FX2...
Show More
Hi, I'm planning to build a USB2 based application which requires a significant data bandwidth (between 20 and 40 MByte/S) using an EZ-USB FX2. I'm wondering if there is any difference in performances using CyDvk.sys or CyUSB.sys (Cypress stated that CyDvk is just a "non production" subset of CyUSB). Can somebody give me an advice about features included in CyDvk but which aren't in CyUSB and how they affect the maximal data throughput ?
I've a FX2 platform with the CyStream application programmed in a eprom (downloaded from Cypress web site). Unfortunately when it comes to the driver assignment (Vista home) something goes wrong and I always get an Eroor code 10 on the USB device (CyStream.inf and CyDvk.sys) . The same board works perfectly with al the other demos like BulkLoop... which are using CyUSB.sys.
Any input about using CyDVK.sys on Vista x86 machines?
Thanks in advance, Joel Brenner
Show Less
I've a FX2 platform with the CyStream application programmed in a eprom (downloaded from Cypress web site). Unfortunately when it comes to the driver assignment (Vista home) something goes wrong and I always get an Eroor code 10 on the USB device (CyStream.inf and CyDvk.sys) . The same board works perfectly with al the other demos like BulkLoop... which are using CyUSB.sys.
Any input about using CyDVK.sys on Vista x86 machines?
Thanks in advance, Joel Brenner
Show Less
USB low-full-high speed peripherals
Thank everyone for your attention. When Cy7c68013a is configured in GPIF mode for IN transfer, I find a error. for example, the data is...
Show More
Thank everyone for your attention.
When Cy7c68013a is configured in GPIF mode for IN transfer, I find a error. for example, the data is 10,11,12,13,....,521,however, the data got in the host is 0,10,11,12,13,....,520. i.e, the first word is zero, and all the origin data shifted to the next place except the last of the origin which is lost.
I have tested for times and the result is same. I don't known what's porblem. I thought it the inherent chip problem.
Thank you again. Show Less
When Cy7c68013a is configured in GPIF mode for IN transfer, I find a error. for example, the data is 10,11,12,13,....,521,however, the data got in the host is 0,10,11,12,13,....,520. i.e, the first word is zero, and all the origin data shifted to the next place except the last of the origin which is lost.
I have tested for times and the result is same. I don't known what's porblem. I thought it the inherent chip problem.
Thank you again. Show Less
USB low-full-high speed peripherals
Reading the datasheet - this part needs valid eeprom at boot time. Is it possible to program an attached eeprom via testpins on a powered u...
Show More
Reading the datasheet - this part needs valid eeprom at boot time.
Is it possible to program an attached eeprom via testpins on a powered up device - or do I need pre-programmed eeproms for assembly ?
rgds. Show Less
Is it possible to program an attached eeprom via testpins on a powered up device - or do I need pre-programmed eeproms for assembly ?
rgds. Show Less
USB low-full-high speed peripherals
We are hooking up an 8 Terabyte JBOD box to the 68320C-100 and seeing a problem. The JBOD is seen correctly when we hook it up directl...
Show More
We are hooking up an 8 Terabyte JBOD box to the 68320C-100 and seeing a problem.
The JBOD is seen correctly when we hook it up directly thru ESATA. Windows 7 sees 4 drive letters (4 partitions) and each partition is 2 TB and reports them as healthy.
When we hook it up thru USB however, Windows 7 only reports two drive letters and that the first two partitions are healthy (4 TB), . Windows 7 then asks if we want to format the last 2 partitions ( 4 TB). By hooking up a SATA analyzer, we were able to determine that the last two drives are never accessed. It looks like accesses to the third and fourth drives are "wrapping" around.
Has anyone seen this behavior? It looks like LBAs that are greater than 4 TB wrap around.
Thanks
Gene Show Less
The JBOD is seen correctly when we hook it up directly thru ESATA. Windows 7 sees 4 drive letters (4 partitions) and each partition is 2 TB and reports them as healthy.
When we hook it up thru USB however, Windows 7 only reports two drive letters and that the first two partitions are healthy (4 TB), . Windows 7 then asks if we want to format the last 2 partitions ( 4 TB). By hooking up a SATA analyzer, we were able to determine that the last two drives are never accessed. It looks like accesses to the third and fourth drives are "wrapping" around.
Has anyone seen this behavior? It looks like LBAs that are greater than 4 TB wrap around.
Thanks
Gene Show Less
USB low-full-high speed peripherals
CTLx is configured as always high even idle mode(by GPIF Desinger). And FW do not intervene CTL0 when transaction data. However, the CTL0 will...
Show More
CTLx is configured as always high even idle mode(by GPIF Desinger). And FW do not intervene CTL0 when transaction data. However, the CTL0 will pull low for a few momont before launch GPIF fifo write transaction. I do not know what is the root cause about this behavior of CTL0.
Show Less
USB low-full-high speed peripherals
Host transfers 8k data to peripheral through FX2LP. However, the last 4k data is lost (what is root cause of data lost?). FX2LP is configured ...
Show More
Host transfers 8k data to peripheral through FX2LP. However, the last 4k data is lost (what is root cause of data lost?). FX2LP is configured as auto out mode and roughly setting is shown as following:
TD_Init () :
CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1); // set the CPU clock to 48MHz
EP2CFG = 0xA0; // EP2OUT, bulk, size 512, 4x buffered
EP4CFG = 0x00; // not valid
EP6CFG = 0x00; // not valid
EP8CFG = 0x00; // not valid
EP2FIFOCFG = 0x00; // allow core to see zero to one transition of auto out bit
EP2FIFOCFG = 0x10; // auto out mode, disable PKTEND zero length send, word ops
TD_Poll():
if( GPIFTRIG & 0x80 ) // if GPIF interface IDLE
if ( ! ( EP24FIFOFLGS & 0x02 ) ) // if there's a packet in the FIFO domain for EP2
{
if ( ext device not full )
{
SYNCDELAY;
GPIFTCB1 = 0x02;
SYNCDELAY;
GPIFTCB0 = 0x00;
SYNCDELAY;
GPIFTRIG = GPIF_EP2; // launch GPIF FIFO WRITE
SYNCDELAY;
while( !( GPIFTRIG & 0x80 ) ) // poll GPIF Done bit
{
;
}
SYNCDELAY;
}
}
}
Show Less
TD_Init () :
CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1); // set the CPU clock to 48MHz
EP2CFG = 0xA0; // EP2OUT, bulk, size 512, 4x buffered
EP4CFG = 0x00; // not valid
EP6CFG = 0x00; // not valid
EP8CFG = 0x00; // not valid
EP2FIFOCFG = 0x00; // allow core to see zero to one transition of auto out bit
EP2FIFOCFG = 0x10; // auto out mode, disable PKTEND zero length send, word ops
TD_Poll():
if( GPIFTRIG & 0x80 ) // if GPIF interface IDLE
if ( ! ( EP24FIFOFLGS & 0x02 ) ) // if there's a packet in the FIFO domain for EP2
{
if ( ext device not full )
{
SYNCDELAY;
GPIFTCB1 = 0x02;
SYNCDELAY;
GPIFTCB0 = 0x00;
SYNCDELAY;
GPIFTRIG = GPIF_EP2; // launch GPIF FIFO WRITE
SYNCDELAY;
while( !( GPIFTRIG & 0x80 ) ) // poll GPIF Done bit
{
;
}
SYNCDELAY;
}
}
}
Show Less
USB low-full-high speed peripherals
Hey, I'm developing an application with the Cy7C68001 which is addressed by a "slow" µController. On the Host side I'm using LabWindows CVI...
Show More
Hey,
I'm developing an application with the Cy7C68001 which is addressed by a "slow" µController. On the Host side I'm using LabWindows CVI and the .NET CyUSB.dll. I'm sending 64*512Byte from the usb driver and read the data with Xfer_Data on the host side. Writing the 64packages takes about 100ms (very slow) at the beginning and the Xfer_Data function is waiting for the data. The host is sending a "read request" and the µController sends again 64*512Bytes.
For debugging reasons I'm looking at the FF and EF of the EP6 (2*512bytes) with an scope. At the beginning the data are beeing read by the host expectedly fast and the limitation for the data transfer is within the µController. Slowly over time the XFer_Data function takes more and more time and delivers an error via the GET_STATUS function. For debugging reasons I measured the time the XFer_Data function takes to acquire the data. Again, at the beginning within 0 to 1 ms and than slowly increasing... I stopped at 5ms after 5minutes.
Did someone come across such a phenomena and may be knows how to solve the problem!?
Kind regards Andreas Show Less
I'm developing an application with the Cy7C68001 which is addressed by a "slow" µController. On the Host side I'm using LabWindows CVI and the .NET CyUSB.dll. I'm sending 64*512Byte from the usb driver and read the data with Xfer_Data on the host side. Writing the 64packages takes about 100ms (very slow) at the beginning and the Xfer_Data function is waiting for the data. The host is sending a "read request" and the µController sends again 64*512Bytes.
For debugging reasons I'm looking at the FF and EF of the EP6 (2*512bytes) with an scope. At the beginning the data are beeing read by the host expectedly fast and the limitation for the data transfer is within the µController. Slowly over time the XFer_Data function takes more and more time and delivers an error via the GET_STATUS function. For debugging reasons I measured the time the XFer_Data function takes to acquire the data. Again, at the beginning within 0 to 1 ms and than slowly increasing... I stopped at 5ms after 5minutes.
Did someone come across such a phenomena and may be knows how to solve the problem!?
Kind regards Andreas Show Less
USB low-full-high speed peripherals
Hello! I just want to develop a small bulk transfer application on windows xp. I am using libusb. The firmware on the CY7C67300 work...
Show More
Hello!
I just want to develop a small bulk transfer application on windows xp. I am using libusb.
The firmware on the CY7C67300 works and enumerates on the host. But when when i want to set a configuration the host hangs.
The output on USBTrace shows that a SET_CONFIGURATION command is sent to the usb controller. But it seems as the host waits for an response but there is none.
Do you know any ways to send an valid response to the pc? And how that response has to look like?
Thanks
Joe Show Less
I just want to develop a small bulk transfer application on windows xp. I am using libusb.
The firmware on the CY7C67300 works and enumerates on the host. But when when i want to set a configuration the host hangs.
The output on USBTrace shows that a SET_CONFIGURATION command is sent to the usb controller. But it seems as the host waits for an response but there is none.
Do you know any ways to send an valid response to the pc? And how that response has to look like?
Thanks
Joe Show Less