0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

车载gptp同步原理介绍

麦辣鸡腿堡 来源:UndefinedReference 作者:jinbao.tang 2023-10-27 14:44 次阅读

ptp/gptp

在车载,vehicle time使用gptp来做vehicle time的同步,gptp算是ptp的简化版,规范定义来源于IEEE 802.1AS,理论上可以达到ns级的误差。针对不通的ptp版本和gptp的对比如下:

图片

  1. gptp同步原理

针对gptp,所有slave节点,都与master(grandmaster)的时钟保持同步;在车载领域,master节点都是静态指定的,并且从功能安全的角度来看,会选择具备功能安全的mcu来做为master节点。所以会一般选用gw(gateway)或者tbox来做master,而选择gw或者tbox对后续整车整个时间管理是策略会有影响。

图片

master节点的sync报文(sync+follow up,以下用sync报文代替)会使用二层报文传遍整个时钟树,gptp中,sync报文使用二层报文,mac地址是指定的广播mac地址,但是实际上sync报文都是以单播的形式发送到下一跳节点,如果下一条节点是Bridage,则将重新修正correctionField(路由处理所消耗的时间),然后再将原来信息添加到sync报文从而路由到下一跳节点,直至到终端节点--End-Station。sync报文会包含master preciseOriginTimestamp、correctionField等。如下图:

图片

slave节点会根据sync报文带上的preciseOriginTimestamp、correctionField来调整自己的时钟频率以及偏移;为了消除总线上的传输时延,slave节点会发送延迟测量报文,由于在车载每一跳都会有gptp协议栈,所以理论上测出的时钟同步是单向、精确的,如下图:

图片

Pdelay=((t(4)-t(1)) - (t(3)-t(2)))/2

Pdelay测量的仅仅相邻两跳之间的传输时延,所以Pdelay是不会穿透Bridge的,从上面可以看到,gptp相对于can tsync不仅仅消除了传输延迟和路由报文时的处理延迟,同时时间戳是由硬件加上的,所以其时钟同步精度远远大于can tsync。

有了上述基础后,我们将所有gptp报文放一起,如下所示,并推导出slave节点用于调幅和调相的公式。

图片

C Pdelay = ((t6-t3)-(t5-t4))/2 Gm = t1 + Pdelay + CorrectionField //主时钟时刻+线缆传输时间+路由报文花销掉的时间 TimeOffset = t2 - Gm //用于调相或者调幅 Ratio = (Gm-Gm_last) /(t2-t2_last) //Gm_last和t2_last可以更久之前的。 FreqOffset = (1-Ratio)*1e9//用于调频

根据规范,sync报文一般是125ms发送一次;而Pdelay报文是1s发送一次,也可以是每次sync报文触发一次Pdelay报文,并且一般来说说同步精度是可配置的,当超过threshold时才去调整本地时钟。gptp调整的时钟(gptp时钟),是与网卡时钟源同一层级的时钟树端点,在linux上一般会抽象成设备,也就是/dev/ptpx;在使用硬件时钟戳时,当网络报文发送或者接收时的采样点到达时,会从gptp时钟上获取时间戳。采样点如下图所示:

图片

额外:上图不仅仅展示了采样点,还展示了latency,如果是为了追求超高精度的时钟同步,需要将ingress_latency和egress_latency在实际计算时进行补偿。

gptp报文格式略微复杂,在这里不再具体展开,对于了解gptp原理的角度来说,可以暂时不用关注报文格式。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 车载
    +关注

    关注

    17

    文章

    565

    浏览量

    83101
  • 节点
    +关注

    关注

    0

    文章

    208

    浏览量

    24078
  • 时钟同步
    +关注

    关注

    0

    文章

    72

    浏览量

    12618
  • 报文
    +关注

    关注

    0

    文章

    31

    浏览量

    3968
