USB low-full-high speed peripherals Forum Discussions
hi,
In our application network packets having a size between < 512 bytes up to 15xx bytes are sent from the USB host over a slave FIFO interface to an FPGA using bulk transfers. The USB bulk endpoint operates in autoout mode without CPU intervention.
A major problem has been the detection of the end of a USB transfer. Currently, the FPGA monitors the empty flag of the USB out FIFO for a packet < 512 bytes.
Example: The host sends a network packet of 1200 bytes. The FPGA reads USB bulk packets of 512, 512 and 176 bytes. The 176 byte packet tells the FPGA that the USB transfer ends.
However, this approach has two problems.
a) If the host sends the packets very fast, two USB transfers are stuck together. For example, if the host sends two packets of 1200 bytes, the FPGA may receive packets of 512, 512, 512, 512 and 352 bytes.
b) The FPGA has to read out any arriving packet IMMEDIATELY. Otherwise, problem a) occurs. This requires additional flow control between host and FPGA.
Is there a better way of solving this framing problem when using the FIFO slave interface ?
SB
Show LessHi everyone,
I'm currently trying to design kind of a custom sound board that can record an input sound and output a sound to a FPGA.
Actually it's not really "sound", it's a sine wave signal which frequency can be up to 40kHz (so it is not "audible sound"). The recorded sound would be from samples sent to the computer and the result should look like a classic sound you can record on Audacity for example.
The samples could occupies 8 bits for example and I'd like to have the sample rate to be around 400kHz.
I would also like to debug the FPGA using UART both ways, I'd like to read and send characters from the computer.
I'm asking myself if the FX2LP is a great choice or if I should switch to the FX3.
What do you think ?
Show LessHi,
I couldn't find the WHQL test report for cyusb.sys(FXLP2 windows driver)on cypress website. Does cypress provide this report and where can i get from? thanks.
Show LessHello sir,
I have one application and it is based on the following serial communication settings
Baud Rate:9600
Data Bits:7 bit
Parity:Even
Stop Bits:1
Flow Control:None
I have been using cypress ic CYC64225 with 9600 8-N-1
But this IC does not support 7-bit data format.
I have my hardware ready and I don't want to change it so finding pin to pin compatiblity with this IC.
Please suggest me IC part number which support 7/8 bit data format and also pin compatiblity with existing one.
Show LessHi,
I'm working with CyUsbS234 (CY7C65211)
I have already tested the kit on Windows, it works ok.
I can also use it on my Linux platform, with linux SDK and libusb.
To get more gpio and i2c, I need to change the serial port mode from mode 0 (default) to mode 5.
There is no API to change the serial port in the CyUSBSerial API Document.
I need to change the serial port mode at runtime in linux system.
Can someone help me? Thanks.
Show LessQ1:I get "When AUTOOUT=1, as soon as a buffer fills with USB data, the buffer is automatically and
instantaneously committed to the endpoint FIFO bypassing the CPU" from FX2 TRM,can you give me more details about the differences and relations between endpoint FIFO and buffer, and how about is it in AUTOIN?
Q2:The state of EF,FF,(PF) is given in EP2468STAT and EP24FIFOFLGS,and the state of EF,FF and PF can also be expressed by flagA(or flagB flagC). The states all above are identical ?
thank you!
Show LessHi all,
Using the "ControlCenter" application available into FX3 SDK I see that a .iic firmware file can be wrote, into a FX2 coupled EEPROM, in a fraction of the time needed for the same operation performed by the old FX2's "ControlCenter". This is very interesting...
I understand that this operation is performed by LoadEEPROM function available into the new CyUSB .NET library. But is it possible to implement the same thing in a custom fw/sw? Can you provide the fw/sw source to perform such R/W speedy operations on FX2 coupled EEPROM?
Thanks a lot.
Show LessHi,
I am using a image-collecting system based on the Cypress 68013. But I am not the hardware person, this is my partner's work. I just need to do the PC application.
Now when I only receive data and not do other things in my app, I can receive stable data rates up to 22Mbytes/s.
However if I do some data processing in another thread, the data rates will be not stable that in fact the data sometimes can't be received completely(the waitForDataXfer is timeout). I use your "streamer" application as an example to design my app. My experimental desk computer is not a new one with winxp system and old i3 cpu. In other hand, my app can work stably on my PC with i5 cpu and win8.1 system.
The last, I want to say the imaging-collecting system I used doesn't have a ram buffer to store one frame from the cmos imaging sensor. It will transmit a frame to the PC if it gets PC's request code for a simple agreement. That is to say sometimes I can't receive a frame in time and completely with the asynchronous method (BeginDataXfer/WaitForXfer/FinishDataXfer)that Cypress offered. My image frame is 1280 * 720.
Thank you for help.
Show LessHi all
I use the C2 boot mode of 68013a, some times when I power off the 68013 system, it become a unkown device when next reboot, after then I checked the data in EEPROM, find that the PID&VID was rewrote, after a series of power-off test, meanwhile capture the waves on IIC SCL and SDA line, we recreate the problem, in the moment of system power off, some random pulse on SCL and SDA line rewrites the EEPROM.
In my 68013a firmware ,I need to read or write EEPROM, so I connect the EEPROM WP(write protect, active high) pin to Vcc by a resistance, and also connect a 68013a GPIO to WP pin, when I need to write the EEPROM, I set the 68013a GPIO low to deactive the EEPROM write protect, and set it high after write operation. the problem is that, from the wave we capture, in the moment of power off, the EEPROM WP pin is pulled down before the EEPROM is still working, that means when random pulse apears on SCL and SDA, the WP pin is low, and I ensure that no software EEPROM write operation is executing in the moment of power off.
Why is there such a problem? and How to resolve this problem?
Show LessHi all, is there any example for fx2lp to demonstrate how to control the gpio pins at cy3684 fx2lp development kit?
Currently, I don't know where to start, please kindly give me some tip or direction.
Thanks.
Show Less