这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » USB开发系列——使用控制传输的HID通讯需要注意的事情

共1条 1/1 1 跳转至

USB开发系列——使用控制传输的HID通讯需要注意的事情

助工
2014-10-05 20:22:03     打赏

HID通讯可以使用中断端点做IN/OUT,这种方式固件实现起来比较简单,清晰,没有太多的限制。
但如果用控制端点做IN/OUT,除了上一讲提到的注意packet的处理顺序外,还需要注意:
1、HID描述符中规定了每个transfer所能发送的最大长度,这个长度的设置需要综合考虑实际应用中所要传输的数据量。
   1.1 如果这个长度过大(比如256),但每次实际需要传输的数据量又很小(比如8字节),那就相当于每次PC都需要向设备发送248(=256-8)个无用的数据,造成带宽的极大浪费。
   1.2 如果这个长度过小(比如8),但每次实际需要传输的数据量又相对较大(比如128字节),需要16(=128/8)次transfer才能完成,而每次transfer都需要经历setup/data/status三个stage,也会造成带宽的浪费。


2、上述1.2情况下,可以通过数据级联的协议来组织数据。


3、使用控制传输实现的HID协议,难以在固件上实现对PC应用程序多进程(或多线程)的支持。如果再加上1.2情况下需要级联数据,那就是不可能支持了。在这种情况下,就需要在PC机上增加互锁机制来支持多进程(或多线程),否则就会造成设备执行错误的命令,应用程序收到混乱的数据。


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]