不讲标准条文,直接开 Wireshark。看完你会明白"亚微秒"这三个字的代价。
四个报文
gPTP(802.1AS)的全部秘密,藏在四个报文的来回里:
- Sync —— 主时钟发出,打上 t1 时间戳
- Follow_Up —— 紧随其后,把精确的 t1 值告诉从时钟
- Delay_Req —— 从时钟回发,打上 t3
- 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车载