在 STM32 的以太网应用中,我们通常处理的是 MAC(媒体访问控制,集成在 MCU 内部) 与 PHY(物理层芯片,如 LAN8720A 或 DP83848) 之间的连接。这不仅是线路的连接,更是时钟同步的艺术。
1. 接口之争:MII 还是 RMII?
STM32 支持两种接口连接 PHY 芯片。
-
MII (Media Independent Interface): 线多(16 根),时钟由 PHY 提供。虽然频率低,但占用 IO 太大,PCB 布线极难。
-
RMII (Reduced MII):工业界的首选。 线少(7-9 根),时钟频率提高到 50MHz。
- 设计核心: RMII 要求所有数据信号必须与 50MHz 的参考时钟(REF_CLK)严格同步,任何相位的偏移都会导致丢包。
2. 时钟树的"生死时速"
50MHz 的参考时钟从哪里来?这是以太网设计最容易翻车的地方。
-
方案 A:外部 50MHz 有源晶振(最稳)。 晶振同时驱动 MCU 和 PHY。由于时钟源唯一,两者的相位差最小。
-
方案 B:由 PHY 芯片输出时钟(常用)。 很多 PHY 使用 25MHz 晶体,内部倍频出 50MHz 并通过 CLKOUT 引脚输出给 MCU。
- 避坑: PHY 复位期间时钟可能消失,会导致 MCU 以太网模块启动异常。必须严格控制 RESET 的释放顺序。
-
方案 C:由 MCU 的 MCO 引脚输出。 成本最低,但对 STM32 的 PLL 配置要求极高。如果 MCO 信号抖动(Jitter)太大,网络连接会极其不稳定。
3. PCB 布线:高频信号的生存之道
以太网信号属于超高频范畴,布线时必须遵守"军规":
-
差分对(TX+/TX-, RX+/RX-): 指的是从 PHY 到变压器的部分。特征阻抗必须严格控制在 100欧姆(10%误差)。
-
时序等长: RMII 接口的 50MHz 信号对走线长度非常敏感。所有数据线相对时钟线的长度差应控制在 500 mil以内。
-
隔离与镂空: 在网络变压器下方,所有的地平面和电源平面必须挖空。这样可以防止电线上的共模干扰耦合进板内的地平面,同时提高耐压能力。
4. 磁性组件:网络变压器的"黑科技"
以太网电缆可能长达百米,变压器的作用是实现 1500V 以上的电气隔离。
4.1 中心抽头(Center Tap)到底接哪里?
这是最容易接错的地方,接错必烧 PHY。
-
电压驱动型 PHY: 中心抽头通常通过电容接 GND。
-
电流驱动型 PHY: 中心抽头必须接到电源(通常是 3.3V)。
- 建议: 选型前务必死磕 PHY 的手册。如果中心抽头接错了,PHY 芯片会迅速发烫。
4.2 Bob-Smith 匹配
在变压器的输出侧,通常有一组电阻电容(75欧姆电阻 + 2KV 高压电容)。这叫 Bob-Smith 电路,用于泄放双绞线上的共模噪声。这是通过 EMC 测试 的最后一道防线。
5. 工程落地的关键细节
-
复位时序: 建议用一个独立 GPIO 控制 PHY 的 RESET 引脚。先初始化时钟,等时钟稳定后再释放 PHY 复位。
-
PHY 地址: PHY 在复位瞬间会采样特定引脚电平来决定其地址(MDIO 访问用)。如果这些引脚外接了 LED,务必注意上拉/下拉电阻的阻值,不要干扰了地址采样。
-
机壳地隔离: RJ45 的金属外壳应连接机壳地,并通过高压电容与系统地(GND)单点连接,疏导静电。
结语
以太网设计是"三分原理图,七分 PCB"。当你能通过示波器看到那清晰张开的 100M 网络眼图,并且能在复杂的工厂环境下长 ping 不丢包,你对高速信号的驾驭能力就已经上了一个台阶。
下篇预告:
完成了所有通信接口的挑战,我们要聊聊系统的"后勤保障"。下一篇进入 《电源架构与系统保护:如何设计一套工业级的供电系统?》。我们将探讨宽压输入、LDO 与 DC-DC 的平衡,以及硬件低功耗的隐藏细节。