You are here

AN75779 - UVC example bulk endpoint packet size in USB 2.0 HiSpeed mode | Cypress Semiconductor

AN75779 - UVC example bulk endpoint packet size in USB 2.0 HiSpeed mode

Summary: 2 Replies, Latest post by Madhu Sudhan on 02 Apr 2014 03:38 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
user_2208888's picture
38 posts

Hello, studying the source code for the UVC example I've seen that the bulk endpoint for streaming pixel data is set in the firmware as 1024 bytes ( valid for USB 3.0 but not for 2.0 ) but in the same firmware in the descriptor for the USB 2.0 situation the packet size is correctly set to 512 bytes.
The endpoint initialization function uses the 1024 bytes zixe on all modes but the descriptor is correctly done, my question is: if I have a device that will be used exclusively with USB 2.0 hosts should I change the endpoint initialization structure to use 512 as the packet size or it could remain at 1024 as in the example ?
My concern is that even if now the example seem to work on USB 2.0 hosts later it may not work anymore depending on the host software or work wrongly if the packet size is different in between the descriptor and the initialization function.
I would appreciate if some Cypress tech will shed light on the issue.

Many thanks,

VAVC's picture
Cypress Employee
506 posts


You can change the endpoint size to 512 in High speed. Even if it is 1024 it will work. In the second case If the size is mentioned as 1024, then when a 512 Byte packet comes, it will occupy the first buffer and the second packet occupies the remaining 512 bytes in the first buffer. (But in FX2LP it is not the same issue. Second 512 Byte packet occupies the second buffer).




mady's picture
Cypress Employee
964 posts

 Hi The CyU3PSetEpConfig() API is such that if you give a max pckt size value > 512, when the connection is high speed, it would automatically assume set the Max packet size value as 512 Bytes.

So you need not worry about this.



Log in to post new comments.