64 Byte Control Transfer using EnCoRe V

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
ShopithamR_26
Employee
Employee
25 replies posted 10 replies posted 5 replies posted

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
 

0 Likes
0 Replies