网口不通?先搞懂 MAC 和 PHY
边缘 AI 摄像头视频流要通过网线推送到服务器。板子到手网线插上灯不亮。换根线灯亮了ping 不通。调驱动改设备树翻论坛一下午没了。问题也许是 MAC 和 PHY本期是 Comake 硬件科普第四期开发板怎么上网——MAC、PHY、RMII、RGMII。内容如下1️⃣ MAC 和 PHY 分别是什么2️⃣ MII、RMII、RGMII 有什么区别3️⃣ RGMII 信号测试要注意什么4️⃣ 电路设计有哪些坑一、OSI 模型MAC 和 PHY 在哪一层OSI开放式通信系统互联参考模型是 ISO 提出的标准框架。MAC 和 PHY 分别工作在 OSI 七层模型的数据链路层和物理层。MACMedia Access Control介质访问控制数据链路层管“数据怎么打包、什么时候发”。PHYPhysical Layer物理层物理层管“数据怎么变成网线上的电信号”。二、网络系统的硬件组成从硬件角度看以太网接口由三部分组成CPU MAC PHY芯片设计通常有三种方案为什么 MAC 和 PHY 经常分开PHY 包含大量模拟电路MAC 是纯数字电路。考虑到芯片面积及模拟/数字混合架构的原因通常把 MAC 集成进主控PHY 放在片外。三、MAC数据链路层MAC 有两个含义硬件控制器芯片内部的一个模块通信协议OSI 七层中数据链路层的下半部分MAC 的作用发送数据时判断是否可以发送。如果可以给数据加上控制信息按规定的格式发到物理层。接收数据时判断输入信息是否有错误。如果没有错误去掉控制信息发到 LLC逻辑链路控制层。MAC 硬件的一端接主控总线另一端接 PHY中间通过 MII 接口连接。四、PHY物理层PHYPhysical Layer是 IEEE 802.3 中定义的标准模块。作用如下物理接口收发器实现 OSI 模型的物理层实现 MII/GMII 子层、PCS物理编码子层、PMA物理介质附加子层、PMD物理介质相关子层、MDI 子层PHY 怎么配置通过 SMI 总线——两根线MDC时钟 和 MDIO数据 。MAC 或 CPU 通过这两根线读写 PHY 寄存器控制速率、双工、自协商等。调 PHY 驱动本质就是操作寄存器。SMI 总线包括两根线MDC时钟信号MDIO数据信号具体控制和状态读写通过操作 PHY 内部的寄存器实现。五、PHY 与 Switch 的区别PHY单网口物理层收发器一个网络接口对应一个 PHY。Switch多网口交换芯片内部结构是多个 MAC 多个 PHY主要功能是将数据在不同端口之间转发同时留有数据接口与 SoC 对接。区分方式PHY 一个网口Switch 多个网口带交换功能六、MIIMAC 和 PHY 之间的接口MIIMedia Independent Interface是 MAC 与 PHY 连接的标准接口由 IEEE 802.3 定义。关键特性支持 10Mb/s 和 100Mb/s 数据传输速率数据传输位宽为 4 位“媒体独立” 任何类型的 PHY 都可以工作不需要重新设计 MAC 接口MII 总共需要 16 个信号主要包括四部分发送数据接口MAC → PHY接收数据接口PHY → MAC状态指示信号PHY → MAC管理和控制接口MDIO MAC ↔ PHY七、RMII精简版 MIIRMIIReduced Media Independent Interface精简 MII 接口比 MII 少了一半的数据线。特点收发各使用 2 位 数据收发时钟均采用 50MHz 时钟源适合对引脚数量敏感的场合八、RGMII千兆版精简 MIIRGMIIReduced Gigabit Media Independent Interface精简 GMII 接口。数据线变化发送/接收数据线从 8 条减少为 4 条TX_ER 和 TX_EN 复用通过 TX_CTL 传送RX_ER 和 RX_DV 复用通过 RX_CTL 传送时钟频率4-bit 数据接口上升沿和下降沿同时采样1 个字节 8 bit。RGMII 接口只有 4 位先发送低位再发送高位。1000M 时时钟周期为 8ns半个周期为 4ns。九、RGMII 信号测试注意事项示波器要求RGMII TX/RX CLK 为 125MHz需用带宽大于5倍被测信号频率示波器波形才不会出现幅度失真。测试点位置测试探头要选择在 负载端终端而不是信号源端避免信号反射造成失真。探头接地测试探头的 GND 要选择最靠近信号的 GND避免寄生电容和寄生电感造成影响。十、RGMII 电路设计注意点同一个 GMAC只能搭配一个 PHY 使用。所以对既有MAC也有内置ephy的SOC双或多网口需要确认清楚内部是否共用MAC时序问题RGMII 要求接收端在数据中间采样需要时钟延时。1Gbps 速率下RGMII 时钟周期为 8ns。发送端在时钟沿发送数据接收端需要时钟延时约 2ns 后在数据中间采样。十一、Comake Pi 开发板的网络接口Comake Pi D1开发板在网络接口上的设计✅ MAC 集成在 SoC 内标准设计减少外围器件✅ PCB 走线经过验证阻抗控制已优化✅ 文档齐全PCB 走线要求、PHY 配置指南✅支持外挂PHY成本、应用更灵活以太网接口看似简单——插上网线就能用。但 MAC 和 PHY 之间的 MII/RMII/RGMII 接口涉及时钟同步、信号完整性、时序匹配等多个细节任何一个环节出问题网口就不工作了。理解 MAC 和 PHY就理解了“数据如何从芯片走到网线上”。十二、了解 Comake 开发板Comake Pi D1 | Comake Pi D2 点击链接了解开发板详情加入 Comake 开发者社区点击阅读原文 注册社区获取完整技术资料和项目支持TipsComake Pi 系列开发板的硬件参考设计包含原理图、PCB、硬件说明、HWchecklist、配件安装指南均在【Comake 技术支持-SDK下载】注册社区即可获取。有任何问题可通过 Comake 论坛提问。