USB superspeed peripherals Forum Discussions
Hi all,
I am using CYUSB3KIT-001 in co-processor mode, to develop a mass storage device.
I selected the Application example "slaveasyncfifo", and in GPIF programmer, I selected "slave async fifo 2 bit" and "8 bit data bus".
With "Cypress Control Center", In and Out Transfers are successfully tested.
That is showing that the basic communication between Our Micro Controller and CYUSB3KIT-001 is OK. With Cypress provided driver "CYUSB3.SYS", the system is working fine.
Now for the system, I changed the USB driver from "CYUSB3.SYS" to "USBSTOR.SYS"(Windows USB driver).
System is getting INQUIRY SCSI command(31 bytes). In response to that System is sending 36bytes if Inquiry Data and after that System is sending 13 bytes of CSW.
With USB Analyzer tool USBlyzer, Inquiry command CBW(31 bytes) and Inquiry data(36 bytes) are observed. But CSW(13bytes) is not appeared.
System is sending CSW, after the FLAGA signal indicating that it is ready to accept the In data.( NOT FULL or logic 1 ) . Still it is not appeared in Usblyzer.
After 36 bytes of Inquiry data, System perform a commit, since this is a Short Packet.( by asserting PKTEND signal along with last byte and WR signal ). The same is performed to CSW also.
PLease help me to find out a solution for it.
In the document FX3 Programmer's manual, there is a mention about PP register protocol. Is there any document from cypress which explains this PP register protocol?
Can the system perform the communication with CYUSB3KIT-001 with PP REGISTER PROTOCOL, if the CYUSB3KIT-001 is configured in "slave async fifo 2 bit" mode?
regards,
Sajeevan.K
Hi,
I have the problem, that after a while running system with transferring data through EP2 via sync slave fifo and control communication via EP0 the system stucks.
At this moment I can not communicate over the EP0. The function CyU3PUsbSendEP0Data returns then CY_U3P_ERROR_ABORTED and the call of that API function takes about 2ms (way to long).
I append two lecroy analyzer logs:
1. Transfer_Good.usb: two requests each successful transaction one rq returns two bytes.
2. Transfer_Bad.usb: two requests both the same, should also return 2 bytes but do not. What means defer?
Thanks,
lumpi
Show LessRecently, Microsoft released Windows 8 which supports USB 3.0 streams (http://msdn.microsoft.com/en-us/library/windows/hardware/hh406256(v=vs.85).aspx#_usb_host_controller_extension__ucx01000.sys__) , my question is: does Cypress have a plan to update its CyUSB3 to support this feature too?
Show LessI´m trying to compile my sync slave fifo application without modifications on the newest SDK version 1.2 but get the following error from the linker:
C:\Cypress\EZ-USB FX3 SDK\1.2\\firmware\u3p_firmware\lib\fx3_debug\cyfxapi.a(cyu3usb.o): In function `CyU3PUsbJumpBackToBooter':
(.text+0x65c): undefined reference to `jump'
c:/cypress/ez-usb fx3 sdk/1.2/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/bin/ld.exe: SlaveFifoSync.elf: hidden symbol `jump' isn't defined
How can I fix this? The (new) 1.2 examples compile correctly, but the source from sdk 1.1.1 will not link.
Show LessHi Guys,
This application note describes how libusb can be used to develop an USB host application on a Linux-based OS for Cypress EZ-USB® FX2LP™/ FX3™ products. It includes a step-by-step procedure for developing the bulk-loop example.
Thanks,
sai krishna.
Show LessHello everybody,
is there an IBIS model for FX3 slave port pins (CLK, DATA32b, CTL). I am designing and fpga+fx3 board. All my traces have the same length(4.5cm /1.6 inch), same width (0.1mm/4mil) and they run on inner layers. I want to know if i still need the 22 ohm resistors that are in series to those pins on the development board. The VIO of the slave port is connected to 1.8V power supply.
thank you
Show LessI'm finding that my current console application sometimes hangs. It uses XferData() in the C++ CyAPI library. If I then execute the Control Center application that uses the C# BeginDataXfer, FinishDataXfer CyUSB.dll I can conduct data transfers as usual. Terminate the Control Center program and run my C++ application again and it dones nothing and hangs. Go back to the Control Center application and I can do xfers as usual. I've been having to toss the first FX3 dma buffer size worth of data because it is always stale. I don't know if that is connected to my issues. What is certain is that for some reason Cypress has no examples using XferData() to use as a sanity check.
Show LessHi all,
I would like to use FX3 with FPGA. I need to provide fast data transfer, so I decided to use 32bit slave FIFO mode. However I have some doubts:
1. First of all I'd like to boot from SPI flash. Here is first problem. 32bit FIFO can't be used with SPI. I assumed that it is possible to boot from SPI and then reconfigure device to 32bit FIFO. But what is happening with SPI lines then? Should I use WP# pin of flash to prevent unintended writing to memory?
2. Furthermore, I'd like to have possibility of reconfiguring FPGA directly form FX3. I will use Spartan 6 Slave serial mode, so.. I need to drive M1 configuration line, reset FPGA and Slave Serial lines (CLOCK, SERIAL OUT, PROGRAM_B, INIT_B and DONE).
3. That is not end of configuration possibilities which I would like to implement. FPGA wil boot from SPI flash by default. I'd like to be able to write that flash from FX3 directly. So another chip enable and write protect (?) lines are required.
My question is which pins I could use with 32bit FIFO to meet this demands?
I think those pins are fully available when FIFO is configured - GPIO 23; GPIO 25; GPIO 26; GPIO 27; GPIO 45. Am I rigth?
Is it possible to use I2S pins (GPIO 50-52; 57) as GPIO also?
Is it any possibility to use SPI to meet the requirements of the third point?
It is only conception, please make your suggestions - I would like to know if it is possible or not.
Best regards
Show LessHi all,
I am starting to work on power state management. The FX3 API includes a function called CyU3PSysEnterSuspendMode
described on page 16 of the API guide. The first parameter is wakeupFlags.
"Bit mask representing the wakeup sources that are allowed to bring FX3 out of suspend mode."
The options mentioned are:
CY_U3P_SYS_PPORT_WAKEUP_SRC_EN
CY_U3P_SYS_USB_WAKEUP_SRC_EN
CY_U3P_SYS_UART_WAKEUP_SRC_EN
However, as far as I can tell, they aren't defined ANYWERE. they don't show up anywhere else in the API guide, and their only mention is in cyu3system.h, which simply has the same text as the API guide in the comments.
Does anyone know where these are defined, if at all, and if not, what should their values be?
Thanks,
Mark Garrison
Show Less