车载以太网交换芯片架构:从 MAC、PHY 到 RGMII 与 SerDes
车载以太网交换芯片连接传感器、计算节点和控制节点,完成端口间报文转发。理解它的硬件架构,需要同时看清三个对象:MAC 处理以太网帧,PHY 实现物理链路,Switch 连接多个端口并决定帧的出口。 RGMII、SGMII 和高速 SerDes 则处于不同的连接边界,不能仅根据接口名字判断网线怎样接。
本文是车载以太网 Switch 专栏的第一篇。这里先建立连接模型,第二篇讨论一帧报文的转发,第三篇讨论管理与配置生效。
1. GMAC 与 Switch 的分工
MCU 集成 Gigabit Ethernet MAC,意味着它能够收发自身的以太网帧。典型收发路径中,MAC 与 DMA、描述符、缓冲区和中断配合,把网络数据交给 MCU 软件,或者将软件准备好的数据送入链路。
Switch 面向多个端口:从某个端口接收帧,根据 VLAN、目的 MAC、端口状态及策略,选择一个或多个出口。多个 DMA 队列仍是同一网络接口内部的资源,不会自动变成多个可接传感器的物理端口。
Infineon 的 TC3xx GETH 公开培训资料列出了 10/100/1000 Mbit/s MAC、MII/RMII/RGMII、DMA 队列及过滤能力。[1] 这说明 GETH 可以为 MCU 提供网络连接;是否具有独立的多端口交换能力,要看芯片的交换结构,不能由“有 MAC”或“有 VLAN 过滤”推出。
| 对象 | 主要职责 | 典型连接 |
|---|---|---|
| MCU / SoC | 执行业务、处理发给本节点的网络数据,也可管理外部 Switch | 通过自身 MAC 接入网络 |
| MAC | 处理帧边界、地址、FCS 等链路层工作,配合收发队列 | 连接 PHY,或兼容的芯片间接口 |
| PHY | 在数字接口和具体传输介质之间转换,建立和维持物理链路 | 铜缆、光纤或对应的物理接口 |
| Switch | 在多个端口之间执行桥接、过滤、排队和转发 | 内部 PHY、外部 PHY、MCU、SoC 或另一 Switch |
Switch 可以含有管理 CPU,也可以由外部处理器配置。普通二层转发通常由交换硬件执行,源端口到目的端口的帧无需先进入管理 MCU 的 TCP/IP 协议栈。发给 MCU 自身、被镜像、被 Trap 到 CPU 或需要软件处理的帧,会走另一条接收路径。
“MCU 管理 Switch”描述的是控制关系;“帧从 Switch 到 MCU”描述的是数据去向。两者可以同时存在,也可以彼此独立。
2. 一个虚拟网络的连接模型
下面使用演示端口:P1 接传感器,P8 接计算 SoC,P3 接管理 MCU。端口号、速率和连接仅用于说明概念,不对应实际产品或 ECU。
传感器的 MAC 经本端 T1 PHY,把帧送到单对铜缆;Switch 侧 T1 PHY 接收并还原数据。交换核心选择 P8 后,通过双方支持的高速串行接口交给 SoC。MCU 可以通过 P3 收发自身业务,同时经 MDC/MDIO 管理 Switch。
在这个例子中,传感器到 SoC 的普通帧走 P1→交换核心→P8,P3 不是必经出口。即使管理软件暂时没有发起新的寄存器事务,已经建立的转发状态仍可能由交换硬件继续使用;复位、看门狗和故障策略则可能改变这种行为。
3. MAC 与 PHY 的层次边界
PHY 是物理层功能的集合,内部常用 PCS、PMA、PMD 等子层描述。各 Ethernet 类型的层次、编码和实现可以不同,下表用于建立职责边界,不要求芯片内部一定存在三个独立模块。
| 层次 | 英文全称 | 主要工作 |
|---|---|---|
| MAC | Media Access Control | 发送、接收以太网帧,处理帧格式与 FCS 等链路层功能 |
| PCS | Physical Coding Sublayer | 编码/解码、码组或块同步,以及该 PHY 类型规定的相关处理 |
| PMA | Physical Medium Attachment | 将上层数据适配到物理信号处理与收发结构;具体职责随 PHY 类型变化 |
| PMD | Physical Medium Dependent | 面向选定传输介质的电气或光学收发要求 |
SerDes 是 Serializer/Deserializer,强调并串转换、串行发送、时钟恢复与接收等实现能力。它可能参与某个串行 PHY 或芯片间接口的实现,但具备 SerDes 不等于具备完整的 1000BASE-T1 PHY。
单对铜缆 T1 PHY 还需要与介质相关的模拟前端和信号处理,例如均衡、回波处理、链路训练及规定的编码。TI 的 DP83TG720S-Q1 公开数据手册展示了 RGMII/SGMII 的 MAC 侧与 T1 的 MDI 侧,这两个连接边界清晰分开。[2]
一条 1000BASE-T1 链路的两端
通常两端都要具备兼容的 1000BASE-T1 PHY 功能:一端把数字数据转换成铜缆上的信号,另一端恢复数据;双向收发都需要相应的物理层能力。
PHY 可以是独立芯片,也可以集成在传感器、SoC 或 Switch 内部。因而“两端都有 PHY 功能”不等于“PCB 上一定有两颗独立 PHY 芯片”。一端用内部 T1 PHY、另一端用外部 T1 PHY,也可以形成链路。
1000BASE-T1 的 MDI Master/Slave 关系用于物理层时钟等链路工作,双方需要形成兼容的一主一从关系,确定方式依器件能力和配置。Slave 仍可双向发送业务数据。这里的 Master/Slave 与 MDIO 管理端、应用层主从或帧转发方向无关。
4. 内部 PHY 与外部 PHY
内部 PHY 将数字和介质相关功能集成在 Switch 中,减少外部器件和芯片间连接。外部 PHY 则让 Switch 的可用数字端口适配另一种介质、速率或板级需求。
| 连接方式 | 数据路径 | 需要核对的边界 |
|---|---|---|
| Switch 内部 T1 PHY | 交换端口→内部 PHY→T1 铜缆 | 集成 PHY 类型、端口分配、MDI 电路及速率 |
| Switch 经 RGMII 接外部 PHY | 交换端口→RGMII→外部 PHY→铜缆 | 电压、时钟、收发延迟、PHY 类型 |
| Switch 经 SGMII 接外部 PHY | 交换端口→SGMII→外部 PHY→铜缆 | 串行模式、带内状态、链路速率及 PHY 能力 |
| Switch 经兼容 SerDes 接 SoC / Switch | 交换端口→串行接口→对端 | 两端协议、编码、Lane、时钟、训练和信号完整性 |
最后一种连接说明:SerDes 可以连接外部 PHY,也可以连接兼容的 SoC、另一 Switch 或其他串行端点。 板内串行链路本身有物理收发功能,但没有使用 T1 铜缆时,不需要凭空插入一个 T1 PHY。
5. RGMII:板级并行数字接口
RGMII 是 Reduced Gigabit Media Independent Interface。收发方向分别具有 4 根数据线、控制线和时钟线,在千兆模式用双边沿传输:
4 bit × 2 个时钟边沿 × 125 MHz = 1000 Mbit/s它通常用于板上的 MAC↔PHY 连接,也可在器件支持对应 MAC/PHY 侧模式时用于 MCU↔Switch 的直接连接。它的电气接口、时钟方向和数据时序,与 1000BASE-T1 铜缆不是同一种接口。[3]
千兆 RGMII 设计要处理 Clock-to-Data Skew:延迟可以由器件内部、PCB 或支持的延迟配置实现,具体应保证双方时序满足要求。重复插入延迟与完全未插入延迟,都可能造成接收错误。
TC3xx 的公开说明还要求 RGMII 使用额外的 GREFCLK 输入;在 10/100 Mbit/s 模式下,接口 TX/RX 时钟与 GREFCLK 的频率关系也要分别核对。[3] 所以“千兆连不通”需要同时检查模式、引脚、电压、参考时钟和延迟,而不是只修改一个 speed 参数。
6. SGMII 与高速 SerDes
SGMII 是 Serial Gigabit Media Independent Interface,是一种具体的串行接口规范;SerDes 则是实现串行收发的能力和硬件结构。可以把两者理解为“接口规则”与“实现串行连接的基础”,不能互相替代。
经典 SGMII 使用 8b/10b 编码,千兆业务对应约 1.25 Gbit/s 的串行线速。较低业务速率通常仍使用该串行线速,再通过规定的重复机制适配。串行线速、MAC 业务速率和应用有效吞吐分别计算。[4]
高带宽连接还可能使用 2500BASE-X、XFI、USXGMII 等接口。两端即使都写着“支持 SerDes”,仍需匹配具体协议与速率;SGMII 与 1000BASE-X 也不能只凭相同的串行线速认定兼容。
| 比较项 | RGMII | 经典 SGMII | 更高速的串行接口 |
|---|---|---|---|
| 传输形态 | 并行、源同步、双边沿 | 串行差分、编码传输 | 串行差分,依规范配置 |
| 常见业务范围 | 10/100/1000 Mbit/s | 10/100/1000 Mbit/s | 2.5G、5G、10G 等,依接口能力 |
| 典型场景 | MCU / MAC 接 PHY 或兼容 Switch 端口 | MAC 接 PHY,或双方支持的芯片间连接 | SoC 上联、Switch 级联、外部高速 PHY |
| 主要核对项 | 电压、时钟、Skew、引脚模式 | 编码、带内状态、串行模式、时钟 | 协议、Lane、均衡、训练、参考时钟 |
“MCU 常用 RGMII、计算 SoC 常用高速 SerDes”是能力与带宽需求形成的常见选择,并非由 MCU/SoC 名称决定。器件公开支持哪些接口、PCB 实际布了哪些信号,才是可配置范围的依据。
7. 带宽与端口资源的工程约束
假设三个虚拟传感器各向计算节点送入 800 Mbit/s 的链路占用流量,总计 2.4 Gbit/s。若出口仅为 1 Gbit/s,长期平均入流量超过出口服务能力,缓存最终会被填满,随后发生丢帧。更大的缓存只能吸收短时突发,不能消除持续超额。
选择 2.5G、5G 或 10G 上联,还要核算帧开销、其他业务、整形、端口队列和交换核心容量。接口标称速率不是应用净吞吐,芯片宣传的 aggregate bandwidth 也需确认是否合计了收发两个方向。
端口号、内部 PHY、SerDes Lane 与引脚资源并非任意组合。公开的 BRIGHTLANE 88Q5072 页面同时列出集成 T1 PHY 和可配置接口能力,说明芯片会区分固定与灵活的连接资源。[5] 不能把产品页面上的所有接口选项相加,认定它们能够同时启用。
| 约束来源 | 典型内容 | 软件能做什么 |
|---|---|---|
| 芯片能力 | 端口数、PHY 类型、Lane 数、复用组、最大速率 | 在支持范围内选择模式 |
| PCB 与外围电路 | 接线、封装引脚、时钟、电源、铜缆接口、外部 PHY | 配置已经接出的硬件资源 |
| 当前状态与配置 | 复位、使能、Master/Slave、链路模式、转发状态 | 按规定时序改变工作状态 |
因此软件可以选择受支持的端口模式,却不能把没有模拟前端的 SerDes Lane 变成 T1 铜缆端口,也不能补出 PCB 上不存在的差分线。
8. 数据通道与管理通道
RGMII、SGMII、T1 与高速串行上联承载业务帧;MDC/MDIO、SPI 或芯片支持的其他管理接口用于配置与状态访问。管理 CPU 通过慢速管理总线写一次规则,交换核心可以按该规则转发大量帧。
MDIO 的管理速率不会自动限制 Switch 的 1G/10G 数据通路。管理访问可能影响配置切换和诊断采样速度;业务帧的吞吐则由端口、交换结构、缓存和调度决定。第三篇会进一步计算管理事务的时间成本。
9. 从连接模型进入转发分析
排查网络连接时,先逐段确认“MAC 数字接口→PHY 功能→传输介质→对端功能”,再核对端口复用、时钟、速率和 Link。Link 建立后,报文是否能从一个端口走到另一个端口,还取决于 VLAN、FDB 和转发状态。
这个顺序把物理连接和交换规则分开验证:硬件接口决定数据能否到达交换端口,转发机制决定到达后去哪里。下一篇用一帧虚拟报文把后半条路径完整展开。
公开参考资料
- Infineon:AURIX TC3xx Gigabit Ethernet MAC Quick Training,GETH 能力与系统集成。
- TI:DP83TG720S-Q1 公开数据手册,MAC 侧接口、T1 MDI 侧和 Master/Slave;应用时核对下载版本。
- Infineon:TC3x RGMII 与 GREFCLK,时钟与接口时序。
- IEEE 802.3 工作组公开讨论:SGMII 线速与 8b/10b,为参与者技术讨论,不替代接口规范。
- Infineon:BRIGHTLANE 88Q5072 产品页,公开的集成 PHY 与接口能力。
继续阅读: VLAN、VTU、FID 与 ATU 转发机制 · Switch 配置与 MDIO 管理 · 专栏首页
