in FX3 firmware, can i set uniform 16k buffer size for all usb rate modes ?(1.0,2.0 or 3.0)

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

cross mob
GlWa_4148656
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Hi all, i`m not familiar with firmware code of FX3 and want to ask sb expert for modifing a little part of firmware.

we currently use the slave fifo firmware for driving FX3,   in this example firmware,  internal buffer size is configured based on usb rate, as the code piece below:

usb rate.JPG

In above switch of code, three usb rate modes are mapped to three different buffer size configurations,  by those configurations, 16kB per one packet for usb3.0 and 8kB per one packet for usb2.0,  thus if our device is connected with usb2.0 host, two bulk-in transfers are needed for transferring one 16kB data, actually we expect that transferring 16kB in one packet for all usb rate modes,  that will simplify our FPGA interface design.

can i just set all size to 1024 in above three cases of switch ?   or i can not do that for some hardware reason of FX3 ?   

BTW, need i modify the burstLength of above code ?

0 Likes
1 Solution
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

"can i just set all size to 1024 in above three cases of switch ?   or i can not do that for some hardware reason of FX3 ? " 

>>The size in the above code snippet represents the maximum packet size for the corresponding USB speeds. These values are according to USB specifications. They cannot be changed.

"BTW, need i modify the burstLength of above code ?"

>> Burst Transfer is supported only in USB 3 mode The maximum burst size for USB 3 is 16.
The burstLength should not be modified in the default firmware.

Best Regards,
AliAsgar

View solution in original post

1 Reply
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

"can i just set all size to 1024 in above three cases of switch ?   or i can not do that for some hardware reason of FX3 ? " 

>>The size in the above code snippet represents the maximum packet size for the corresponding USB speeds. These values are according to USB specifications. They cannot be changed.

"BTW, need i modify the burstLength of above code ?"

>> Burst Transfer is supported only in USB 3 mode The maximum burst size for USB 3 is 16.
The burstLength should not be modified in the default firmware.

Best Regards,
AliAsgar