Linux驱动学习--USB设备的接入及UAC设备描述符的讲解

一、引言

任何USB设备在连接到USB接口后,主机检测到有新设备接入,会利用不同的请求命令(Request)查询该设备的属性,设备通过不同的描述符向主机报告自己的情况。包括设备的种类,设备的功能,设备具有的端点数量以及其他工作属性等等。在了解这些信息之后,主机就可以根据需要分配USB工作带宽。

附一张整体框架图
Linux驱动学习--USB设备的接入及UAC设备描述符的讲解_第1张图片

二、USB设备描述及接入

在USB中USB HOST 是通过各种描述符来识别设备的,有 设备描述符,接口描述符,端点描述符,字符描述符,报告描述符等
USB HID 设备 (人机交互操作的设备) 是通过报告来传送数据的,报告有:输入报告 和 输出报告

输入报告 :是设备发送给主机的,例如 usb鼠标将鼠标移动和鼠标点击的信息返回给电脑,键盘将按键数据返回给电脑。
输入报告是通过中断输入端点输入的。

输出报告 :是主机发送给USB设备的,例如键盘上的数字键盘锁定灯和大写字母锁定灯等。报告是一个数据包,里面包含的是所要传送的数据。

报告描述符 :是描述一个报告以及报告里面的数据是用来干什么的。通过它,USB HOST 可以 分析出报告里面的数据所要表达的意思。

USB电气特性

标准USB使用4根线:5V电源线(VBus),差分数据线负(D-),差分数据线正(D+),地(GND),USB线缆及插头插座

你可能感兴趣的:(Linux内核/驱动学习)