USB总线详解
USB总线
USB (Universal Serial Bus) 是 1995 年 Microsoft、Compaq、IBM 等公司联合制定的一种新的 PC 串行通信协议。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展 PC 连接外设范围的目的。允许外设在开机状态下热插拔(电源启动超前于数据传输),最多可串接 127 个外设,它可以向低压设备提供 5 伏电源,同时可以减少 PC 机 I/O 接口数量。
1.USB 硬件接口
2.USB 的特点
- 可以热插拔:即插即用。
- 携带方便:USB 设备大多以“小、轻、薄”见长,对用户来说,随身携带大量数据时,很方便。当然 USB 硬盘是首要之选了。
- 标准统一:大家常见的是 IDE 接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了 USB 之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了 USB 硬盘、USB 鼠标、USB 打印机等等。
- 可以连接多个设备:可以连接多个设备。USB 在个人电脑上往往具有多个接口,可以同时连接几个设备,如果接上一个有四个端口的 USB HUB 时,就可以再连上;四个 USB 设备,以此类推,尽可以连下去,将你家的设备都同时连在一台个人电脑上而不会有任何问题(注:最高可连接至 127 个设备)。
3.USB 的拓扑结构
USB 的总线结构是采用阶梯式星形(tiered star)的拓扑(topology)结构,如下图所示。每一个星形的中心是集线器,而每一个设备可以通过集线器上的接口来加以连接。从图中可以看到 USB 的设备包含了两种类型:USB 集线器与 USB 设备。位于最顶端的就是Host(主机端)。从 Host 的联机往下连接至 Hub(集线器),再由集线器按阶梯式以一层或一阶的方式往下扩展出去,连接在下一层的设备或另一个集线器上。事实上,集线器也可视为一种设备。而其中最大层数为 6 层((包括最后一级设备后共7层))。每一个星形的外接点的数目可加以变化,一般集线器具有 2、4 或 7 个接口。 USB 的拓扑体系由 3 种元素组成 :主机(Root Hub 与 USB 主机控制器是绑定在一起的)、Hub 和设备。在 PC 平台上的 USB 中,PC 就是主机和根 Hub,用户可以将设备和下级 Hub 与之连接。而这些附加的 Hub 又可以连接更下一级的 Hub 和设备,从而构成了星形结构。
常见的主控制器规格
- OHCI:USB1.1标准,主要用于非 PC 系统。
- UHCI:USB1.1标准,主要用于 Intel 和 Via 主板。
- EHCI:USB2.0标准,兼容 OHCI 和 UHCI。
4.USB 总线的总体结构

