USB low-full-high speed peripherals Forum Discussions
Hi. I'm using the DE2-115 FPGA. I'm trying to write my own firmware for the CY7C67200. I finished writing for the ISP1362 and then TerAsic changed the darn chip.
I'm having difficulty reading default values. I am trying to read the hardware revision at 0xC004. It should be 0x0101 + the number of revisions. I believe the chip is revision A, so that would be +0, correctl? When I read the value, I get 0xC008.
Does it matter if the address changes with Chip Select? Is there an FPGA example on this anywhere? I'm having difficulty understanding the difference between the address states (address, data, mailbox, status).
Any help would be greatly appreciated. I've been reading the documents from CY3663, but nothing seems to give me confidence that I'm doing it correctly.
Thanks
-Joe
Show LessAn internal error occurred during: "Launching SlaveFifoSync_test.elf".
java.lang.NullPointerException
When I set the IDE followed "FX3 Programmers Manual :12.2 Eclipse IDE" to want to debug,then the error occured.
begin, the problem like http://china.cypress.com/?app=forum&id=167&rID=78322, then i modified some configuration and the error is:
An internal error occurred during: "Launching SlaveFifoSync_test.elf".
java.lang.NullPointerException
Show LessI have USB UART User Module in my project . After I issue Clear_Endpoint_Feature to my Bulk In endpoints , all further BULK IN request are NAK by my device . How to fix this issue?
The Clear_Endpoint_Feature is allows the host to remove the HALT from the specified endpoints. Once this command is issued the device should clear the HALT is the corresponding endpoint and report the success through ACK . All further transfer through that endpoint will be successful.
Now in case of using the USBUART UM after issuing the Clear_Endpoint_Feature to the Bulk In endpoints what happens is it clears the HALF if any and instead of an ACK the device NACKs the Host . All further IN transfers request to this Endpoint will be NACKed until the device is reset . Below is the method to over come this issue .
The Clear_Endpoint_Features is a standard request and is handled by the USBUART_std.asm file . The function ' USBUART_CB_h2d_std_ep_01' handles this function request . Scroll down in this function and find the below lines .
; Mark endpoint as empty so it will be reloaded mov [X+USBUART_EndpointAPIStatus], NO_EVENT_PENDING mov reg[X + USBUART_EP1MODE - 1], USB_MODE_ACK_OUT ; JMP .done .in: mov [X+USBUART_EndpointAPIStatus], NO_EVENT_PENDING MOV REG[X + USBUART_EP1MODE - 1], USB_MODE_NAK_IN ; .done:
Change the highlited value i.e, USB_MODE_NAK_IN to USB_MODE_ACK_IN .
Attached is the project which contains the modified component.
Regards,
SRAM
My USBFS component control Endpoint size in Encore V and EnCoRe III is only 8 Bytes . In my application I need to transfer 64 Bytes . How to do it?
The control Endpoint is a bidirectional endpoint that uses the same buffer (USBFS_INTERFACE_0_FEATURE_RPT_DATA) to Send and receive the data . This buffer size is only 8 bytes . So if the user is sending any data over the control endpoint there is a possiblility that data may be overwritten . Also the Control transfer size for FS USB is 64 bytes . But due to the buffer limitation the User can send and receive data only in 8 bytes . Below is the solution to over come this problem in EnCore 3 and 5.
The USBFS component of allows the user to override the exisisting routines easily . The Feature report such as GET and SET Report Rountines can be easily over written by following the steps in the USBFS UM datasheet . Please refer the section "Creating vendor specific device request and overriding existing request "of the UM datatsheet available in the following link http://www.cypress.com/?rID=3092
Attached is a simple project in which I have over ridden the exisisting routine for the GET and SET REPORT . I have made the buffer size uptp 128 bytes and tested the project . Also unlike the normal way where there is only one buffer for both IN and OUT in this project there are separate buffers for both GET and SET reports . The Files that has been modified are the USBFS_cls_hid.asm and USBFS.inc
Regards,
SRAM
Hi All,
Please find the beta release of the Eclipse based tool chain for FX2LP on Windows, in the link provided below:
https://www.dropbox.com/s/o1z1cchdgl5qdcs/EZ%20USB%20Studio.zip
It would be great if you can provide your feedback on this tool chain. We will address that in official release to serve customers like you better.
Thanks,
Sai Krishna.
Show LessHi,
Please find updated AN70983: Designing Bulk Transfer Application for FX2LP/ FX3 (http://www.cypress.com/?rID=53165). It now includes host side application in Visual Basics/ Visual C++ and Visual C#, for FX2LP/ FX3. Please refer the same and let us know your feedback.
Regards,
Gayathri
Show LessHi All,
Here is an Example project on Keyboard Implementation using Encore V . This is a wired keyboard example project which supports standard 104 key keyboard. It also has other features like
1) Ghost key detection
2) USB Suspend
3) USB remote Wakeup
4) Power button - Sleep, shutdown
5) CD controls: play/pause, stop, fwd/next, and back/previous
6) Volume Controls: up, down, mute
7) Internet keys: WWW browser, e-mail, search, backward, forward, and favorite
😎 Debounce for all button press
Attached along with this project is an Excel sheet giving the details of Keyboard Matrix.
Regards,
SRAM
Show Less