# MDIO信号线电气特性 ## 为什么得聊电气特性? 搞调试的人,往往上来就抓波形。可要是信号本身的电气特性不达标,再贵的示波器也救不了你。 我刚开始接触MDIO时,也踩过这个坑——板子调不通,软件查了三遍没问题,最后发现是信号上升沿太缓,MDIO从机压根没认到有效电平。 所以这一章,咱们把电气参数掰开了揉碎了讲清楚。 ## 电压电平——门槛在哪? MDIO是双向三态信号,默认用1.8V或2.5V CMOS电平,也有些老器件用3.3V。标准里其实没规定死电压,只说“与连接器件的电源电压匹配”。但实际项目里,我建议直接用PHY或MAC手册里推的值。
**核心参数** - VIH(输入高电平):0.7 × VDD - VIL(输入低电平):0.3 × VDD - VOH(输出高电平):0.9 × VDD - VOL(输出低电平):0.1 × VDD
举个例子。你用的是1.8V系统,VIH就得大于1.26V。低于这个值,从机就不认“1”。反过来,驱动端的VOH至少要输出1.62V才算可靠。
参数 1.8V系统 2.5V系统 3.3V系统
VIH(最小值) 1.26V 1.75V 2.31V
VIL(最大值) 0.54V 0.75V 0.99V
VOH(最小值) 1.62V 2.25V 2.97V
VOL(最大值) 0.18V 0.25V 0.33V
**小技巧**:抓波形时,把示波器的光标放在VIH和VIL的阈值线上。一看就能判断信号是不是“吊在半空”。
## 上升时间与下降时间——不能太快也不能太慢 MDIO时钟最高能跑到12.5MHz。对于100ns的周期信号,上升/下降时间就得很讲究。 标准里推荐上升/下降时间控制在**5ns到20ns**之间。为什么呢? - 太快了,会反射、振铃。我在调试一块PHY时遇到过——时钟沿太陡,产生了过冲,把从机芯片的内部逻辑打乱了。 - 太慢了,信号跨过阈值的时间太长,从机采到的数据就可能出错。
**曾经踩过的坑** 我曾经碰到一个诡异问题:板子常温下能跑,一进高低温箱就挂。后来一查,温度升高后驱动能力下降,上升沿从8ns变到35ns。从机在这个缓慢的上升过程中,多次翻转采样,读到的寄存器值全是乱的。 从此以后,我每次设计都会留出20%的上升/下降时间裕量。
测量方法很简单。用示波器抓到波形后,找10%和90%的电压点,计算二者时间差。手动测量时,我习惯把示波器的测量功能打开,让它自动算 Trise 和 Tfall。 ## 驱动能力——别小看了那个几毫安 MDIO驱动端必须能同时推好几个负载。典型的从机输入电容在5pF到10pF之间。如果总线上挂了8个PHY,总负载电容就能到80pF。 驱动电流怎么算?有个经验公式:
I = C_load × (dV/dt)

举个例子:
如果C_load = 80pF,dT = 10ns(要求上升时间),dV = 1.8V
那需要的驱动电流 I = 80pF × (1.8V / 10ns) = 14.4mA
**我一般的安全做法**: - 单个PHY驱动不超过8个从机 - 预留至少50%的驱动能力裕量 - PCB走线长度控制在12英寸以内 - 必要时加缓冲器(如NC7SZ07)
有个更直接的办法——看看器件手册里有没有写“DC Drive Strength”或“Output Current”。比如某款MAC芯片写的是“±8mA”,那就意味着它只能驱动4-5个标准从机。 ## 一张图串起所有电气特性 MDIO信号线电气特性关系图 电压电平 上升/下降时间 驱动能力 三者联动影响信号完整性 • 电平太低 → 跨不过阈值 → 波形畸变 • 边沿太缓 → 采样不确定性 → 数据错位 • 驱动不足 → 上升沿变慢 → 高频失效 波形测量验证 裕量分析 调试决策 最终目标:保证MDIO在任何工况下可靠通信 图上梳理得很明白——电压电平、上升/下降时间、驱动能力这三者不是独立参数。它们合在一起,决定了信号到底能不能被正确识别。 比如驱动能力不够,直接导致上升沿变慢。上升沿一慢,实际跨过VIH的时间就推后了。时序分析时如果没算这个,以为能跑到12.5MHz,实际跑起来就是一片错码。 ## 几点补充建议 说回实践。我个人的习惯是: 1. **先看手册**。PHY或MAC的data sheet里都会写“MDC/MDIO Output Timing”这一节。里面标的Tr/Tf值就是你的设计基准。 2. **用示波器量一下实际值**。很多板子的走线寄生参数和仿真差得挺远——走线太长、过孔太多、分叉太多,都能把上升沿从10ns拖到30ns。 3. **留裕量**。工业级温度范围下,驱动器的输出电流会下降。你在25℃下测的15ns上升沿,到了85℃可能就变成30ns了。 4. **别靠猜**。我有次项目很急,没仔细分析负载,凭感觉接了两个PHY——其中一个死活读不到ID。后来用示波器一看,上升沿波形上有个明显的平台,电压正好卡在VIL附近。就是驱动能力不够,加上那根PHY离得太远走线太长。 电气特性这块,讲白了就是看驱动端能不能把电平送过去、接收端能不能认出来,中间还要考虑走线带来的损耗和延迟。下次调MDIO时,先别急着怀疑协议,拿示波器看一下信号边沿——很多问题一眼就能看出来。