如何理解车载以太网之时间同步协议gPTP

网络架构评论2字数 2646阅读模式
线束工程师必备资料包

为了传输更高带宽的音视频流并且满足汽车内低延迟、高可靠性传输的要求,IEEE 802.1音视频桥接(Audio Video Bridging, AVB)工作组定义了一种基于一套独立于TCP/IP协议族的通信协议的实现方法。涉及到的协议大体如下:

IEEE802.1Qat,流预留协议(StreamReservation Protocol, SRP),为特定的数据流预留带宽的标准;文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

IEEE802.1Qav,时间敏感流的转发和排队规则(Forwarding and Queuing for Time-Sensitive Streams, FQTSS),流量整形的标准,可保证带宽和QoS的延迟参数。文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

以及其他的上层通信方案:文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

IEEE1722,音视频桥接传输协议(Audio/VideoBridging Transport Protocol, AVBTP)文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

IEEE 1733,实时传输协议(Real-timeTransport Protocol, RTP);文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

IEEE802.1AS, 广义精确时钟协议(GeneralizedPrecision Time Protocol, gPTP),确保收发的终端之间严格时间同步的标准。文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

本文将对gPTP协议进行简单介绍和分析。文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

gPTP的用途是将车载网络中各个节点的时钟进行同步,因为各个节点的时钟都是互相独立运行的,而有些应用需要各个节点步调一致地执行。比如播放音频和视频的任务可能在不同的节点上实现,那么这两个设备必须要有相同的时钟基准,否则可能出现画面和声音对不上的情况。时钟同步本质上就是各方对一下表。文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

gPTP是基于主从关系的,也就是说,一个局部网络中的所有节点以master的时钟为基准,将自己的本地时钟与master的时钟进行同步。下面是个简单的示意图,需要注意的是,时钟同步是层层递进式的,slave也可以作为下一层网络的master。文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

如何理解车载以太网之时间同步协议gPTPgPTP协议位于OSI模型的层2之上,可以依赖于以太网传输。gPTP报文利用以太网传输时,MAC报文头中的Ethertype = 0x88F7。文章源自线束工程师之家-https://www.suncve.com/ruhelijiechezaiyitaiwangzhishijiantongbuxieyigptp/

gPTP报文由3部分组成:

  1. Header (对所有gPTP都一样)
  2. Body (取决于gPTP 报文类型)
  3. TLV(type lengthvalue)

其中header是所有类型的gPTP报文都有的,它有34个字节,结构如下图所示:

如何理解车载以太网之时间同步协议gPTP

gPTP报文头

报文头中的message Type标识了gPTP报文的类型,类型取值范围如下图所示:

如何理解车载以太网之时间同步协议gPTP

gPTP报文类型

接下来对gPTP协议的具体任务和实现流程的介绍中将涉及到上图中的报文类型。

gPTP要完成的主要任务包括:

1.选择最佳主时钟

2.频率同步

3.时间同步

4.延迟时间测量

选择最佳主时钟:

gPTP的主时钟选择机制是“最佳主时钟算法(BMCA)”。选择算法启动时,所有可以成为主时钟的端点都会参与竞争。要启动BMCA算法,所有端点都通过发送Announce报文来宣告自己的能力。各个端点比较自己与其他端点的相关字段值,胜出者作为主时钟端点。但车辆是一个封闭的网络,不会出现节点总变化的情况,所以车载应用中,主时钟往往都是固定的,比如网关。

频率同步:

网络中各个节点的时钟的频率并不总是完全一致。比如,在实际为100秒的时间段时间,A节点的时钟可能计时为90秒,B节点的时钟可能计时为110秒(实际中不可能出现如此大的偏差,但偏差总是有的,这里只是举例说明)。所以gPTP Slave的时钟频率需要与Master相匹配。频率同步的实现方式如下图所示:

如何理解车载以太网之时间同步协议gPTP

频率同步的实现方式

在实际的gPTP通信中,master会不停地发送Sync和Follow-up,slave能够测量出自己收到Sync报文的时间,即上图中的T2和T4(这个时间是以slave的本地时钟为基准的)。在每个sync报文之后,master都会发送一个follow-up报文,用来告诉slave自己发送上一条sync报文时的时间戳(以master的本地时钟为基准)。

没有follow-up报文的话,slave无法知道Sync报文的实际发送时间,即上图中的T1和T3。所以sync和follow-up总是成对出现的。有了T1、T3和T2、T4,slave就能够计算出自己的时钟频率与master之间的偏差,计算式如下图所示:

如何理解车载以太网之时间同步协议gPTP

延迟时间测量:

为了将自己的时钟与master同步,slave必须测量出自己与master之间报文传递的延迟时间。时延测量使用到的上文中提到的PDelay_Req、PDelay_Resp和PDelay_Resp_Followup三种gPTP报文。具体的测量方式如下图所示:

如何理解车载以太网之时间同步协议gPTP

延迟时间测量

1.首先slave发送PDelay_Req报文,请求测量延迟时间;

2.PDelay_Req报文离开物理层时,slave利用本地时钟获得T1时间戳;

3.PDelay_Req报文到达应答方物理层,master利用本地时钟获得T2时间戳;

4.master生成一个PDelay_Resp报文并发送,将T2时间戳带给slave;

5.slave利用本地时钟可以捕获收到PDelay_Resp时的时间戳T4;

6.然后master会发送PDelay_Resp_Followup报文将T3带给slave;

这样slave就知道T1,T2,T3,T4这四个时间戳了,然后利用如下算式计算延迟时间:

如何理解车载以太网之时间同步协议gPTP

计算延迟时间

其中R是在上节中提到的计算出的slave与master之间时钟频率的偏差。这种计算方法中,认为信道是对称的,即报文从slave到master和从master到slave所经历的延时是一样的。

时间同步:

根据上文计算出延迟时间和频率差异之后,slave就可以利用master不断发送的sync和follow_up报文将自己的时钟与master进行同步了。

具体的同步方式如下图所示:

如何理解车载以太网之时间同步协议gPTP

将slave的时钟与master同步

计算式如下所示:

如何理解车载以太网之时间同步协议gPTP

在上述计算式中,Tb是slave在某时刻的本地时间戳,Ta是该时刻master上的本地时间戳。同步的目的,就是根据Tb可以推算出Ta的值。在这个计算式中,slave通过sync和follow_up报文获得T1和T2,delay和R在之前的延迟时间和频率差异计算中已经获得。所以,slave能够根据本地时间戳Tb计算出master上的时间戳Ta,时间同步就实现了。

以上是我对gPTP协议的粗浅理解,抛砖引玉,如有疏漏,还请指正。

推荐阅读:

一文搞懂CAN总线的AUTOSAR网络管理

CAN总线基础,网络架构学习精品读物

线束设计课程

weinxin
我的微信
立即关注公众号线束工程师:
1、免费领取线束设计资料包(资源); 2、进入线束技术交流专家群(进群);3、免费获取发布求职招聘信息。
线束工程师进群
 
聊聊汽车以太网的互连要求 产品开发

聊聊汽车以太网的互连要求

汽车以太网互连解决方案需要小型化、轻量化、模块化,针对高速汽车系统进行优化,并与自动化装配流程兼容。连接性、自动驾驶和电气化,这三大全球大趋势,正在将汽车转变为终极智能设备。汽车以太网连接扩展到整个车...
车载以太网自学笔记 网络架构

车载以太网自学笔记

车载以太网是一种连接车内电子单元的新型局域网技术,本文线束工程师之家主要分享下车载以太网的学习笔记。 一、技术简介 1.1名词解释 车载以太网是一种连接车内电子单元的新型局域网技术,在单对非屏蔽双绞线...
车载以太网技术发展与测试方法 网络架构

车载以太网技术发展与测试方法

近年来,随着汽车技术的发展,汽车电子产品数量逐年增加,复杂性日益提高,车内IC增长率已超越所有其他的电子领域。现在,越来越多的汽车需要配备高级驾驶辅助系统 (ADAS)、车载信息娱乐系统(IVI),大...
线束工程师必备资料包

发表评论