提高USB HID设备速率的方法——基于C8051F380

本文探讨了如何通过合理配置USB HID设备的端点参数来提高数据传输速率。介绍了不同USB速度下的最大传输频率及包大小,并给出了具体实践案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       项目采用C8051F380的USB2.0接口实现HID设备(配置为Game Controller)。利用端点1发送数据,每包12个字节。经测试,即使设备什么也不做,仅在main函数的while(1)循环中持续发送数据,最快数据也仅达到5ms一包。后查阅资料,得到了如下结论,提高了发送速率(参考资料见后面的几幅图片):

        1、USB HID设备上报数据采用的端点1必须配置为中断传输;

        2、USB中断传输时在端点描述符中,要配置一个参数bInterval,这个参数代表发送一包的最小间隔,取值范围为1~255(单位ms);

        3、低速USB最快10ms一包,一包最多8Byte;全速USB最快1ms一包,一包最多64Byte;高速USB最快125μs一包,一包最多1024Byte。

        因此,在下图中,将参数bInterval直接改为1即可。


=====================上面说的参考资料如下=======================






======================说明==============================

关于高速模式下的轮询间隔,应该是第三张图是对的,即每125us发3包,这样算出来的速率才是24.576MB。

第二张图片中关于高速端点的轮询间隔不对。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值