为什么需要时间同步,时间同步解决什么问题

谈思实验室 2023-11-22 18:06

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯


1.为什么需要时间同步,时间同步解决什么问题

  • 时间同步技术就是为了解决精确获取传感器采样时间的,在以太网、CAN、Flexray总线上都有相应的实现。


  • 时间同步信息以广播的形式从Master(TM)节点发送至各Slave节点(TS),或者通过时间网关将时间同步信息同步至其他子网络,用于解决各ECU因硬件时钟信号偏差、总线仲裁、总线传输、软件处理等原因带来的时间延迟。


  • 对于自动驾驶而言,通常需要摄像头、毫米波雷达、超声波雷达、激光雷达等传感器,而这些传感器的精确的数据采集时间是及其重要的,因为这些数据是感知和决策规划的输入。如果输入数据的时间不同步,可能会引起决策规划出错误的动作,导致车辆做出危险的动作。


  • 汽车上的各个ECU基本都是实时性非常强的控制器,在关联ECU之间或ECU内部各个软件模块之间通常需要在大致同步的时间节拍上运行,特别是在某些高速场景,些微时间的偏差可能引发的后果是灾难性的


  • 以ADAS系统为例,感知模块检测到一个障碍物,控制决策模块需要知道这个障碍物是在什么时间检测到的,以此作出响应。如果感知模块和控制模块都在一个控制器内还好,延时不会很大,若是分布在不同的控制器中,感知模块发送的障碍物信息携带的时间戳与实际检测到的时间偏差太大,那么等控制模块作出响应时,可能汽车已经撞到障碍物上了。所以,时间同步显得尤为重要,各个ECU之间要有一个一致的时钟Global Time (GT)来提供相对准确、精度足够的绝对时间值,并且将此时间同步到各个ECU。


2. IEEE1588 时间同步协议的理解

2.1 请求应答机制同步原理

主要过程分为四步:

(1)Sync,主时钟发出 sync 报文,并记录下 sync 报文离开主时钟的精确发送时间 T1;

(2)Follow_up,主时钟将精确发送时间 T1 封装到 Follow_up 报文中,发送给从时钟

(3)Delay_Req,从时钟向主时钟,发送Delay_Req报文,用于方向传输延时计算,并记录发送时刻T3,主时钟收到该报文后,记录接收时刻T4

(4)Delay_Resp,主时钟收到Delay_Req后,回复一个Delay_Resp的报文,将T4告诉从时钟。


以上的计算是基于主时钟和从时钟同步的场景,真实情况是主时钟和从时钟存在偏差,我们假设这个偏差为offset,即 T主-T从 = offset

在网络中,一般主-->从,从-->主 网络延时是一样;

T4 - T3 = delay - offset;

T2 - T 1 = delay+ offset;

因此传递的延时 :

delay = [(T2-T1) + (T4-T3)] / 2

由于offset存在,映射到从时钟 时间轴上计算offset:

offset = [(T2-T1) - (T4-T3)] / 2

2.2. 端延时机制同步原理

 所谓的端延时机制,是在请求响应延时的基础上,增加pdelay_resp和Pdelay_resp_follow_up的计算,主要是为了进一步考虑上游链路的延时;

进而得到delay:

delay = [(T4-T3) + (T6-T5)] / 2

进而得到offset:

offset = (T2-T1) - {[(T4-T3) + (T6-T5)] / 2}

3.全局时间软件模块(StbM,Synchronized Time-base Manager)

功能只有两个:

  • 同步各个软件模块实体

  • 提供绝对时间值



4.全局时间如何通过 CAN, FlexRay, ETH 来传播

从右下角就是硬件时钟,也是整个同步系统的基石。但是因为隔一段时间超过最大值后就会溢出,所以需要一个Software Counter来记录这种溢出,然后一起产生了一个虚拟本地时间 (Virtual Local Time). 这个时间就没有溢出和跳跃了,也就是说很平稳的表达时间的流逝

接下来是进行时间的矫正。接下来就可以产生一个同步的本地时间信号,之后就可以传递给其他的软件模块了。



5.StbM的Master 与 Slave 之间如何做时间同步

  • 时间主站通过时间同步消息将Global Time Bases分发到每个时域的连接时从站


  • Master 先基于本地时钟生成一个Global Time Base,根据这个Global Time Base会更新Master 的所有时间控制单元,之后打出时间戳,通过Message发出去


  • Slave 端接收到 Message后,解析出时间戳,放到 Local Time Base 里,之后 Slave 的 Local Time Base模块会基于Slave的时钟跟新一个新的时间到 Local Time Base 里,最后更新 Slave 的所有时间控制单元。



  • Slave 更新Local Time Base后传给SWC应用进行处理


