USB 设备百科
USB将各种各样的识别按照Class ID进行了分类,下面是按照类进行了详细的分类并且简单介绍原理视频:
Audio (ClassID 0x01)
说明:音频类设备(USB Audio Class, UAC),包括声卡、USB 麦克风、USB 耳机、DAC 等。支持等时同步/自适应等多种传输模式。分 UAC1 / UAC2 / UAC3 版本,支持不同采样率、通道数与时钟同步。
常见设备:外置声卡、USB 麦克风、USB 耳机、会议麦、乐器接口。
参考视频:
https://youtu.be/tSFkGbiQnp4?si=Uc-wwaBWuL8qrvyA
Communications (CDC-Control) (ClassID 0x02)
说明:通讯设备类控制接口,常用于调制解调器、网络适配器等,配合 CDC-Data(0x0A)一起使用。
常见设备:USB 调制解调器、RNDIS 网卡、串口桥接芯片(配合 CDC-ACM)。
HID (Human Interface Device) (ClassID 0x03)
说明:人机接口设备类,免驱,基于报告描述符定义按键/轴/传感器数据。
常见设备:键盘、鼠标、游戏手柄、条码扫描枪、遥控器。
参考视频:探索 ps/2 键盘与 USB2.0 键盘对于延迟的差异
https://youtu.be/wdgULBpRoXk?si=Z1ZKvO3EHSYqWVgg
Physical Interface Device (ClassID 0x05)
说明:主要用于力反馈等物理交互设备(早期应用较多,现多由 HID 扩展替代)。
常见设备:力反馈方向盘、触感反馈手柄。
Image (ClassID 0x06)
说明:图像设备类,支持 PTP(图片传输协议)、MTP(媒体传输协议)等。
常见设备:数码相机、扫描仪、MTP 手机连接模式。
Printer (ClassID 0x07)
说明:打印机类设备,支持标准化数据与控制传输。
常见设备:喷墨/激光 USB 打印机。
参考视频:https://youtu.be/tDiHTK9nwYw?si=g_kNg8quCAXVdYTt 打印机工作原理
Mass Storage (ClassID 0x08)
说明:大容量存储设备,使用 SCSI-over-USB 或 UAS(USB Attached SCSI)。
常见设备:U盘、移动硬盘、读卡器。
参考视频:https://youtu.be/r2KaVfSH884?si=oLiBt0C6gkC9XQlb SSD工作原理
Hub (ClassID 0x09)
说明:USB 集线器设备,负责拓扑扩展和电源管理。
参考视频:https://youtu.be/iR2hYpq0KI0?si=Aq0DMTxXegEtNrlm 设计一个hub板级电路
CDC-Data (ClassID 0x0A)
说明:CDC 数据接口类,通常和 0x02 搭配使用。
Smart Card (CCID) (ClassID 0x0B)
说明:智能卡接口设备,支持金融卡、门禁卡、U盾等。
Content Security (ClassID 0x0D)
说明:内容安全保护设备,例如 DRM 模块。
Video (ClassID 0x0E)
说明:视频类设备(UVC),包括摄像头、视频采集卡,通常免驱。
参考视频:https://youtu.be/4I8ohXMIhjs?si=-BHGVjBw2hS8gbj8
Personal Healthcare (ClassID 0x0F)
说明:个人医疗健康设备。
Audio/Video (ClassID 0x10)
说明:音视频综合类设备。
Billboard Device (ClassID 0x11)
说明:USB-C Alternate Mode 信息提示设备。
Diagnostic Device (ClassID 0xDC)
说明:诊断/测试类 USB 设备。
Wireless Controller (ClassID 0xE0)
说明:无线控制类设备,如蓝牙适配器、Wi-Fi Dongle。
参考视频:https://youtu.be/1I1vxu5qIUM?si=SFiaF1q7VcKhNaLQ 蓝牙工作原理
Miscellaneous (ClassID 0xEF)
说明:杂项类设备,如 ActiveSync。
Application Specific (ClassID 0xFE)
说明:特定应用类,如 RNDIS、DFU、TMC(Test & Measurement Class)。
rndis在操作上看起来双typec和网线一样使用,不用usb转eth再插入typec,但是软件操作没usb转eth方便
Vendor Specific (ClassID 0xFF)
说明:厂商自定义类,需要厂商驱动。