gPTP=generalized Precision Time Protocol,即IEEE 802.1AS标准,是 PTP(IEEE 1588)的一个配置文件,专门针对以太网桥接网络(如车载以太网、工业以太网)的时间同步。
1. gPTP vs 标准 PTP 的区别
2. gPTP 核心机制
2.1 消息类型
2.2 时间同步流程(Two-Step)
Master Slave | Sync (T1) | | --------------------> | (记录 T2 = 接收时间) | Follow_Up (T1) | | --------------------> | (Slave 获得 T1) | | | Pdelay_Req (T3) | | --------------------> | (对端记录 T4) | Pdelay_Resp (T4) | | <-------------------- | (请求方记录 T5) | Pdelay_Resp_FU (T4) | | <-------------------- | (获得 T3, T4, T5) Slave 计算: - 路径延迟:meanDelay = [(T4 - T3) + (T5 - T4)] / 2 - 时间偏移:offset = T2 - T1 - meanDelay - 从时钟修正:slaveTime = slaveTime - offset2.3 驻留时间补偿(Residence Time)
在桥接网络中,每个交换机/网桥都需要测量报文在其内部的驻留时间,并在 Follow_Up 报文中扣除,确保端到端精度。
3. RT7 TDA4 中的 gPTP 应用
从知识库文档中可以看到,RT7 TDA4 时间同步方案使用了TI_gPTP:
方案架构
外部 UTC (Switch 9G) ↓ PTP Slave TDA4-MCU2_1 (gPTP Slave) ← 获取精确 UTC 时间 ↓ IPC TDA4 其它 R核 ← 通过 IPC 接收 UTC + gtc1 ↓ 本地时间 = r × T + C(速率+偏移补偿)关键代码:TI 的TsCouplerClient
// 计算速率和偏移(CRF 算法) void TsCouplerClient_calculateRateAndOffset(...) { // 使用两组时间戳计算: // rate = phcTimeDiff / systemTimeDiff // offset = 基于线性拟合计算时钟偏移 }R核时间同步公式:t = r × T + C
- r(rate):时钟速率比,补偿主从时钟频差
- T(主时钟时间):来自 gPTP 的 UTC 时间
- C(offset):时钟偏移补偿量
4. gPTP 关键配置参数
5. 精度与优势
- 典型精度:亚微秒级(< 1μs),优于标准 NTP(毫秒级)
- 适用场景:车载以太网(Automotive Ethernet)、工业自动化、音视频同步
- 核心优势:
- 硬件时间戳(PTP Hardware Clock)
- 驻留时间补偿
- 简化 BMC(适合确定性拓扑)
6. 相关文档参考
- TI 官方文档:3.2.2.10.3.3.2.1. PTP — Processor SDK Linux for J784s4 DocumentationPTP 驱动
- IEEE 802.1AS-2020:通用精确时间协议标准