6.基于AUTOSAR的CAN的时间同步机制(CANTSyn)

  • 第一步是TM发送SYNC信息,第二步是发送FUP(Timeadjustment message (Follow-Up),时间调整信息),第三步. 最后在Slave方,我们就可以计算出本地当下的同步时间值=(t3r-t2r)+t1r


  • TM节点在t0r时刻调用接口发送SYNC信号,SYNC信号中包含的时间信息为t0r,在t1r时刻SYNC信号发送完成,此时的时间为t1r。TS节点在t2r时刻接收到了SYNC信号


  • TM节点再次发送FUP信号,信号中包含的时间信息为t4r=t1r-(st0r),其中st0r=t1r-t0r,TS节点在t3r时刻接收到了FUP信号


  • 同步时间Time其实是时基【Time Base,秒s时间】和一个实时运行的32bit的定时器counter(TC)之和(会转换为纳秒ns时间);Time Master将Time Base传输至Time Slaves。


  • 在SYNC消息传输完成时,TM和TS同时捕捉存储各自的定时器counter计数值,分别记为Tx_Stamp和Rx_Stamp


  • TM计算传输时间M_TX = ns(T0r)+ ns(Tx_Stamp-T0rCounter),将counter转换为ns时间,然后开始传输FUP同步消息-包含ns时间TX;


  • TS接收到FUP消息时计算此时的实际同步时间 S_real = s(T0r) + M_TX + ns(TCs – Rx_Stamp),TCs为接收到FUP消息时刻的定时器counter值。



7.CAN的同步消息结构

SYNC 和 FUP 用一个 CAN-ID。

8.基于CAN的实际用法

  • 第一步,在SYNC报文中,塞入基于秒的时间,即所谓的t0r;


  • 第二步,在FUP报文中,塞入基于纳秒的时间,即所谓的t4r = t1r - t0r,此时从节点知道,发送方真实的发送时刻为 t1r ,即t0r秒t4r纳秒,这样 从节点就可以得到当前真实的时间,current_time = t0r + t4r + t3r-t2r【这里t3r,表示计算时刻,从节点本地的时间】


  • 在Slave收到SYNC的消息后,从 StbM_GetCurrentVirtualLocalTime 获取T2vlt时间,在收到FUP的消息后,从 StbM_GetCurrentVirtualLocalTime 获取T5vlt时间。


9.如何获取当前时间:时间矫正算法

  • 获取当前时间:

  • 时间的矫正过程,并不改变各个在本地的运行时钟,而是动态改变本地时钟的实体变量。

  • 时间纠正机制:Tv-Tvsync 保存从上次接收到的 Global Time 所经过的时间量。但它会受到本地硬件时钟漂移的影响。当从总线接收到新的 Global Time 时,Global Time 的 local instance 和接收到的 Global Time之间可能存在偏移。

  • Rate Devision:指时间在本地时基和全局时基实例中以不同的速率前进。例如,如果本地硬件参考时钟由由于制造公差和/或热效应而导致频率关闭的晶体驱动,则可能会发生这种偏差。

  • Time Offset:指时基的本地实例和全局时基没有精确同步。当本地硬件参考时钟的速率不准确并且与全局时基的同步受到抖动效应、软件延迟和计数器粒度的影响时,就会出现这种偏差。 

  • 因此,需要执行一种时间校正,如下图所示:

  • offset Correction :偏移校正校正绝对时间偏差(偏移)。根据偏移量的大小和 StbM 的配置,该校正可以通过跳跃校正或速率自适应来执行。偏移校正独立于速率校正。每次将时基的本地实例同步到其全球时基时都会执行此操作。

  • Rate Correction:Rate Correction 的工作原理不是为了让它以正确的速率前进而调整本地硬件参考时钟。相反,速率校正仅在读取时实时校正时基的本地实例的值。

  • rate Adaption :速率校正校正本地硬件参考时钟的速率偏差。这种校正是通过一个乘法校正因子来完成的,该因子在时钟的预配置速率之外使用。速率校正确定测量范围内的校正因子。然而,该校正因子不是固定的,而是在每次成功测量后更新。


  • Jump Correction 通过将偏移量添加到 Time Base 的本地实例(相当于接管 Global Time Base 的值),一步校正绝对时间偏移量。


版权声明:本文为CSDN博主「梅尔文.古」的原创文章

原文链接:https://blog.csdn.net/xiandang8023/article/details/127719288





码上报名

谈思实验室AutoSec智能汽车安全攻防实训课程,11月,上海

更多文章

智能网联汽车信息安全综述

华为蔡建永:智能网联汽车的数字安全和功能安全挑战与思考

汽车数据合规要点

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

车载以太网防火墙设计

SOA:整车架构下一代的升级方向

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员



谈思实验室 深入专注智能汽车网络安全与数据安全技术,专属汽车网络安全圈的头部学习交流平台和社区。平台定期会通过线上线下等形式进行一手干货内容输出,并依托丰富产业及专家资源,深化上下游供需对接,逐步壮大我国汽车安全文化及产业生态圈。
评论
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 66浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 117浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 124浏览
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 61浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 108浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 204浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 167浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 144浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 92浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 70浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