USB OTG 电气特性:电压电平与驱动能力
做 USB 设计,首先得搞清楚一件事:信号不是凭空传的,是实实在在的电压在线上跳来跳去。我见过不少新手,上来就调协议,结果连 D+ / D- 的电平都不对,折腾好几天。嗯,咱们先从最基础的电压讲起。
一句话总结:USB OTG 的电气特性,核心就是两个部分——电压电平和驱动能力。电压电平决定了信号能不能被识别,驱动能力决定了信号能不能传得远、传得稳。
2.1 电压电平三要素
USB 2.0 的物理层,差分信号 D+ / D- 有明确的直流电平要求。OTG 设备因为要切换角色(主机 / 外设),有些参数需要更严格的控制。
- VBUS:主机侧必须输出 4.75 V ~ 5.25 V;外设侧承受 4.4 V ~ 5.5 V。OTG 作为主机时,VBUS 还要能提供至少 8 mA(用于 SRP 检测),真正驱动外设时电流更大。
- D+ / D- 静态电平:空闲时,主机要在 D+ 和 D- 上各拉一个 15 kΩ 下拉电阻到地,所以静态电压接近 0 V。外设则在 D+(全速)或 D-(低速)上拉 1.5 kΩ 到 3.3 V,所以空闲时 D+ 或 D- 约 3.0 V。
- 差分摆幅:发送数据时,差分电压 (VOP - VOM) 必须在 1.5 V ~ 2.0 V 之间。高电平驱动器的输出阻抗匹配不好,摆幅就容易超标。
- 共模电压:差分信号的两个单端电压平均值,必须落在 1.5 V ~ 2.5 V 之间。我曾经碰到一块板子,共模电压飘到 2.8 V,结果在 2 米线缆上眼图全闭了。
| 参数 | 主机模式 | 外设模式 |
|---|---|---|
| VBUS 输出 | 4.75 V ~ 5.25 V | 不输出,可承受 4.4 V ~ 5.5 V |
| D+ / D- 上/下拉电阻 | 15 kΩ 下拉 | 1.5 kΩ 上拉(全速/低速) |
| 差分摆幅 | 1.5 V ~ 2.0 V | 1.5 V ~ 2.0 V(要求一致) |
| 共模电压范围 | 1.5 V ~ 2.5 V | 1.5 V ~ 2.5 V |
我的习惯做法:画原理图时,把 D+ / D- 的直流偏置点先算一遍。比如外设模式下 D+ 上拉电阻接 3.3 V,如果供电噪声大,实际到芯片管脚可能会低于 2.7 V,那就可能被主机识别成低速设备。这种事我调试时遇到过两次。
2.2 驱动能力,决定信号质量的硬指标
电压电平对了,信号不一定好。驱动能力是更“软”但更关键的参数。说白了,就是发送器能把信号推得多猛,接收器能忍受多大的反射。
- 驱动电流:USB 2.0 规范要求差分驱动器在 45 Ω 负载上提供至少 20 mA 的电流(对应 0.9 V 单端电压)。OTG 主机因为可能驱动较长线缆和多个设备,实际设计中会留 30% ~ 50% 裕量。
- 输出阻抗:驱动器的输出阻抗必须控制在 28 Ω ~ 44 Ω(单端)。阻抗太低会产生欠冲,太高则过冲。我在量产项目中遇到个别芯片批次输出阻抗偏到 20 Ω,结果眼图边沿振铃严重,差点延交。
- 转换速率(Slew Rate):上升/下降时间必须在 4 ns ~ 20 ns(全速模式)。太快会产生高频分量增加 EMI,太慢则建立时间不够。我个人习惯控制在 8 ns ~ 12 ns,波形最干净。
- 双角色匹配:OTG 设备要在主机和外设之间切换,驱动器的输出阻抗和转换速率必须保持一致。我曾经在方案选型时发现某芯片主机模式输出阻抗 40 Ω,外设模式却降到 28 Ω,导致同一根线缆在不同角色下眼图差异很大,必须靠外部串联电阻补偿。
2.3 主机 vs 外设:哪里不一样?
OTG 设备最特殊的地方就是它既是主机也是外设。你想想看,同一个硬件,角色一变,电气要求也跟着变。我列一个实用的对照表,方便你查。
| 电气项 | A 设备(主机) | B 设备(外设) | 注意点 |
|---|---|---|---|
| VBUS 供电 | 必须提供 5 V ±5% | 不供电,仅接收 | OTG 主机最低可接受 4.4 V 输入,但不能输出低于 4.75 V |
| D+ / D- 偏置 | 15 kΩ 下拉到地 | 1.5 kΩ 上拉到 3.3 V | 切换角色时必须切换偏置网络,否则总线死锁 |
| 差分驱动能力 | 强(适应多种线缆) | 强(与主机一致) | 规范要求相同,但实际芯片实现常不同 |
| 接收器灵敏度 | ±200 mV 差分输入阈值 | ±200 mV 差分输入阈值 | 相同 |
| 转换速率 (全速) | 4 ~ 20 ns | 4 ~ 20 ns | 调试时建议两角色分别测试 |
我曾经踩过的坑:有一款双角色芯片,主机模式下输出阻抗 35 Ω,外设模式下却变成 27 Ω。批量验证时,外设模式加上 1.5 米线缆,眼图睁不开。最后在 D+ / D- 上各串联了 4.7 Ω 电阻才修正过来。所以千万别迷信芯片手册上的“满足规范”,两角色单独测眼图才保险。
2.4 驱动能力不够,会出什么问题?
驱动能力不足,直接后果就是信号质量下降。常见的症状有:
- 上升沿变缓——转换速率太慢,差分信号过零延迟增加,建立时间不够,眼图水平区域变窄。
- 过冲 / 欠冲——输出阻抗与线缆特性阻抗不匹配,反射严重。明明跟的是 90 Ω 差分 PCB,结果驱动器只给了 70 Ω,反射回来波形就毛了。
- 共模偏移——驱动电流不对称,导致 D+ 和 D- 的摆幅不一致,共模电压飘出范围。我在一个 4 端口 USB Hub 项目上遇到过,近端端口正常,远端端口共模跑到了 2.8 V,排查了两天才发现是电源去耦不足造成的。
给你的建议:做 OTG 项目时,先定好 PCB 的特性阻抗(90 Ω 差分 ±10%),然后根据芯片的出厂参数(输出阻抗、摆幅、slew rate)反推是否需要加串联电阻或调整线宽。我习惯留一个 0 Ω 电阻焊盘,调试时可以快速替换不同阻值的串阻。