Linux下双PHY设备实战:从设备树配置到网络隔离的完整指南
在嵌入式Linux开发中,多PHY设备的应用场景越来越广泛,无论是工业控制系统的冗余网络设计,还是网络安全领域的物理隔离需求,双PHY架构都提供了灵活可靠的解决方案。本文将深入探讨从硬件连接到软件配置的完整实现路径,帮助开发者掌握这一关键技术。
1. 硬件架构与设计考量
双PHY设备的硬件设计是项目成功的基础。典型的嵌入式系统通常采用以下两种架构:
- 单MAC控制器+双PHY芯片:通过RGMII/MII接口扩展
- 双MAC控制器+双PHY芯片:独立通道设计
以常见的RTL8211F-CG PHY芯片为例,其硬件连接需要注意以下关键点:
- 时钟同步:25MHz参考时钟的走线等长要求
- 复位电路:独立GPIO控制每个PHY的复位时序
- MDIO总线:地址引脚配置避免冲突(PHYADDR[2:0])
- 信号完整性:RGMII接口的TX/RX延迟补偿
提示:RGMII接口的时序余量通常只有0.3ns,PCB设计时应确保时钟与数据线的长度匹配。
硬件寄存器配置示例(RTL8211F-CG关键寄存器):
| 寄存器地址 | 名称 | 功能说明 | 典型值 |
|---|---|---|---|
| 0x00 | BMCR | 基本控制寄存器 | 0x1140 |
| 0x09 | 1000BASE-T控制 | 千兆协商设置 | 0x0200 |
| 0x1F | 页选择 | 切换扩展寄存器页 | 0x0007 |
| 0x10 | PHY特殊功能 | RGMII时序调整 | 0x8B80 |
2. 设备树深度配置
Linux设备树是连接硬件与驱动的桥梁,双PHY配置需要特别注意节点间的关联关系。以下是一个完整的设备树配置示例:
&mdio {
phy0: ethernet-phy@0 {
compa

2459

被折叠的 条评论
为什么被折叠?



