UFS 电路设计指南
编制日期 2026-09-24 | 版本号 Rev 1.5
UFS-HW-GUIDE-001 · V1.0
面向嵌入式与移动终端的 UFS(Universal Flash Storage,JEDEC JESD220 系列) 硬件设计全流程:
覆盖 M-PHY / UniPro 差分接口、VCC / VCCQ / VCCQ2 三路电源、REF_CLK 与 RST_n、
BGA 扇出与 100 Ω 阻抗控制、HS 链路训练与眼图、EMI / ESD / 热设计 与量产验证,逐条给出可落地的参数与检查清单。
| 文档编号 | UFS-HW-GUIDE-001 |
|---|---|
| 版本 / 状态 | V1.0 · 正式发布 |
| 适用器件 | JEDEC UFS 2.0 / 2.1 / 3.0 / 3.1 / 4.0(JESD220B~F)器件,封装 BGA-153 / BGA-254 等,容量 32 GB ~ 1 TB |
| 基准器件 | UFS 3.1 BGA-153 11.5×13×1.0 mm(0.5 mm pitch,与 eMMC BGA-153 同尺寸但引脚定义不同),VCC=3.3 V / VCCQ=1.2 V / VCCQ2=1.8 V;文中标注「本器件」的数值取自该档器件典型手册值 |
| 参考标准 | JEDEC JESD220F(UFS 4.0)· JESD220E(UFS 3.1)· JESD223(UFS 卡)· MIPI M-PHY v5.0 · MIPI UniPro v2.0 · SCSI SPC / SBC |
| 配套文档 | UFS_软件设计规范.html(协议栈 / 初始化 / Descriptor / LU / RPMB / 低功耗 / 错误恢复) |
0 · 文档说明
0.1 目的与范围
本指南面向硬件工程师与驱动/Bring-up 工程师,覆盖 UFS 器件从选型、原理图、电源时序、PCB Layout、信号完整性、EMI/ESD、焊接生产到故障排查的完整链路。与 eMMC 的并行同步接口不同,UFS 使用高速串行差分链路(MIPI M-PHY + UniPro),其硬件设计要点从「等长 + 上拉」转向「差分阻抗 + 损耗预算 + 参考时钟质量」,这是本文与 eMMC 电路设计指南最大的差异。
主控侧带 UFS Host Controller(含 M-PHY) 的手机 / 平板 SoC、车载座舱与 T-BOX、工控与边缘计算平台;器件侧为板载 BGA 封装 UFS(嵌入式 UFS,非可插拔 UFS 卡)。
主控无 UFS 控制器(仅有 eMMC / SDIO 控制器)时不能兼容;容量 ≤ 8 GB、成本敏感或 PCB 仅 2~4 层时,建议改用 eMMC / SPI NAND / SD NAND 方案,见下表。
0.2 同系列文档对照
| 文档 | 器件类型 | 接口特征 | 硬件关注重点 |
|---|---|---|---|
| UFS 电路设计指南 本文 | UFS 2.1/3.1/4.0 | M-PHY 差分串行,2 lane 全双工 | 100 Ω 差分、REF_CLK、三路电源、损耗预算 |
| eMMC 电路设计指南 | eMMC 5.0/5.1 | 并行同步,1/4/8-bit + DS | HS400 等长、1.8 V VCCQ、上拉与串阻 |
| SD NAND 电路设计指南 | 贴片式 SD NAND | SPI / SDIO | VCC 负载开关断电、卡检测、上拉 |
| SPI NAND 电路设计指南 | 串行 NAND | SPI / QPI | 片内 ECC、坏块表、主机 FTL |
| SPI NOR 电路设计指南 | 串行 NOR | SPI / QPI / OPI | Quad 提速、XIP、DPD 低功耗 |
| PSRAM 电路设计指南 | 伪静态 RAM | OPI / HyperBus | 差分时钟、延迟周期、帧缓存布局 |
| NAND MCP 电路设计指南 | 多芯片合封存储 | 并行 / 多 CE | 多 die 片选、双电源轨、HDI 扇出 |
| uMCP 电路设计指南 | UFS + LPDDR 合封 | UFS + LPDDR 双接口 | 两组高速接口共存、热耦合、电源域隔离 |
| DDR4 / DDR5 电路设计指南 | DDR SDRAM | 并行 Fly-by | POD12、write leveling、2D 训练 |
| EEPROM 电路设计指南 | EEPROM | I²C / SPI | 上拉电阻、总线电容、页写与写保护 |
0.3 阅读建议
1 · UFS 器件基础
UFS 不是一颗裸 NAND,而是「NAND 阵列 + 控制器 + FTL + 高速串行接口」的完整子系统。对外只暴露 2 对高速差分线、1 对差分参考时钟、1 根复位线和 3 路电源——引脚数远少于并行 NAND,但对电源质量与 PCB 布线的要求高得多。
1.1 定位与版本演进
UFS 定位于大容量、高带宽的板载存储,是 eMMC 的换代接口。它的核心价值在于全双工串行链路 + 命令队列:读写可并发、支持最多 32 个待处理任务,随机性能与多任务响应远优于半双工并行的 eMMC。
| 维度 | eMMC 5.1 | UFS 3.1 | UFS 4.0 |
|---|---|---|---|
| 接口形态 | 并行同步(CLK / CMD / DAT0-7 / DS) | 串行差分(DIN / DOUT × 2 lane) | 同左,速率翻倍 |
| 工作方式 | 半双工 | 全双工 | 全双工 |
| 命令处理 | 单命令串行 | Task Queue(最多 32) | Queue 增强 + HPB v2 |
| 总线速率 | HS400(400 MB/s 级) | HS-G3(11.6 Gbps 级) | 23.2 Gbps 级 |
| 主控要求 | MMC 控制器(几乎全平台) | UFS Host + M-PHY | UFS 4.0 Host + M-PHY v5 |
| PCB 难度 | 中(等长 + 8-bit 组) | 高(100 Ω 差分 + REF_CLK) | 很高(损耗预算 + HDI) |
UFS 是点对点链路,不能像 eMMC 那样在原理图上"换个同封装器件就兼容"。切换器件前必须核对:① 主控 M-PHY 版本与 HS-Gear 支持范围;② lane 数(1 lane 还是 2 lane);③ VCCQ/VCCQ2 电压要求;④ REF_CLK 频率是否被器件支持;⑤ BGA 引脚定义(UFS 与 eMMC 的 BGA-153 引脚不兼容)。
1.2 协议栈分层
UFS 采用四层协议栈。硬件工程师最关心最底两层(M-PHY 与 UniPro),软件工程师最关心上两层,但链路启动是两层协同完成的,排查问题时必须一起看。
M-PHY 决定能不能连通(差分阻抗、损耗、参考时钟、电源纹波);UniPro 决定握手是否稳定(链路启动失败多半是 M-PHY 层问题,而链路反复掉线则多与 UniPro 的电源状态切换和 M-PHY 的 HS/PWM 切换有关)。
1.3 封装与引脚分区
主流嵌入式 UFS 采用 BGA-153(11.5×13×1.0 mm,0.5 mm pitch),外形尺寸与 eMMC BGA-153 一致,但引脚定义完全不同,两者不能互换。大容量 UFS 4.0 亦有 BGA-254 等更宽封装。
| 引脚 / 信号 | 方向 | 说明 | 硬件处理要点 |
|---|---|---|---|
VCC | 电源 | NAND 核心与控制器电源 | UFS 2.x/3.x 典型 3.3 V(部分 UFS 4.0 支持 2.5 V);大电流轨,需低 ESR 去耦 |
VCCQ | 电源 | 主机接口 / M-PHY 主电源 | 典型 1.2 V;少数器件为 1.8 V,必须与主控 IO 电平一致 |
VCCQ2 | 电源 | M-PHY 辅助电源(UFS 3.0 起) | 典型 1.8 V;不可与 VCCQ 合并,也不可悬空 |
VSS | 地 | 多球并联 | 全部落地,密布地过孔 |
DIN_T/C | 主 → 器 | 下行差分数据(主机 TX) | 100 Ω 差分,AC 耦合电容串联 |
DOUT_T/C | 器 → 主 | 上行差分数据(主机 RX) | 100 Ω 差分,AC 耦合电容串联 |
REF_CLK+/− | 主 → 器 | 差分参考时钟 | 19.2 / 26 / 38.4 MHz,100 Ω 差分,需连续提供 |
RST_n | 主 → 器 | 硬件复位(低有效) | 建议 10 kΩ 下拉 + 主控 GPIO 可控,禁止悬空 |
1.4 关键电气参数
下表为 UFS 3.x 档器件的典型值,用于原理图与布线预算;最终必须以所选器件手册为准。
| 参数 | 符号 | 典型值 | 说明 |
|---|---|---|---|
| 核心电源 | VCC | 3.3 V(2.7~3.6 V) | UFS 4.0 部分器件支持 2.5 V 档 |
| 接口电源 | VCCQ | 1.2 V(1.14~1.26 V) | 与主控 M-PHY IO 同源 |
| 辅助电源 | VCCQ2 | 1.8 V(1.7~1.95 V) | UFS 3.0 起引入,务必单独供电 |
| 差分阻抗 | Zdiff | 100 Ω ±10% | DIN / DOUT / REF_CLK 三者一致 |
| AC 耦合电容 | Cac | 100 nF | 0402 封装,差分对对称摆放 |
| 参考时钟频率 | fREF | 19.2 / 26 / 38.4 MHz | 频率精度通常要求 ≤ ±100 ppm |
| 差分对内等长 | — | ≤ 0.15 mm | 超过会引入共模噪声与抖动 |
| 走线总长 | — | ≤ 150 mm(2.x) ≤ 100 mm(3.x) ≤ 80 mm(4.0 建议) | 与板材损耗共同决定眼图余量 |
| 工作温度 | Ta | −25 ~ +85 ℃(商规) −40 ~ +105 ℃(车规/工规) | 高温触发内部降速 |
| ESD 等级 | HBM / CDM | ±2 kV / ±500 V | 板载器件,焊接与装配环节仍需防护 |
2 · 接口与链路
UFS 的物理接口是 MIPI M-PHY:两对高速差分线实现全双工,外加一对差分参考时钟。理解 PWM 与 HS 两种模式、以及链路启动的先后顺序,是排查"器件不识别"的基础。
2.1 M-PHY 物理层要点
- 全双工双 simplex:DIN(主→器)与 DOUT(器→主)各 1~2 lane,收发独立,读写可同时进行——这正是 UFS 随机性能优于 eMMC 的物理基础。
- 两种工作模式:
PWM(低速脉宽调制,用于初始化、休眠唤醒与低速传输)与HS(高速差分,实际数据传输)。上电后先以 PWM 建立链路,再协商切换到 HS-Gear。 - AC 耦合:HS 模式下每根差分线串联 100 nF 电容,用于隔离收发两端共模电平;电容值过小会影响低频响应,过大则延长建立时间。
- 端接:M-PHY 的差分端接通常集成在主机与器件内部(约 100 Ω),外部不需要再并联端接电阻——这是与 DDR / LVDS 设计最容易混淆的一点。
- 无时钟线:数据时钟由接收端从数据流中恢复(CDR),REF_CLK 只是给 M-PHY 提供频率参考,不随数据一起走线,因此REF_CLK 与数据线之间不需要等长。
① 把 UFS 当作 eMMC,在差分线上加上拉电阻;② 漏掉 AC 耦合电容或只在一根线上放;③ 把 VCCQ2 悬空或并到 VCCQ;④ REF_CLK 用单端时钟直接接入差分脚。这四类错误都会导致链路无法启动。
2.2 速率档位与版本对应
| UFS 版本 | 规范 | M-PHY / UniPro | 速率档 | Lane | 接口速率 | 厂商标称顺序读 |
|---|---|---|---|---|---|---|
| UFS 2.0 | JESD220B | M-PHY v3.0 / UniPro v1.6 | HS-G1 / HS-G2 | 1~2 | 5.8 Gbps | 350~500 MB/s |
| UFS 2.1 | JESD220C | M-PHY v3.0 / UniPro v1.6 | HS-G2 | 1~2 | 5.8 Gbps | 700~850 MB/s |
| UFS 3.0 / 3.1 | JESD220D / E | M-PHY v4.1 / UniPro v1.8 | HS-G3 | 2 | 11.6 Gbps | 1500~2100 MB/s |
| UFS 4.0 | JESD220F | M-PHY v5.0 / UniPro v2.0 | HS-G5 | 2 | 23.2 Gbps | 3500~4200 MB/s |
注:上表「接口速率」为双 lane 聚合的公开标称值;「厂商标称顺序读」取自各厂商产品手册的实测峰值,通常含 HPB / WriteBooster / 多 LU 并发与主机缓存增益,不同厂商与测试平台差异较大,仅作量级参考。SI 与时序预算请一律以接口速率为准。
链路会在双方都支持的最高档位上工作:取主控与器件的交集。把 UFS 4.0 器件接到只支持 HS-G3 的主控上,会降到 3.x 速率运行(功能可用、性能受限);反之亦然。设计前务必确认主控 M-PHY 版本。
2.3 PWM 与 HS 模式
| 对比项 | PWM 模式 | HS 模式 |
|---|---|---|
| 用途 | 链路启动、配置、休眠唤醒 | 实际数据传输 |
| 速率 | PWM-G0 ~ G7(几十 ~ 数百 Mbps) | HS-G1 ~ G5(Gbps 级) |
| 信号特征 | 大幅摆幅,对阻抗不敏感 | 小摆幅差分,对损耗与反射敏感 |
| 硬件风险 | 低,一般都能通 | 高,阻抗/损耗/串扰问题在此暴露 |
| 典型故障 | 通不了 = 电源/复位/时钟问题 | 掉速或 CRC 错 = SI 问题 |
若 PWM 能通而 HS 握手失败或反复掉线,问题几乎一定在信号完整性(阻抗、损耗、串扰、电源纹波),而不是协议或软件配置。
2.4 链路启动流程
上电后从复位释放到可以发第一条 UPIU,硬件与固件按顺序完成以下阶段。理解这条时间线,有助于用示波器定位卡死在哪个阶段。
- 电源建立:VCC → VCCQ → VCCQ2 依次或同时上升,纹波与跌落需满足手册要求。
- 参考时钟稳定:REF_CLK 必须在释放复位之前稳定输出,且在整个生命周期内持续提供。
- 释放复位:RST_n 拉高,保持低电平时间通常要求 ≥ 1 ms,释放后等待器件内部初始化完成。
- UniPro 链路启动:M-PHY 以 PWM 模式建立物理连接,两端协商能力与参数。
- 切换 HS-Gear:链路确认双方支持的最高速档,执行 HS 训练并锁定。
- 软件接管:主机发 NOP OUT UPIU 探测器件,随后读取 Device Descriptor 并置位
fDeviceInit,等待器件完成内部初始化(详见配套《UFS 软件设计规范》)。
链路启动过程可用示波器在 REF_CLK、RST_n 以及差分线上观察:PWM 阶段能看到周期性突发脉冲,切 HS 后变为连续小摆幅差分波形。若 RST_n 释放后差分线上完全无波形,优先查 REF_CLK 与 VCCQ2。
3 · 电源与复位
UFS 站不起来的第一根因,八成出在电源与复位:VCCQ2 漏供、REF_CLK 未稳、RST_n 浮空或释放过早。这三处比差分走线更容易致命,也更便宜可修。
3.1 三路电源轨
UFS 需要三路独立电源,其中 VCCQ / VCCQ2 的分合关系与 eMMC 的 VCC / VCCQ 有本质区别,务必按器件手册处理。
| 电源轨 | 典型电压 | 供电对象 | 峰值电流(参考) | 去耦建议 | 供电来源建议 |
|---|---|---|---|---|---|
VCC | 3.3 V | NAND 阵列与控制器核心 | 300~600 mA | 4.7 µF + 0.1 µF × 4 | 系统 Buck 或 PMIC 大电流路 |
VCCQ | 1.2 V | M-PHY 主电源 / 主机接口 | 100~250 mA | 2.2 µF + 0.1 µF × 2 | 与主控 M-PHY IO 同源,独立 LDO |
VCCQ2 | 1.8 V | M-PHY 辅助电源(UFS 3.0+) | 50~120 mA | 1 µF + 0.1 µF × 2 | 独立 LDO,禁止与 VCCQ 合并 |
① VCCQ2 不可悬空、不可短接到 VCCQ——UFS 3.0 及以后器件缺少 VCCQ2 会直接无法建链;
② VCCQ 电平必须与主控 M-PHY IO 电平一致(1.2 V 或 1.8 V,取决于器件与主控的组合),不一致会导致 HS 握手失败甚至损坏 IO;
③ 三路电源的纹波建议控制在 ±3% 以内(VCCQ 建议 ≤ 30 mVpp),M-PHY 对电源噪声极其敏感。
3.2 上电与断电时序
上电顺序需保证:电源先稳定 → REF_CLK 先稳定 → 最后释放 RST_n。断电顺序相反:先拉低 RST_n → 再断电源(若为受控断电)。
原理图上不要"刚好"满足手册最小值:RST_n 低电平建议按 ≥ 2 ms 设计(手册多为 1 ms),复位释放到发起链路启动建议留 10 ms 以上;RC 复位电路的电容取值要算上 GPIO 驱动能力与低温容差。
3.3 去耦电容与电源树
- 每个 VCC / VCCQ / VCCQ2 电源球对应至少一个独立过孔直连电源平面,禁止多个球共用一个过孔。
- 小容值去耦(0.1 µF,0402)优先放在 BGA 背面投影区,距离电源球过孔 ≤ 1.5 mm。
- 大容值(4.7 µF / 2.2 µF,0603 或 0402)放在器件外围,兼顾储能与低频纹波。
- 去耦电容的地端过孔要紧邻电容焊盘("cap-via-via"),回路电感比容值更重要。
- VCCQ 建议由独立 LDO 供电,不与 DDR / 主控核电源共用,避免开关噪声串入 M-PHY。
- 电源平面上 UFS 区域禁止被其他高速信号线的过孔"打碎",保持平面完整。
3.4 REF_CLK 参考时钟
| 参数 | 典型要求 | 说明 |
|---|---|---|
| 频率 | 19.2 / 26 / 38.4 MHz | 由主控或外部晶振提供,须与器件支持列表一致 |
| 频率精度 | ≤ ±100 ppm | 超差会导致 HS 训练失败或链路频繁重训 |
| 抖动 | 建议 ≤ 50 pspp | 高要求设计按积分抖动 ≤ 5 ps RMS 选型,以手册为准 |
| 信号形式 | 差分(REF_CLK+ / REF_CLK−) | 单端时钟不可直连,需 AC 耦合转为差分 |
| 差分阻抗 | 100 Ω ±10% | 与数据差分对同一套规则 |
| 走线长度 | ≤ 50 mm(建议) | 越短越好,全程包地,远离 RF 与开关电源 |
| 常供性 | 上电后持续提供 | 链路启动与休眠唤醒期间均不可中断 |
REF_CLK 缺失、频率不对、或抖动过大,表现为「器件完全不响应」或「PWM 通、HS 永远训不上」。排查时第一步就用示波器量 REF_CLK:有无输出、频率是否正确、差分摆幅是否正常、有没有被邻近电源噪声调制。
3.5 RST_n 与复位设计
- RST_n 必须加 10 kΩ 下拉:保证主控 GPIO 高阻期间器件处于确定复位态,避免上电期间误启动。
- 由主控 GPIO 直接驱动,禁止仅用 RC 上拉(无法软件控制热复位)。
- 可并联 100 pF~1 nF 对地电容抑制毛刺,但需核算 RC 时间常数对复位释放时间的影响。
- 走线远离高速差分对与开关电源节点,必要时包地,长度控制在 50 mm 内。
- 若系统支持整机断电,需确认 RST_n 在 VCC 掉电后不会出现倒灌(IO 先于电源掉电会产生 latch-up 风险)。
- 软件侧的复位还有两级(EndPoint Reset / Logical Unit Reset / 主机控制器复位),详见配套软件规范 §14。
4 · 典型应用电路
UFS 的原理图本身很简洁——真正的工作量在电源与 Layout。下面给出双 lane 与单 lane 两种接法,以及 AC 耦合、端接与自检要点。
4.1 双 lane 标准接法
双 lane 是 UFS 3.x / 4.0 的标准配置:DIN0/DOUT0 与 DIN1/DOUT1 共 4 对差分线,带宽翻倍。两条 lane 必须同时连通,只接一条会降为单 lane 运行。
4.2 单 lane 精简接法
部分中低端平台或 UFS 2.x 器件只使用 lane 0。此时 lane 1 的 DIN1/DOUT1 可不连接,但需注意:
- 不用的 lane 引脚按器件手册处理:多数要求悬空(NC),少数要求接地,务必查手册,不可想当然。
- 单 lane 带宽减半,需在软件侧确认链路协商到 1 lane,不要按双 lane 配置去调优性能。
- 若 PCB 已按双 lane 布线但实际只用单 lane,未使用的差分线应两端悬空且尽量短,避免成为天线引入干扰。
4.3 AC 耦合与端接
| 项目 | 要求 | 常见错误 |
|---|---|---|
| 电容值 | 100 nF(允许 47~220 nF,以手册为准) | 用 1 nF 或 10 µF,导致低频失真或建立时间过长 |
| 封装 | 0402 优先(寄生电感小) | 用 0603/0805,焊盘过大引入阻抗不连续 |
| 位置 | 靠近器件或主机侧均可,差分对两线完全对称 | 两根线电容一前一后,引入对内 skew |
| 耐压 | ≥ 10 V(1.2 V/1.8 V 系统余量充足) | 忽略耐压,长期可靠性风险 |
| 外部端接 | 不需要,内部已集成 | 照搬 LVDS 经验并联 100 Ω,导致幅度减半、链路失败 |
| 上拉 / 下拉 | 差分线上不得加任何上拉下拉 | 沿用 eMMC 习惯加 10 kΩ 上拉 |
4.4 原理图自检
- 三路电源全部有源,电压值与器件手册一致,VCCQ2 未遗漏。
- REF_CLK 已连接且来自可控时钟源,频率与器件支持列表一致。
- RST_n 有 10 kΩ 下拉,并连接到主控 GPIO。
- 所有差分对均串联 AC 耦合电容,差分对对称,无上拉/下拉/端接电阻。
- NC 引脚按手册处理(悬空或接地),未误连。
- 电源与地的球数统计无误,无遗漏未连接的 VSS 球。
- 与主控侧交叉核对:DIN ↔ DOUT 方向未接反(主机 TX 接器件 DIN)。