Lazy loaded image
USB专题01 - USB硬件框架和软件框架
Words 516Read Time 2 min
2025-4-24

参考资料:

  • 《圈圈教你玩USB》

一、物理框架简介

1. 物理层次结构

  • 主机控制器:负责总线管理,位于PC或设备中
  • 集线器(Hub):扩展USB端口
  • USB设备:连接到主机或集线器的终端设备

2. 速度等级

速度等级
速率
USB协议标准
适用设备
低速(Low Speed)
1.5 Mbps
USB 1.0/1.1
键盘、鼠标、游戏控制器、传统HID设备
全速(Full Speed)
12 Mbps
USB 1.0/1.1
声卡、MIDI设备、低分辨率摄像头、低速打印机、旧式扫描仪
高速(High Speed)
480 Mbps
USB 2.0
存储设备(U盘)、高清摄像头、外置硬盘、打印机、扫描仪、网络适配器
超高速(SuperSpeed)
5 Gbps
USB 3.0/3.1 Gen1
高速存储设备、视频采集设备、外置SSD、高清摄像头、高分辨率显示器
超高速+(SuperSpeed+)
10 Gbps
USB 3.1 Gen2
高性能外置SSD、视频采集卡、4K显示器、高性能存储设备
超高速++(SuperSpeed++)
20 Gbps
USB 3.2 Gen2×2
高端外置存储阵列、专业视频设备、高刷新率4K/8K显示器
超超高速(USB4)
40 Gbps
USB4
外置GPU、高性能扩展坞、高分辨率多显示器、Thunderbolt兼容设备

3. 拓扑结构

notion image
  • 树状结构,最多支持127个设备
  • USB Host:它跟处理器相连,处理器通过USB Host跟各类USB设备通信。USB Host中集成有一个root hub
  • USB Device:这分为两类设备
    • Hub:用来扩展USB接口
    • Function:就是普通的USB设备,比如U盘、声卡等

二、软件框架简介

下图说明USB系统各组件之间的层次结构和数据流向

1. 用户空间

  • 应用程序通过两种方式访问USB设备:
  • libusb库(用于直接访问USB设备)
  • 设备文件(如HID设备的/dev/input/eventX)

2. 内核空间

  • USB设备驱动:负责特定类型USB设备的功能实现
  • USB核心层:提供统一的接口和服务,管理USB总线
  • USB主机控制器驱动:根据控制器类型(OHCI/UHCI/EHCI等)实现具体操作

3. 硬件层

  • USB主机控制器:主板上的物理控制器芯片
  • USB设备:连接到系统的物理设备
上一篇
模板设计模式:让你的代码结构更清晰
下一篇
Guide to Linux System

Comments
Loading...