USB的类型

USB拓展坞原理

USB 使用的是“主机控制的分时轮询”机制(Host-Controlled Time-Division Polling)

借鉴了分时复用的思想,但不是标准 TDM,也不使用地址总线寻址

一、为什么 不是“总线地址通信”

在传统的并行总线系统(如 PCI、ISA)中:

  • 每个设备有唯一的硬件地址(或基地址)
  • CPU 通过地址总线发出目标地址
  • 对应设备响应,完成数据传输

❌ USB 完全没有地址总线

  • USB 是串行总线,只有 D+ / D- 两根数据线(USB 2.0)
  • 设备地址是在枚举阶段由主机动态分配的(1~127),不是硬件固定地址
  • 所有通信都由主机发起,设备不能主动发送数据

📌 结论:USB 不属于“地址总线通信”模型


二、为什么 不是严格意义上的“分时复用(TDM)”

标准 TDM(如 PCM 电话系统)的特点:

  • 时间被划分为固定长度的帧和时隙
  • 每路信号固定占用某个时隙,即使无数据也保留
  • 同步性强,适用于恒定码率业务

❌ USB 不是这样工作的

USB 的实际机制:主机轮询 + 动态调度

特性 USB 实际行为
谁发起通信? 只能由主机(Host)发起,设备被动响应
如何区分设备? 主机在数据包中包含 设备地址 + 端点号(Endpoint)
时间分配方式? 按需分配:主机根据设备类型(控制/中断/批量/等时)动态安排传输时机
空闲时隙处理? 不保留!无数据时不发送,带宽可被其他设备使用

🔍 举例:
主机想读 U 盘数据 → 发送 IN Token 包(含 U 盘地址 + 端点)→ U 盘响应 DATA 包
主机想发数据给鼠标 → 发送 OUT Token 包(含鼠标地址)→ 鼠标接收

这更像 “带地址标签的分时访问”,而非固定时隙的 TDM。


三、USB Hub 在其中的角色

Hub 本身也是一个 USB 设备,但它转发主机的请求

  1. 主机发送一个包,目标地址是“U 盘”
  2. 包到达 Hub
  3. Hub 查看地址 → 如果是自己的子设备(如接在 Port 2 的 U 盘),就把包转发到对应下行端口
  4. U 盘响应 → Hub 把响应传回主机

✅ Hub 不做协议解析,只做物理层/链路层的包转发(类似网络交换机)。

📌 所以:Hub 内部没有“分时复用芯片”,只有 USB 中继器(Repeater)逻辑

4

这也是USART协议改进为RS485 232的原理,引入了差分信号传输。

选用这款SL2.1A

引脚定义

我们看到数据手册,前面提到USB 是串行总线,只有 D+ / D- 两根数据线(USB 2.0),因此首先看这两条上行总线。是9 10引脚,其他都是向下扩展的。

总述

看完引脚定义看供电模块,需要5V供电,需要加滤波电路和外部晶振。

在工作范围标明了其需要的外部晶振频率是12MHz。

示例电路

非常贴心地,

差分线的布线要求

元器件选型

我们考虑与电脑端用USB type c连接,与外接设备用USB type a连接

USB-A

对于USB type a有四个引脚,D+-传输的是差分信号,其余两根是电源线。

选用这个

USB-C

type c则是上下对称的

我们信号传输也去找差分信号线,分别是B7 B6,这是USB2.0协议的标准传输方式。

如果使用USB3.0,则需要引出A2 A3 B10 B11 A10 A11 B2 B3(也是上下对称)。

由于电脑端使用了USB2.0,因此这里也只能用四线。

对于其他引脚,A4 B9 A9 B4负责供电,而CC引脚(A5 B5)引脚则负责快充,如果不需要快充,可以使用一个5.1k欧姆的电阻下拉接地。SBU引脚是备用引脚,可以NC。

我们选用16pin的:

在EDA中,type c的封装焊盘左右两端的两个会大一些,是因为其是由两个焊盘拼接而成的,因为电源需要更大的接触面积过流。

PCB原理图绘制

SL2.1A的布线

TYPE-C引脚的布线

保护电路

TYPE-C端是连接电脑的,也就是真实供电端!

TYPE-A母座的布线

整体:

PCB布局

注意,芯片周围一圈不要布置任何元器件,周围一定要留一条缝使得GND引脚能连到外围,否则铺铜后会出现很多难以解决的“孤岛”

错误示范:

整体:

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