900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > QCC3040 USB Composite Device: Audio+HID+CDC/虚拟串口

QCC3040 USB Composite Device: Audio+HID+CDC/虚拟串口

时间:2020-01-15 23:06:38

相关推荐

QCC3040 USB Composite Device: Audio+HID+CDC/虚拟串口

笔记一下USB IAD的用途, 真实体验到了什么叫概念不清,误入歧途. 首先声明一下,笔者没有系统性了解过USB协议,只是按照实际情况,提出需求,发现问题,解决问题. 笔者记录一下在高通QCC3040芯片上做USB Composite Device的过程和心得.

首先在QCC3040的ADK上已经具有Audio+HID的完整功能. 客户提出能否采用CDC ACM来取代HID实现上位机的控制功能,同时使用windows系统自带的usbser.sys驱动,不能额外增加PC驱动的工作量. 接到这个需求的时候, 心想, 这个简单, 在原始ADK的基础上增加CDC相关的Descriptor就是.

但是这是不够的,电脑不能正常枚举USB设备.连本身具有的Audio和HID都同时会报错.

这个实际涉及到USB IAD扩展的实际含义, 但是在度娘和CSDN上其实看不到可以说清楚IAD(即Interface Association Descriptor)的真正含义和使用方法的文章, 可能高手认为这个太简单了,不愿意提.

做USB Composite Device离不开IAD,因为IAD就是用于对于不同Interface进行分组用的. 说明那些Interface是一个组别.

对于只需要一个interface就可以实现的功能, 不需要IAD; 只有需要多个interface的功能才可能使用IAD来说明. 比如HID就不需要, MSC也不需要;但是CDC/ACM一定需要, CDC/ACM需要两个Interface, 一个是control interface, 一个是data interface, 在增加CDC本身的descriptor之前,要先提供相应的IAD descriptor. 同时Audio 即(UAC)部分也要增加IAD分组, 这样才不会出错.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。