EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Cypress FX2 bandwidth problem

Started by damir November 29, 2005
Is there any alternative to Cypress driver available in the source, or I'll 
have to go and write driver (WinXP) by myself :(((( I've done some windows 
drivers several years ago and I don't like it at all.

Damir

"Ricardo" <spamgoeshere1978@yahoo.com> wrote in message 
news:3v3qjgF137kthU1@individual.net...
> damir escreveu: >> We have developed data acquisition system which uses Cypress FX2 as the >> USB 2.0 interface. State machine for control and conversion of data >> between AD converters and FX2 is implemented using Xilinx Spartan 2 FPGA. >> The problem is that with higher data rates (up to 25 Mbit/s) we >> experience FX2 internal FIFO stalls and missing data on the receiving >> side. Small FIFO implemented inside FPGA does not help to resolve the >> problem. On the PC, data acquisition is implemented using CyAPI & CyUSB. >> USB bulk mode is used for transfer. >> >> As mentioned data rate is only a fraction of USB 2.0 bandwidth, I don't >> know if the mentioned problem is related to the implementation of the >> receiver side (CyAPI) or lacking capability to sustain such bandwidth >> within Cypress FX2. >> >> Did anyone have similar problems using FX2 and how you manage to solve >> it? >> >> I will appreciate any help to resolve this problem, if possible in >> software - hardware solution will require redesign of the PCB and >> implementation/addition of large size FIFO to buffer FX2 stalls (which >> may, according to our experience, extend up to 50 ms). >> >> Thanks, >> >> Damir >> >> >> > I use the SX2 and could get around 25Mbit/s of sustained transfer in bulk > mode, but remember that bulk transfers have absolutely no time guaranty. > Even interrupt and isochronous that should have timeliness have a > disclaimer in the USB specification that real timeliness is dependant upon > SO. Windows and Linux can take a very long time without giving the > processor to any specific task. I did no test at all regarding latency in > this case. Depending on how critical is the data, you may need over 1s of > buffering. Using drivers in windows i've seen sub-ms response times, but > there's no way to be sure it will allways be so. I think the Cypress > driver is quite slow also. In the test I achieved 25mBit/s the FPGA > driving the SX2 could deliver over 120Mbit/s to the SX2, which sould be > capable of even more.... > > Ricardo
damir escreveu:
> "Ricardo" <spamgoeshere1978@yahoo.com> wrote in message > news:3v3qjgF137kthU1@individual.net... > >>damir escreveu: >> >>>We have developed data acquisition system which uses Cypress FX2 as the >>>USB 2.0 interface. State machine for control and conversion of data >>>between AD converters and FX2 is implemented using Xilinx Spartan 2 FPGA. >>>The problem is that with higher data rates (up to 25 Mbit/s) we >>>experience FX2 internal FIFO stalls and missing data on the receiving >>>side. Small FIFO implemented inside FPGA does not help to resolve the >>>problem. On the PC, data acquisition is implemented using CyAPI & CyUSB. >>>USB bulk mode is used for transfer. >>> >>>As mentioned data rate is only a fraction of USB 2.0 bandwidth, I don't >>>know if the mentioned problem is related to the implementation of the >>>receiver side (CyAPI) or lacking capability to sustain such bandwidth >>>within Cypress FX2. >>> >>>Did anyone have similar problems using FX2 and how you manage to solve >>>it? >>> >>>I will appreciate any help to resolve this problem, if possible in >>>software - hardware solution will require redesign of the PCB and >>>implementation/addition of large size FIFO to buffer FX2 stalls (which >>>may, according to our experience, extend up to 50 ms). >>> >>>Thanks, >>> >>>Damir >>> >>> >>> >> >>I use the SX2 and could get around 25Mbit/s of sustained transfer in bulk >>mode, but remember that bulk transfers have absolutely no time guaranty. >>Even interrupt and isochronous that should have timeliness have a >>disclaimer in the USB specification that real timeliness is dependant upon >>SO. Windows and Linux can take a very long time without giving the >>processor to any specific task. I did no test at all regarding latency in >>this case. Depending on how critical is the data, you may need over 1s of >>buffering. Using drivers in windows i've seen sub-ms response times, but >>there's no way to be sure it will allways be so. I think the Cypress >>driver is quite slow also. In the test I achieved 25mBit/s the FPGA >>driving the SX2 could deliver over 120Mbit/s to the SX2, which sould be >>capable of even more.... >> >>Ricardo > > Is there any alternative to Cypress driver available in the source, or I'll > have to go and write driver (WinXP) by myself :(((( I've done some windows > drivers several years ago and I don't like it at all. > > Damir >
Talking to the software guy here, USB drivers are the most documented one in DDK's. But, as the Cypress drivers achieves what we need right now, we're no looking anywhere else now. Ricardo

The 2024 Embedded Online Conference