收藏 人收藏

    评论

    相关推荐

    车载GPS介绍

    车载GPS介绍:原理、应用举例、中国现状、发展空间、地图。
    发表于 08-29 15:39

    介绍一种车载GPS系统GPRS的新方案

    本文分析了车载GPS短信系统和GPRS发展现状及技术,重点介绍车载GPS系统GPRS的新方案。
    发表于 05-13 06:00

    介绍车载通信技术的现状与今后发展动向

    本文以汽车线束为中心,并对车载通信技术的现状与今后发展动向作概要介绍
    发表于 05-14 06:51

    s32g-vnp-rdb2上传sja1110_uc和使用gPTP时出错了怎么解决?

    ttyLF0我使用“switch_config_s32g_vnp_rdb”作为基础项目,然后按照“SJA1110 GPTP CONFIGURATION”介绍中的说明更新配置以添加 gPTP 堆栈,然后我
    发表于 04-11 10:43

    Simotion同步功能介绍

    关于simens Simotion的同步功能详细介绍
    发表于 03-16 15:50 1次下载

    介绍无刷与永磁同步的区别

    介绍无刷与永磁同步的区别
    发表于 06-28 08:45 17次下载

    SUNLORD顺络车载信息娱乐系统介绍

    SUNLORD顺络车载信息娱乐系统介绍
    发表于 10-27 15:34 19次下载

    车载以太网时间同步之EthTsync技术解析

    本文将重点介绍EthTsync模块在AUTOSAR模块中的层级关系,以太网时间同步原理,与EEE802.1AS定义的gPTP时间同步协议的关系,以及针对AUTOSAR模块中定义的PTP
    发表于 05-08 10:09 1012次阅读
    <b class='flag-5'>车载</b>以太网时间<b class='flag-5'>同步</b>之EthTsync技术解析

    车载以太网时间同步AUTOSAR层级关系

    小T讲到EthDriver一般都具备硬件时间戳特性,该特性便是车载以太网实现时间同步的一个关键前提,在AUTOSAR标准规范中,EthTsync模块就是用来实现基于车载以太网的时间同步
    的头像 发表于 07-24 10:24 888次阅读
    <b class='flag-5'>车载</b>以太网时间<b class='flag-5'>同步</b>AUTOSAR层级关系

    EthTsync模块时间同步协议gPTP拓扑结构

    内容的差异也会指出区别与联系。 本节将会从如下几个方面针对EthTsync模块时间同步协议介绍gPTP拓扑结构:
    的头像 发表于 07-24 10:26 1114次阅读
    EthTsync模块时间<b class='flag-5'>同步</b>协议<b class='flag-5'>gPTP</b>拓扑结构

    gPTP时间同步流程介绍

    gPTP时间同步流程 gPTP时间同步流程可以按照如下先后顺序来进行,彼此之间存在依赖关系: 最佳主时钟选择原理 在gPTP时间
    的头像 发表于 07-24 10:31 3008次阅读
    <b class='flag-5'>gPTP</b>时间<b class='flag-5'>同步</b>流程<b class='flag-5'>介绍</b>

    车载AUTOSAR中gPTP协议介绍

    AUTOSAR中gPTP协议介绍 相比IEEE802.1AS规范中定义的gPTP协议,AUTOSAR组织结合车载网络应用场景针对其部分内容也做了进一步限制与约束,以便能够更加灵活应用,
    的头像 发表于 07-24 10:39 1993次阅读
    <b class='flag-5'>车载</b>AUTOSAR中<b class='flag-5'>gPTP</b>协议<b class='flag-5'>介绍</b>

    车载以太网时间同步Time Slave行为

    Time Slave行为 在gPTP网络中作为Time Slave的节点存在着如下报文处理流程: 如果EthTSynHardwareTimestampSupport设置成TRUE
    的头像 发表于 07-24 10:53 730次阅读
    <b class='flag-5'>车载</b>以太网时间<b class='flag-5'>同步</b>Time Slave行为

    智能网联汽车对“时间同步”的总结

    CAN报文播发和gptp报文播发功能通常分别由MCU和MPU承接。MCU和MPU之间需要实现有效的时间同步,以保证通过不同通道播发的时间数据是一致的。
    的头像 发表于 08-29 11:25 1109次阅读
    智能网联汽车对“时间<b class='flag-5'>同步</b>”的总结

    车载时间融合与utc同步

    时间融合和使用 对于整车来说,Tsync模块需要将整车所有vehicle time和utc同步好,对于用户来说,开发者最好提供获取vehicle time和utc时间的接口,用户无需要关注时钟同步
    的头像 发表于 10-27 14:47 837次阅读
    <b class='flag-5'>车载</b>时间融合与utc<b class='flag-5'>同步</b>