3. 车载以太网基础与S32G以太网子系统

车载以太网并不是把办公室里的千兆以太网直接搬进车里。车内线束要短、要轻、要抗干扰,还要满足车规温度与EMC要求,因此物理层被重新设计。理解S32G的以太网子系统,必须先把物理层编码、MAC与PHY的分工、PFE的报文处理架构、帧的收发路径、VLAN优先级以及TSN的时间语义串成一条线。

100BASE-T1与1000BASE-T1:单对双绞线上的全双工

传统100BASE-TX使用两对双绞线,一对收、一对发,采用4B/5B加MLT-3编码,速率100 Mbps。车载以太网100BASE-T1(IEEE 802.3bw)把它压缩到一对非屏蔽双绞线上,通过回声消除实现全双工:本端发送的信号会叠加到接收端,PHY内部用自适应滤波器估计并减去自己发出的回声,从而分离出对端信号。其线路编码为PAM3,符号率约66.67 MBd,配合4B/3B等处理达到100 Mbps。

1000BASE-T1(IEEE 802.3bp)同样使用单对双绞线,但速率提升到1 Gbps,采用PAM3、符号率约750 MBd,并引入更复杂的均衡与回波抵消。它对信道带宽、回波损耗和连接器一致性要求更高,线束长度通常限制在约15 m(具体取决于信道规格与线缆类型)。工程上要关注:链路是否支持所需速率、PHY是否支持主从时钟角色自动协商、以及是否满足OPEN Alliance相关测试规范。

MAC与PHY接口:RGMII、SGMII与MDIO

MAC负责数据链路层的成帧、CRC校验、地址过滤与流控;PHY负责物理层编码、驱动与链路状态。两者之间需要标准接口。S32G的PFE侧常用RGMII连接外部千兆PHY,RGMII用4位数据在时钟上下沿采样,实现1000 Mbps;也可用SGMII以串行方式连接,减少引脚数。管理通道使用MDIO/MDC,通过寄存器读写PHY的BMCR、BMSR、自协商通告等,读取链路状态、速率与双工模式。

一个典型配置示例(示意,非实测):PFE的EMAC0通过RGMII连接外部1000BASE-T1 PHY,PHY地址为0x03,MDIO时钟约2.5 MHz。上电后先读BMSR确认链路,再写BMCR设置自协商与主从模式,最后读PHY特定状态寄存器确认已建立1 Gbps全双工链路。若读回速率为100 Mbps,应检查线缆信道与主从配置是否匹配。

PFE架构:从总线到报文引擎

S32G的PFE(Packet Forwarding Engine)是硬件加速的以太网转发子系统,内部包含多个EMAC、分类器、转发引擎与DMA。报文从PHY进入EMAC后,由DMA写入系统内存的缓冲区,分类器根据VLAN、目的MAC、端口等字段决定转发、丢弃或上送CPU。PFE可在线速下完成二层桥接与部分三层处理,减轻A核与M核负担。理解PFE的关键是分清“数据面”和“控制面”:数据面由硬件流水线完成,控制面由CPU通过寄存器与描述符配置。

S32G以太网帧收发路径与PFE数据面 1000BASE-T1 PHY PAM3 / 回声消除 RGMII TXD/RXD/CLK EMAC 成帧 / CRC / 过滤 FIFO / 流控 DMA 分类器 VLAN / MAC / 端口 优先级映射 转发引擎 桥接 / 路由 / 丢弃 线速转发 系统内存(报文缓冲区 / 描述符环) BD Ring · Buffer · 队列 CPU(A核 / M核)控制面 寄存器配置 · 中断 · 异常上送 VLAN与优先级 802.1Q Tag:VID + PCP PCP 0~7 → 队列映射 PCP 7 最高,用于控制流 示例:VID 100,PCP 5 TSN基础 802.1AS 时间同步 802.1Qbv 时间感知整形 802.1Qav 信用整形 门控周期 → 确定性时延 收发路径要点 收:PHY→EMAC→DMA→分类 发:描述符→DMA→EMAC→PHY CRC错误 / 溢出 → 丢弃计数 观察:端口统计与队列深度

以太网帧收发路径

接收方向:PHY把线路上的PAM3符号恢复为比特流,完成对齐与解码后通过RGMII送给EMAC;EMAC检查前导码、SFD,剥离后计算CRC并与帧尾FCS比对,同时按目的MAC和VLAN过滤;合格帧由DMA按描述符写入内存缓冲区,分类器再决定转发端口或上送CPU。发送方向相反:CPU或转发引擎准备好缓冲区,填写发送描述符,DMA把数据搬入EMAC的发送FIFO,EMAC插入前导码、SFD并计算FCS,最后经RGMII交给PHY编码发出。

调试时最直接的观察点是端口统计寄存器:收包数、CRC错误数、溢出丢弃数、发送冲突数。若收包数增长但CRC错误同步增长,通常是线缆或PHY均衡问题;若溢出丢弃增长,说明DMA或CPU处理跟不上,需要检查描述符环深度与中断合并设置。

VLAN与优先级

802.1Q在源MAC之后插入4字节Tag,其中12位VID标识VLAN,3位PCP表示优先级(0~7,7最高),1位DEI。交换机或PFE根据PCP把帧映射到不同发送队列,实现优先级调度。例如把VID 100、PCP 5分配给音视频流,VID 200、PCP 2分配给诊断报文,控制报文用PCP 7。配置时要保证同一VLAN内成员端口一致,并明确Trunk口与Access口的Tag处理方式:Access口通常去Tag转发,Trunk口保留Tag。

TSN基础

TSN不是单一协议,而是一组IEEE 802.1标准。802.1AS负责全网时间同步,让各节点共享同一时间基准;802.1Qbv通过时间感知门控,在预定时间窗口只允许特定队列发送,从而给出确定性时延;802.1Qav用信用整形平滑突发流量。对S32G网关而言,TSN能力依赖PFE与外部PHY的硬件时间戳支持,配置时需要把门控列表、周期与队列映射对齐到实际流量模型。若时间同步偏差过大,Qbv窗口就会错位,确定性也就无从谈起。

学习建议:先用MDIO读通PHY链路状态,再用端口统计确认收发路径无错,最后才进入VLAN与TSN的队列配置。物理层不稳,上层所有优先级和门控都失去意义。