4.1 USB 主机
在 USB 总线中只有一个主机,负责控制 USB 总线和设备之间的通信。
4.2 USB 设备
USB 设备可分为 Hub 类(提供附加 USB 接入点)和 功能设备类(如 ISDN 适配器、数字游戏杆等)。
4.3 USB 连接
USB 连接是主机和设备之间的通信方式,包括总线拓扑、数据流模式等。
5.USB总线承载的业务
5.1 数据传输
- 业务类型:数据交换、文件传输
- 功能描述:USB广泛用于设备之间的数据传输。例如,连接计算机与移动硬盘、闪存驱动器、外部存储设备、相机、打印机等,实现文件交换和数据存取。
5.2 设备控制
- 业务类型:外设控制、输入设备管理
- 功能描述:USB总线用于连接和控制各种输入设备,如键盘、鼠标、触控板、游戏控制器等。这些设备通过USB连接与计算机通信,实现用户输入控制。
5.3 音频与视频传输
- 业务类型:音频数据传输、视频流传输
- 功能描述:USB接口广泛应用于音频设备(如耳机、麦克风、音响等)以及视频设备(如网络摄像头、外接显示器)之间的数据传输。音频和视频信号通过USB接口传输,以提供高质量的多媒体体验。
5.4 设备充电
- 业务类型:电池充电、设备供电
- 功能描述:USB用于为各种设备供电,尤其是在移动设备中。包括智能手机、平板电脑、蓝牙耳机、可穿戴设备等,USB接口提供电源以确保设备正常工作或进行充电。
5.5 网络通信
- 业务类型:USB网络适配器、网络共享
- 功能描述:USB总线可以用于连接网络设备,如USB网络适配器(例如Wi-Fi、以太网适配器)和数据传输设备(如USB调制解调器)。这些设备可以实现计算机与局域网或互联网的通信。
5.6 打印与扫描
- 业务类型:数据传输与控制
- 功能描述:USB总线可用于连接打印机、扫描仪等设备,传输打印数据或扫描图像。这使得用户可以方便地将文件从计算机传输至打印机,或将扫描结果传回计算机。
5.7 外部设备扩展
- 业务类型:USB集线器(Hub)连接、扩展端口
- 功能描述:USB集线器扩展了计算机的USB接口,允许多个USB设备同时连接。这对于需要连接多个外设的应用场景(如工作站、服务器等)非常有用。
5.8 固态硬盘与外部存储
- 业务类型:外部存储、文件访问
- 功能描述:USB是外部硬盘、SSD和闪存驱动器的主要连接方式。通过USB接口,用户可以轻松地访问和管理数据,进行存储扩展。
5.9 智能硬件连接
- 业务类型:设备管理、控制
- 功能描述:许多智能硬件通过USB接口与计算机连接进行管理,如智能家居设备(温控器、灯具)、智能电视盒、开发板(例如树莓派)等。
5.10 虚拟串行端口(VCP)
- 业务类型:串行通信
- 功能描述:通过USB转串口适配器,USB总线可以承载传统串口通信业务,使得设备之间的串行通信更加方便,适用于老旧设备与现代计算机的兼容性连接。
6.USB总线承载的方式
6.1 总线结构与层级
USB总线使用 主-从式 架构(Host-Device)。主机(如计算机、笔记本、移动设备)负责控制数据传输,设备(如打印机、硬盘、摄像头等)作为从设备连接至主机。每个设备与主机之间通过USB端口进行通信。USB总线通过集线器(Hub)可以支持多个设备同时连接。
6.2 全双工数据传输
USB支持全双工通信,即设备可以同时发送和接收数据。在高速传输(如USB 3.x)中,数据传输速率可以达到几Gbps。USB数据传输采用 包结构,每个数据包包含数据和控制信息。
6.3 设备与主机之间的通信协议
USB协议通过 控制传输、批量传输、同步传输和异步传输 四种数据传输方式来实现设备间的数据交换。控制传输用于设备的初始化和配置,批量传输用于高速度数据流,异步传输和同步传输主要用于音视频数据流。
6.4 电力传输
USB总线还支持 电力传输,通过 USB电源线 为设备提供电力。标准USB端口可以提供最多 5V 电压,最大500mA电流(USB 2.0),而USB 3.0/3.1端口可以提供更高的电流(例如900mA)。USB Power Delivery(USB PD)技术进一步支持更高的电力传输,满足设备快速充电需求。
6.5 USB 设备类别
USB设备通过 设备类(Device Class) 来区分不同类型的设备,如 USB存储设备类、音频设备类、打印机设备类、串行设备类 等。每种设备类型有相应的驱动程序来确保与操作系统的兼容与通信。
6.6 即插即用(Plug and Play)
USB设备支持即插即用,即设备可以在连接后自动识别并安装驱动程序。设备连接后,操作系统会自动检测设备类型,加载合适的驱动并完成配置。
6.7 带宽与数据流控制
USB在通信中根据带宽需求动态分配带宽。USB 2.0支持最大480 Mbps的数据传输速度,而USB 3.x提供更高的带宽(最高可达10Gbps)。带宽分配机制确保多个设备共享USB端口时,数据传输不会受到影响。
6.8 USB主机与设备之间的电流管理
USB主机通过电流检测和管理机制,控制连接设备的电流供应。当连接设备需要更多电力时,USB会通过Power Delivery协议来提供更高的电压和电流。
6.9 虚拟串口与自定义协议
USB支持通过虚拟串口驱动来承载串行通信(如RS232协议)。设备通过USB转串口适配器与计算机进行通信,确保与传统串行设备的兼容性。
6.10 数据加密与安全传输
USB总线通过 加密和认证机制 确保数据的安全传输。许多USB存储设备支持硬件加密,保障敏感数据的传输过程不会被篡改或泄露。
7. USB总线设备列表
设备类型 | 设备名称 | 应用场景 | 功能说明 |
---|---|---|---|
存储设备 | 闪存驱动器(USB Flash Drive) | 数据存储与传输 | 用于存储文件数据,连接计算机进行数据交换与备份 |
外部硬盘(External Hard Drive) | 存储扩展、数据备份 | 用于存储大容量数据,备份文件,连接计算机进行数据存取 | |
输入设备 | 键盘(Keyboard) | 用户输入 | 用于文本输入,连接计算机或其他设备进行控制输入 |
鼠标(Mouse) | 用户输入 | 用于控制计算机指针或其他设备上的光标位置,执行选择操作 | |
游戏手柄(Game Controller) | 游戏控制 | 用于控制电子游戏或模拟器中的角色与动作 | |
触控板(Touchpad) | 用户输入 | 用于触摸控制,主要用于笔记本电脑或移动设备 | |
输出设备 | 打印机(Printer) | 打印任务 | 用于文档打印,支持黑白和彩色打印 |
显示器(Monitor) | 显示输出 | 用于显示图像、文字等输出内容,连接计算机或其他视频设备 | |
音频设备 | 耳机(Headphones) | 音频播放 | 用于音频输出,连接计算机或其他设备播放声音 |
麦克风(Microphone) | 音频输入 | 用于声音采集,连接计算机或其他设备进行录音或语音输入 | |
视频设备 | 摄像头(Webcam) | 视频捕捉与会议 | 用于视频录制、视频会议、视频监控等 |
网络设备 | USB网络适配器(USB Network Adapter) | 网络连接 | 用于连接Wi-Fi或以太网,提供网络访问能力 |
USB调制解调器(USB Modem) | 网络连接 | 用于通过电话线提供互联网连接 | |
电源管理 | 电池充电器(USB Battery Charger) | 设备充电 | 用于通过USB接口为各种移动设备(如手机、平板、可穿戴设备)充电 |
移动电源(Power Bank) | 移动设备充电 | 用于为设备提供外部电源,特别是在没有电源插座的环境中 | |
摄像与音频采集 | USB音频接口(USB Audio Interface) | 音频录制与处理 | 用于音频数据的录制、编辑、混音等,连接高质量音频设备 |
USB视频捕捉卡(USB Video Capture) | 视频捕捉与录制 | 用于将视频信号转换为数字信号,进行录像或编辑 | |
工业与控制设备 | USB串口适配器(USB-to-Serial Adapter) | 串口设备连接 | 用于将传统串行设备(如RS232、RS485设备)连接到现代计算机 |
伺服控制器(USB Servo Controller) | 工业自动化与控制 | 用于控制伺服电机、自动化系统的运动和操作 | |
传感器与测量设备 | 温湿度传感器(USB Temperature & Humidity Sensor) | 环境监测 | 用于监测环境温湿度等参数,连接计算机进行数据分析 |
GPS接收器(USB GPS Receiver) | 定位与导航 | 用于提供实时定位数据,连接计算机或移动设备进行导航功能 | |
智能硬件与家居设备 | 智能家居控制器(USB Smart Home Controller) | 家居自动化 | 用于控制智能家居设备,如灯光、温控、门锁等 |
智能穿戴设备(USB Wearable Device) | 健康监测、运动追踪 | 用于测量心率、步数、睡眠质量等健康数据,连接计算机或手机进行数据同步与处理 | |
医疗设备 | 医疗设备接口(USB Medical Device Interface) | 医疗监测、数据采集 | 用于连接各种医疗设备,如血糖仪、心率监测仪等,传输数据至计算机进行分析 |
外部显示设备 | USB显示器(USB Monitor) | 显示扩展 | 用于作为额外显示屏,连接到计算机或其他设备进行扩展显示 |
开发与编程设备 | 开发板(Development Boards) | 嵌入式开发、原型测试 | 用于嵌入式系统开发,支持各种传感器、执行器和计算单元的连接 |
移动设备 | 智能手机(Smartphone) | 数据同步、文件传输、充电 | 用于与计算机或其他设备之间的数据传输、应用程序更新、设备充电 |
平板电脑(Tablet) | 数据同步、文件传输、充电 | 用于平板设备与其他设备的数据交换及设备充电 |