> 技术文档 > USB子系统驱动 USB通信协议 Type A、Type A 3.0、Type C_usb3.0接口定义引脚说明

USB子系统驱动 USB通信协议 Type A、Type A 3.0、Type C_usb3.0接口定义引脚说明

目录

USB硬件基础

Type A引脚说明

Type A 3.0引脚说明

Type C引脚说明

USB驱动你一定需要知道的事


USB硬件基础

在了解LINUX的USB驱动之前,我们肯定是要了解相关硬件内容的,如下给出了三种常用的USB接口。

特性 Type A (2.0) Type A 3.0 Type C 接口形状 长方形,单向插入 与 Type A 2.0 相同 椭圆形,可双向插入 引脚数量 4 9 24 数据传输速率 高速模式最高 480 Mbps 超高速模式最高 5 Gbps 或 10 Gbps (3.1) 高达 40 Gbps (Thunderbolt 3/4) 供电能力 5V,最大 500 mA(2.5W) 5V,最大 900 mA(4.5W) 支持 USB PD,最高 20V,5A(100W) 兼容性 向下兼容 向下兼容 2.0 向下兼容 USB 2.0 和 3.x 是否支持 OTG 支持,但功能有限 支持,但功能有限 支持完整 OTG 功能 使用寿命 插拔约 1,500 次 插拔约 1,500 次 插拔约 10,000 次 多功能性 仅支持 USB 信号传输 仅支持 USB 信号传输 支持视频、音频、数据和供电多种协议 方向性 单向插入 单向插入 双向插入,方便使用 是否支持 Thunderbolt 不支持 不支持 支持 Thunderbolt 3 和 4(部分设备典型应用场景 鼠标、键盘、打印机、U盘等外设 高速存储设备、外接硬盘、摄像头等高速设备 智能手机、平板、笔记本充电和数据传输等

Type A引脚说明

USB 2.0 Type A 只有 4 个引脚,定义如下:

引脚编号 名称 描述 功能 1 VBUS 电源正极 (+5V) 提供设备电源 2 D- 差分数据负极 传输 USB 数据 3 D+ 差分数据正极 传输 USB 数据 4 GND 地(电源负极) 提供电源回路

但是这个D+跟D-也跟我们常见的差分电压来判断正负不太一样,我们可以看下述内容。

你可以发现D+大于D-时,即为逻辑1,反之则为逻辑0,之前我们在485也说过,主要提高抗干扰能力了,差分电压的作用,至于逻辑电平如何规定,也都是人为遵守的协议了,我们熟知即可。

USB 硬件中,主机端的 D+ 和 D- 线通过 15kΩ 下拉电阻保持默认低电平,用于检测设备是否接入;设备端的 D+ 或 D- 线上接有 1.5kΩ 上拉电阻,用于将线路拉高,通知主机有新设备接入并指示设备的速度类型(D+ 上拉表示全速/高速设备,D- 上拉表示低速设备)。上拉与下拉电阻的配合实现了 USB 接入的自动检测和初步通信初始化。

Type A 3.0引脚说明

USB 3.0 Type A 在 USB 2.0 的基础上增加了 5 个引脚,共 9 个引脚,定义如下:

引脚编号 名称 描述 功能 1 VBUS 电源正极 (+5V) 提供设备电源 2 D- 差分数据负极 USB 2.0 数据传输 3 D+ 差分数据正极 USB 2.0 数据传输 4 GND 地(电源负极) 提供电源回路 5 StdA_SSRX- 超高速接收负极(SuperSpeed RX -) USB 3.0 数据接收 6 StdA_SSRX+ 超高速接收正极(SuperSpeed RX +) USB 3.0 数据接收 7 GND_DRAIN 屏蔽接地 屏蔽和地回路 8 StdA_SSTX- 超高速发送负极(SuperSpeed TX -) USB 3.0 数据发送 9 StdA_SSTX+ 超高速发送正极(SuperSpeed TX +) USB 3.0 数据发送

:USB 3.0 的引脚使其能够在 SuperSpeed 模式下实现高达 5 Gbps 的数据传输速率。

因此我们可以看到,这个USB3.0其实是一个全双工的协议,因为有TX也有RX而且还是差分,相比之前的USB更强了。

Type C引脚说明

USB Type C 拥有 24 个引脚,支持双向插入,定义如下:

引脚编号 名称 描述 功能 A1 GND 接地 电源回路 A2 SSTXp1 超高速发送正极(通道 1) USB 3.x 数据发送 A3 SSTXn1 超高速发送负极(通道 1) USB 3.x 数据发送 A4 VBUS 电源正极 提供电源 A5 CC1 配置通道 1 检测连接方向和电源管理 A6 D+ 差分数据正极 USB 2.0 数据传输 A7 D- 差分数据负极 USB 2.0 数据传输 A8 SBU1 辅助信号通道 1 支持音频、视频信号 A9 VBUS 电源正极 提供电源 A10 SSRXn1 超高速接收负极(通道 1) USB 3.x 数据接收 A11 SSRXp1 超高速接收正极(通道 1) USB 3.x 数据接收 A12 GND 接地 电源回路 B1 GND 接地 电源回路 B2 SSRXp2 超高速接收正极(通道 2) USB 3.x 数据接收 B3 SSRXn2 超高速接收负极(通道 2) USB 3.x 数据接收 B4 VBUS 电源正极 提供电源 B5 CC2 配置通道 2 检测连接方向和电源管理 B6 D+ 差分数据正极 USB 2.0 数据传输 B7 D- 差分数据负极 USB 2.0 数据传输 B8 SBU2 辅助信号通道 2 支持音频、视频信号 B9 VBUS 电源正极 提供电源 B10 SSTXn2 超高速发送负极(通道 2) USB 3.x 数据发送 B11 SSTXp2 超高速发送正极(通道 2) USB 3.x 数据发送 B12 GND 接地 电源回路

  1. Type C 引脚支持多种协议(如 USB 2.0、3.x、Thunderbolt、DisplayPort 等)。
  2. CC 引脚用于检测插入方向并管理电源(USB PD)。

这里就是TYPE C的引脚了,可以看到,不管是正插,还是反插,你都可以进行通信的,对比之前的USB接口多出那么多引脚,主要是为了正反插以及增加一路传输协议通道,还有兼容USB2.0协议,比如DP之类的显示设备,C口引脚越多,只是功能上面兼容性的提升,并不是传输速率的提升。

USB驱动你一定需要知道的事

  • USB设备接入检测

    • 现象:PC 右下角显示\"发现 Android Phone\",弹出安装驱动程序的提示。
    • 原因
      • PC 的 USB 口通过内部硬件机制(D+/D- 线路电平变化)检测到新设备的接入。
      • USB 设备内置的上拉电阻(1.5KΩ)将 PC USB 口的 D+/D- 拉高,通知主机有设备接入。
  • 接入后的初步识别

    • 过程
      • PC 上的 USB 总线驱动程序负责与新接入的设备通信,询问设备类型。
      • 设备通过标准协议返回自己的信息(设备描述符)。
    • 结果
      • 即使没有安装具体的设备驱动程序,PC 的总线驱动程序也能初步识别设备(如显示“Android Phone”)。
  • 设备驱动程序的加载

    • 总线驱动程序:负责检测设备、识别设备类型、分配编号并为设备找到合适的驱动程序。
    • 设备驱动程序:由用户安装或系统自动加载,用于支持设备的具体功能。
  • USB设备的识别过程

    • 标准协议
      • 所有 USB 设备必须遵守 USB 规范。
      • 当 PC 发送\"你是什么\"的请求时,设备需按照固定格式返回自己的描述符信息。
    • 描述符内容:包括设备类型、制造商、产品 ID 等,用于分类和识别设备。
  • 设备编号分配

    • 默认编号:新接入的 USB 设备初始编号为 0,PC 通过编号 0 与设备通信。
    • 分配新编号:总线驱动程序检测设备后,为其分配唯一的编号,用于后续通信。
  • 多设备分辨

    • 每个接入的 USB 设备都有唯一的编号(地址)。
    • PC 通过发送包含设备编号的命令来与指定设备通信。