不讲标准条文,直接开 Wireshark。看完你会明白"亚微秒"这三个字的代价。

四个报文

gPTP(802.1AS)的全部秘密,藏在四个报文的来回里:

  1. Sync —— 主时钟发出,打上 t1 时间戳
  2. Follow_Up —— 紧随其后,把精确的 t1 值告诉从时钟
  3. Delay_Req —— 从时钟回发,打上 t3
  4. Delay_Resp —— 主时钟回应,带上 t4

有了 t1~t4,从时钟就能算出两件事:与主的偏移量、链路的传播延迟。

为什么非要硬件打时间戳

如果时间戳在软件层打,从报文到达网卡、到被内核协议栈处理,中间会经过驱动、中断、调度——这段抖动轻松上百微秒。

所以车载以太网 PHY 或 MAC 里都有一个硬件时间戳单元(PTP Hardware Clock),在报文进出 MII 的那一刻就盖戳,抖动压到几十纳秒。

# 看看你的网卡支不支持硬件时间戳
ethtool -T eth0
# 关键看有没有 Hardware Transmit Timestamping 那几行

车载网络为什么要它

车上的摄像头、毫米波雷达、域控制器,各有各的时钟。要做传感器融合,就得让所有数据在同一个时间轴上对齐。

差 1 毫秒,高速场景下就是几厘米的位移误差——对自动驾驶来说,几厘米足够让融合算法误判。

所以 gPTP 在车里不是"锦上添花",是地基。

抓包时的小技巧

  • 过滤条件用 ptp,Wireshark 里专门有解析器
  • 关注 correctionField,它记录了 residence time(驻留时间)的补偿值
  • 同步精度飘了,先看 Delay_Req 的发送间隔是否稳定,再看 PTP 时钟的 servo 参数

下次写一篇讲 TSN 的整形器(Qbv / Qbu),那才是"确定性"的另一半。

📌 TSN 专题已开,gPTP 基本原理四篇:(一)TSN 与 gPTP 全景、(二)BMCA 选主时钟、(三)对时数学、(四)correctionField 与驻留时间,本文可当番外配合看。

gPTPTSN车载