第七篇:以太网设计 —— 从 RMII 时序到变压器隔离的深度拆解

在 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. 工程落地的关键细节

  1. 复位时序: 建议用一个独立 GPIO 控制 PHY 的 RESET 引脚。先初始化时钟,等时钟稳定后再释放 PHY 复位。

  2. PHY 地址: PHY 在复位瞬间会采样特定引脚电平来决定其地址(MDIO 访问用)。如果这些引脚外接了 LED,务必注意上拉/下拉电阻的阻值,不要干扰了地址采样。

  3. 机壳地隔离: RJ45 的金属外壳应连接机壳地,并通过高压电容与系统地(GND)单点连接,疏导静电。

结语

以太网设计是"三分原理图,七分 PCB"。当你能通过示波器看到那清晰张开的 100M 网络眼图,并且能在复杂的工厂环境下长 ping 不丢包,你对高速信号的驾驭能力就已经上了一个台阶。

下篇预告:

完成了所有通信接口的挑战,我们要聊聊系统的"后勤保障"。下一篇进入 《电源架构与系统保护:如何设计一套工业级的供电系统?》。我们将探讨宽压输入、LDO 与 DC-DC 的平衡,以及硬件低功耗的隐藏细节。

相关推荐
jianqiang.xue2 小时前
ESP-IDF保姆级入门22|WiFi联网与网络编程全解:STA/AP双模式/TCP-UDP Socket/HTTP服务端/自动重连,掌握工业级可靠网络通信
人工智能·stm32·单片机·mcu·物联网·51单片机·iot
恒锐丰科技林技术员6 小时前
EG2302 半桥驱动芯片详解:高压半桥高性价比栅极驱动方案
经验分享·嵌入式硬件·硬件工程
会不再投降21910 小时前
初识嵌入式历史发展与生态
stm32
LCG元11 小时前
STM32 定时器编码器接口模式电机测速实战:从 CubeMX 配置到 M 法转速计算与溢出处理
stm32·单片机·嵌入式硬件
星河单片机14 小时前
STM32驱动WaterSensor水位传感器+OLED显示完整原理与实验
stm32·单片机·嵌入式硬件
子文雨14 小时前
基于 uC3845 与 ATtiny13 双芯片架构的 8.4V/2.5Ah 锂电池智能充电器设计
单片机·嵌入式硬件·算法
快秃头的码农15 小时前
esp32-s3移植lvgl总结
嵌入式硬件·esp32-s3
恒锐丰科技林技术员16 小时前
EG1191 宽压降压 DC‑DC 芯片解析:高性价比工业电源方案
经验分享·嵌入式硬件·硬件工程
千秋岁rr16 小时前
8TIM编码器接口
stm32