第2章:SDIO物理层电气特性与信号完整性归纳总结

聊SDIO验证,很多人一上来就盯着协议层,什么CMD53、RW_READ_MULTIPLE,写得头头是道。
但信号到了板子上,眼图都睁不开,传输就挂了。物理层,是SDIO的基石。

这一章,我们来把物理层的电气特性和信号完整性讲透。
说白了,就是你设计出来的电路,能不能让Host和Card正常说话。

SDIO物理层电气特性与信号完整性知识体系 物理层基础指标 电气特性标准 信号质量参数 测试与验证 VOH/VOL阈值 拉灌电流能力 上升/下降时间 建立/保持时间 时钟抖动 眼图模板 信号完整性仿真 SI后仿验证 实测眼图比对 核心关注点 输出驱动强度 × 阻抗匹配 → 信号质量 → 一致性测试

2.1 电气特性标准

SDIO规范的电气参数,不是拍脑袋定的。
你得先搞清楚,信号在Host和Card之间传递时,电压阈值、电流能力、时序关系是否满足要求。

核心指标速查表

参数 最小值 典型值 最大值 说明
VIH 0.625 × VDD — VDD + 0.3V 输入高电平阈值
VIL -0.3V — 0.25 × VDD 输入低电平阈值
VOH 0.75 × VDD — — 输出高电平(IOH = -100μA)
VOL — — 0.125 × VDD 输出低电平(IOL = 100μA)
tR / tF — 5 ns 50 ns 上升/下降时间(CL = 40pF)

你看这个VIL的上限只有0.25×VDD,噪声容限相对就小。
我最初做SDIO设计时,总觉得数字电平差不离就行,结果SDR104模式的眼图始终过不了。
后来回过头来看,就是输出驱动电流设太强,振铃直接干穿了VIL阈值。

经验之谈: VDD的工作范围通常支持1.8V和3.3V,但切换时要注意电压过渡时间和去耦电容设计。我个人推荐在板级预留π型滤波,方便调试。

2.2 输出驱动与信号质量

输出驱动能力,不是越强越好。
驱动强,信号上冲就猛,反射回来把数据打乱。
驱动弱,边缘缓,时序裕量就会吃紧。

SDIO的驱动强度是可配的。
你可以在Host寄存器里选择驱动等级,从低到高,通常有4档。
匹配的原则很简单:看你的负载电容和传输线阻抗。

踩坑记录: 我曾经试过用最高驱动等级去推一个长走线,结果时钟信号过冲超过3.6V,直接把Card的输入端打坏了。从那以后,我坚持先仿真,再实测,最后定驱动强度。

2.3 信号完整性仿真与验证

仿真,不是在电脑上画个波形就够了。
你得把走线参数、封装模型、IO pad模型都搭进去。

// 一个简单的SI检查清单
1. 提取PCB走线的S参数(频率到5倍基频以上)
2. 获取IO缓冲区的IBIS模型(V/I曲线,Ramp波形)
3. 构建通道仿真拓扑(Driver -> Trace -> Receiver)
4. 跑瞬态仿真,观察过冲/下冲、单调性、眼图
5. 判断结果是否落在SDIO规范的眼图模板内

这里面,IBIS模型的质量最要紧。
我见过不少项目,直接用默认的generic模型来跑,结果仿真通过,上板就打嗝。
说白了,IBIS模型的V/I曲线必须对应你实际晶圆测试的corner。

眼图模板检查要点:

  • 眼高(Eye Height): 必须 ≥ 0.4 × VDD(SDR)
  • 眼宽(Eye Width): 在对应数据速率下,至少占UI的60%
  • 抖动(Jitter): 峰峰值不宜超过0.3 UI
  • 过冲/下冲: 不超过VDD ± 0.3V

为什么眼宽要占UI的60%以上?
因为Host端的采样窗本身就有建立时间和保持时间的要求。
你给的眼图太窄,采样点很容易滑到信号翻转区,逻辑就乱了。

2.4 实测验证方法

仿真终究是仿真,最后还得上仪器说话。
实测SDIO信号,我推荐用高带宽示波器(至少2倍于数据速率)。
探头要选低负载的,最好有源差分探头。地线要短,否则测出来的眼图都是假的。

实测流程建议:

  1. 校准示波器,设置垂直分辨率(50mV/div起)
  2. 触发在时钟边沿,持握手动或自动均可
  3. 采集数据线波形,叠出眼图模板
  4. 通过/失败判断:眼图必须在模板内方为正

我见过一些测试报告,总喜欢把眼图调得很漂亮再截图。
其实那是作弊。真正有效的实测,是尽可能反映最恶劣情况:温度、电压、负载都推到边界。

特别注意: 当进入UHS-I或DDR模式时,信号翻转率提高,功耗也会大增。
别忘了检查直流压降。我曾经遇到一个案例,驱动电流大->IR drop大->VDD掉到1.62V以下,卡直接不响应了。这属于功耗完整性(PI)的问题,但一旦发生,SI测试也过不了。

2.5 阻抗匹配与终端处理

SDIO的走线特性阻抗,规范建议是单端50Ω,差分100Ω。
你实际做设计时,叠层要跟着阻抗走,不是调个线宽就完事。

匹配方式有两种:

  • 串联匹配: 在Host输出端串一个22-33Ω电阻,吸收反射。
  • 并联匹配: 在Card输入端对地接电阻到50Ω,但功耗会大。

我个人习惯用串联匹配。
低功耗模式下,串联电阻还能抑制过冲。
但注意,串联匹配会增加输出阻抗,可能恶化上升时间,这个需要仿真确认。

匹配方式 优点 缺点 适用场景
串联匹配 功耗低、电路简单 上升沿略缓 低频、短走线
并联匹配 信号完整,反射小 静态功耗大 高频(>100MHz)

最终归结到一句话:
物理层的电气特性 + 信号完整性,决定了你的SDIO接口能不能稳定工作在目标速率。
不要跳过仿真,不要迷信万用表,更不要想当然。