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 - offset

2.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. 相关文档参考

  • IEEE 802.1AS-2020:通用精确时间协议标准

更多推荐