nuc980使用usb0作为从机,在linux内核驱动中开启gadget hid功能,从机需要和pc上位机进行大数据量(1k)通信时,从机每发一包(一个packet 8字节),必须延时50ms以上,不然上位机会丢失部分信息,用usb bus hound抓包工具查看,如果监控了从机设备号usb input device数据是没问题,但是Hid-compliant device数据就丢失了。我自己尝试改了linux内核里面hid.c文件
static struct usb_composite_driver hidg_driver = {
.name = "g_hid",
.dev = device_desc,
.strings = dev_strings,
.max_speed = USB_SPEED_FULL,//by zl
.bind = hid_bind,
.unbind = hid_unbind,
};
把高速改成全速,但是好像没起到作用,设备信息里还是高速。请问,从机一次性需要把许多数据发给上位机,每发一个packet必须长时间延时,这是什么原因导致的。
共2条
1/1 1 跳转至页
nuc980从机一次性需要把许多数据发给上位机,每发一个packet必须长时间延时,是什么原因导致的?

关键词: nuc980 上位机 packet

2楼
1. USB传输带宽限制:USB 2.0的传输速率较低,可能无法满足高速传输大数据量的需求。如果数据包太多,传输速率就会受到限制,导致延迟增加。
2. USB传输协议的设计限制:USB传输协议中可能存在某些设计限制,导致每个数据包之间必须有指定的延时间隔。这可能是为了避免数据包丢失或冲突。
3. USB驱动程序的实现:USB从机设备的驱动程序可能存在某些问题,导致发送数据之间必须有额外的延时。你所提到的改变内核中hid.c文件可能会影响传输延时,但也可能引入其他问题。
解决这个问题的一种方法是尝试使用更高速的USB接口,如USB 3.0或USB 3.1。另外,你还可以检查USB从机设备的驱动程序,确保其实现正确,并符合USB传输协议的要求。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |