1588的E2E链路延迟测量机制

本文深入解析1588标准中的E2E链路延迟测量机制,阐述了slave设备如何通过该机制与master设备进行时钟同步,包括时间偏差计算及时钟调整方法,对于理解网络时钟同步原理具有重要价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。

无用的前言

做1588已经很多年了,现在才开始想起来写一些技术文章。这是第一篇,希望能坚持写下去。1588标准的内容其实很多、很细,但终究是做网络时钟同步,所有方法和机制最终都是为计算出slave clock和master clock的时间偏差。所以想最快,最直观的了解1588是怎么同步网络中的时钟,那就应该看标准中最基本的E2E链路延迟测量机制,了解slave clock是如何通过该机制同步。

E2E链路延迟测量机制

直接上图,这是1588标准中,E2E链路延迟测量机制的原理图。E2E链路延迟测量机制也叫Delay request-response链路延迟测量机制。其实不难理解,两个网络设备要靠网络报文来交换时间信息完成时间同步,而这些网络报文的发送和接收都会记录对应的时间戳。可以是软件的时间戳,也可以是硬件的时间戳,如MAC时间戳或者PHY时间戳。
E2E链路延迟测量机制
进入正题,我们来看这个同步的过程。

  1. Master发送Sync报文,发送时间戳记为t1。
  2. Slave收到Sync报文,接收时间戳记为t2。
  3. Master发送完Sync报文后立即发送Follow_up报文,并把t1写在Follow_up报文上告诉slave。
  4. Slave发送Delay_req报文,发送时间戳记为t3。
  5. Master收到Delay_req报文,接收时间戳记为t4。立即回复Delay_resp报文,并把t4写在Delay_resp报文上告诉slave。

所以最终不管是master的时间戳t1和t4,还是slave的时间戳t2和t3,slave端都是知道的。那如何计算slave和master之间的时间偏差呢,我们直接给出下面等式,然后再具体分析。

t2 - t1 = delay + offset
t4 - t3 - delay - offset

其实Sync报文从发送到接收的过程,t2 - t1的时间差值不只包含了链路延迟,同时也包含了时间偏差。而Delay_req报文从发送到接收也是类似的,t4 - t3的时间差值不只包含了链路延迟,同时也包含了时间偏差。这两个时间偏差刚好是相反数。

有人可能会问,从master到slave的链路延迟,和从slave到master的链路延迟是一样的吗?重点来了,1588标准的核心假设,就是master和slave之间的链路延迟是对称的。如果有任何非对称延迟的引入,那计算的时间偏差就会引入误差。所以严格的说两个网络设备做1588同步,如果中间经过了路由器或者交换机等转发设备,而这些路由器或交换机并不支持1588协议的话,那就会引入非对称链路延迟,影响同步的精度。这些话题以后再慢慢介绍。

回归正题,总之这两个公式是可以算出来链路延迟,和时间偏差的。

2 * delay = (t4 - t3) + (t2 - t1)
2 * offset = (t2 - t1) - (t4 - t3)

Slave如何调整时钟

从1588标准的角度,介绍到计算出offset已经完事了。1588并不规定怎么调整slave的时钟和master同步。在这里我们做个知识扩展,1588协议软件通常会这么做,Slave如果计算出和master的时间偏差,并且发现这个时间偏差超出设定的一个阈值,比如1s,它就是直接重置clock的时间和master的时间值一样。

这样时间同步就完成了吗?并不是,因为重置clock的过程所有软件操作都是有延迟的,所以slave和master仍然时间会有偏差。而且这两个clock如果各自free running的话,时间漂移会越来越大。这个时候软件通常在重置slave clock之后,时间偏差小于设定阈值的情况下,用PI servo来不断补偿slave的频率,使得计算得到的时间偏差趋于一个最小的稳定的数值。感兴趣的同学可以私下了解下什么是PI控制。

无用的结束语

希望能坚持写。

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值