分析了40个BUG后对“时间同步”的总结

汽车ECU开发 2023-09-13 08:55

外部授时的应用背景


智能网联汽车需要与车外系统进行信息交互。


车外系统的交互包括诸如车端向TSP的事件上报、信号上报;远控事件,车端与云端、手机端之间的信息交互;安全证书的有效期认证;蓝牙钥匙的使用期间授权;V2V之间交互;V2I之间交互等等。


广义上,车内HMI大屏显示的时间也算是车端与外部乘员系统的信息交互。


在进行信息交互时,车端的时钟系统与需要与车外的时钟系统对齐基准时间,也即遵循相同的时钟体系,以便在时间维度定位事件。



外部授时的场景


在某些初始场景,如整车断KL30电后上电,或整车深休眠->唤醒,车内的基准时钟会紊乱,维护为一个错误的起始时间。比如常见的1970/1/1 0:00:00。


这个时候就需要由外界的时间源给车端的时钟进行授时。



外部时钟源


车端通常使用的外界授时时钟源包括:GNSS原子时、NTP时间、TSP时间、NITZ时间。


GPS原子时是通过GPS卫星播发的原子时,通常视为最高精度时间源,具有最高的授时优先级;车端需要具备GPS接收机,通过GPS接收机接收到GPS信号以解算出该原子时。


NTP时间是由NTP服务端提供的网络时间;精度次于GPS原子时间,且其时钟稳定性依赖于所使用的NTP服务器的稳定性。车端需要能够通过蜂窝网络访问NTP服务器以获取到NTP时间;


NITZ为基站所提供的时间;精度次于NTP时间。车端需要具备蜂窝通信模组与基站进行空口交互以获取该时间;


TSP时间为车企自行维护平台的时间,其时间源多为NTP时间,所以本质是NTP时间。


除外部授时源外,车端自身通常使用RTC芯片在浅休眠->唤醒时用于恢复时间。



举个例子说明外部授时


车端的外部授时,可以类比这样的场景。


一个人喝断片了,然后被关在小黑屋里睡觉。小黑屋里没有钟表。


这个人睡醒后,不知道今夕是何年何月何日 几时几分几秒。


他怎么才能知道现在的真实时间呢?


他可以选择拿起座机电话(是的屋子里有个座机电话,视为接受外部授时的通道)给一个他信得过的人打电话,实时获知当下的时间。


于是就完成了来自外部的授时。



时间维持


这个人得知了真实时间,他可以选择一直不挂断电话,一直问询电话对端当下的真实时间,以便于维持小黑屋里的时钟系统。


他还有另外一种选择,就是自己维持时间的递增。


比如,这个人找到了个有电的秒表(是的屋子里有个秒表,作为维持时相对时间的工具),于是他记下当下的时间后,然后开始启动该秒表。


这个时候他就可以挂断电话了,因为如果想知道当下的时间,只要用 他记录的那个时间 + 秒表显示已经走的秒数,即可计算得到当下的时刻。




车内域间时间同步 


车内系统与车外系统需要对齐时间。车内各域控之间也需要对齐时间。


车内各域控制器独立分布,域控之间通过以太网、CANFD等实体总线进行联结和通信。各域控都有自己的一个时钟,且在上电运行时,都有精准维持自己时钟的能力,用于域内交互时对信号事件等标注上相应的时间戳。


可以想象下各个域控系统都有自己的一块手表,每块表都是相对比较精确地逐秒累加时间;但在同一时刻,各个系统的手表报的是不同的时间值。


在对每个信号事件标注时间戳的时候,同一时刻的时间戳是凌乱的,这样跨域间对时间敏感的业务无法正常运行,无法通过多域各自打印的日志分析排查问题。


所以车内每个域控都需要对齐时钟,也即统一时间基准。


由于获取外部时间需要诸如蜂窝通讯、GPS信号接收能力等,所以不是每个域控都会与外界授时源交互获取授时。


车端通常会选取一个主时钟,用于与外界时钟系统进行时间的对齐,也即外部授时。再由被外部可靠时钟源授时后的主时钟对域内各控制器进行车内的时间同步。



举个例子,说明车内域间时间同步


还是被关小黑屋的那个人A。


他发现屋里还有另一部电话。拿起来拨打后对方接了起来。原来是他另一个一起喝断片的朋友B,现在被关在了另一个小黑屋里。


这个B的小黑屋里没有外线电话,只有3部内线电话,一部是通朋友A,另外2部分别通另外两个一起吃饭喝断片的朋友C和D。


C和D分别只有一部内线电话,拿起来只能和B通话。结构如下这种:

注:一起喝断片的ABCD



外面的世界,即外部UTC时间系统


小黑屋们,即失去了正确时间基准的车内时间系统


外线电话,即可获得外部授时的能力通道


内线电话,即车内域间时间同步的能力通道


A房间,有外线+内线电话,即车内的主时钟


B房间,可以与多个房间进行通话,不同房间之间无法直接通话,即B房间为域内的网关域控


C房间和D房间,分别对应 车内的非主时钟、非网关的域控



A通过和B的内线电话告诉了B当前的时刻,B知道后,拿起和C、D两人小黑屋连线的内线电话,告知C、D当前的时间。


经过这番操作,ABCD四人完成了粗糙的时间同步。(之所以粗糙是因为未消除传输延时)。



车内域间时间同步故障来源 


由上图可知,末端域控节点获取同步时间的链路存在多个环节。某时间同步系统的下游节点出现错误时间(域控时间与UTC时间存在偏差),可能的原因很多,并非完全是主时钟时间源错误所致。


比如可能的原因有:


  1. 主时钟时间源错误

    1. 系统功能设计失效

    2. 硬件异常故障

    3. 软件基础库异常故障

    4. 授时时间源时间异常

    5. 车辆出现过异常工况 (如断kl30) && 无蜂窝网络无法获得ntp时间 && 封闭空间无法获得GNSS授时(此看似极端场景在研发阶段经常出现)

    6. 报文播发异常

  2. 网关转发异常

    1. 主时钟节点-网关节点物理链路/协议链路异常

    2. 网关转发报文异常

    3. 网关处理时间报文逻辑异常

  3. 下游节点接收异常

    1. 网关节点-下游节点物理链路/协议链路异常

    2. 下游节点接收报文异常

    3. 下游节点处理时间报文逻辑异常

    4. 下游节点应用层获取时间报文链路异常

    5. 下游节点应用层展示时间处理逻辑异常


作为主时钟的功能owner,比较头疼的是但凡下游节点出现时间显示异常的现象,就被按头分析。有些时候是主时钟问题,有些是下游逻辑或链路问题,有些时候是使用场景问题。


断电断网在地库,喊破喉咙也没有人来授时。


这也是我写这篇文章的初衷,希望更多的汽车工程师了解时间同步的大致逻辑,以便更好地识别问题。


车内时间同步的环节


在智能网联汽车上,时间同步这个业务包括如下环节:


  1. 整体

    a. 外部不同时间源授时:授时能力、优先级仲裁

    b. 域间时间同步:同步通道CAN、gPtp等

    c. 不同业务对不同时间源的选取及使用逻辑

  2. 主时钟

    a. 接受多源授时能力

    b. 多源使用逻辑

    c. 多板板间的时间同步

    d. 板上的时间维持

    e. 特殊电源模式下时间恢复机制

    f. CAN、gPtp报文播发



下面选取一些主要环节进行说明。



整车层面,不同业务对不同时间源的选用逻辑 


通常的设计方案,整车各域控使用相同的时间源。也即,各域控上的各个业务使用相同的时间基准,共源。


该共源时间源的最高优先级通常指定的是 最高精度的GPS原子时间。只要满足GPS时间获取的条件,就更新时间源为GPS时间。


也有部分OEM根据实际业务需要,选择TSP的时间作为时钟源。


选用TSP的时间是由于车端大部分与外部系统进行交互的时间敏感业务多需车端与TSP的时间对齐,如远控、车辆使用授权等。


TSP使用的时间源为NTP时间,精度不如GPS原子时间,但足以支撑业务。对于NTP服务器极小概率偶发崩溃等情况的应对,践行的是“要错一起错”的准则。


选用不同时间源的根本目的,是为了实现不同业务 向不同对端时间系统的对齐。


有的业务更倾向于对齐TSP时间,有的业务更倾向对齐GPS时间。所以可以考虑多源授时,多源同步的方案。



不同时间源切换所带来的时间跳变 


不同时间源进行切换可能会带来毫秒级乃至秒级的跳变。对于从特殊工况中完成首次被授时的时间恢复,可能出现非常大幅度的跳变。


跳变可能向已经发生过的时间跳变,也可能向尚未发生的时间跳变。


回跳是个比较令人头疼的场景。会导致产生数据顺序上报、记录类的业务出现相同时间戳的不同日志;对于一些有严格时序要求的业务,会造成功能失效的情况。


所以在设计功能逻辑时,对于时序有严格要求的业务需要使用单调时钟(系统滴答)以保证时间不会会跳,避免使用墙上时钟以免出现回跳导致的失效。




gPTP机制 


下面大致介绍下基于gPTP(IEEE802.1AS)总线的同步机制。


gPTP是一种基于以太网总线的标准的时间同步机制。运行在MAC层,距离物理层近可以减少运行在上层所引起的延时及不确定性,减少传输时延。gptp可以实现各域节点之间ns级别的时间同步。


在gPTP域内,需要指定一个gptp节点作为主时钟(Master),其他gptp节点作为从时钟(Slave)。主时钟通过播发gptp报文的方式实现对其他从时钟节点的时间同步。


提到gPTP就少不了提到PTP。gPTP是基于PTP协议的衍生强化版,两种协议适用不同的硬件环境及用途。


PTP与gptp协议的区别。


面向工程人员的区别主要体现在报文发送内容、报文发送顺序存在区别,gptp比ptp多了delay_resp_follow_up的报文,抓包需要参考不同协议进行分析理解。


原理上的区别是gPTP增加测量了主从端口的时钟频率的偏差,即增加了时钟频率换算系数的计算,而PTP的报文交互未见此环节。


PTP与gPTP的区别详见:https://blog.csdn.net/weixin_43408952/article/details/125082433。


gPTP协议的报文流程交互相比于PTP更为复杂,报文的交互逻辑,具体可查看张大侠专栏:https://zhuanlan.zhihu.com/p/101003490。写的很清楚。



PTP 的钟差以及时延测量逻辑 


此处以PTP协议报文的发送内容来理解主从之间clockoffset和pathdelay的测量方法。


PTP时间同步有两个前提。一是主从分别有自己维护的时钟系统,且可准确实现相同时间步长的时钟自增;二是从时钟聪明地知道传输过程有时延,且默认双向时延相同。


报文发送流程图示意如下:


具体的交互逻辑及意图描述如下:


1.起始,主从时钟各自维护自己的时间基准;

2. t1时刻主时钟向从时钟播发sync报文,通知进行同步;从时钟在t2时刻接收到该sync报文指令;


3. 主时钟随后播发follow_up报文,报文payload中携带上一条sync播发对应的主时钟时刻;


4. 基于前述步骤,从时钟可知,在自己接收到sync报文的时刻所对应的主时钟的时刻;仅通过这两个时刻无法获知主从时钟之间的时钟差(clockoffset),因为该时间差包含了主->从的传输延迟(pathdelay)。


因此下一步即从时钟需要探测pathdelay是多少。


5. 在一定时长后(这里举例5 min,实际为ms级),在t3时刻,从时钟向主时钟发送探测pathdelay的delay_req请求;


6. 主时钟在 t4 时刻接收到从时钟发送的delay_req请求,然后发送响应报文delay_resp。该报文的payload携带了t4这个时刻;


7. 通过上述两步骤,t3 和 t4 这两个时间差包含了 主从之间的时钟差及从->主的传输延迟 pathdelay;


8. 此处默认 主->从 和 从->主 的链路传输延迟是相同的。


9. 从时钟基于上述的t1-4数据,可计算得到与主时钟之间的clockoffset 以及 主从之间的传输延迟pathdelay。


clockoffset用于从时钟的系统时钟校准,pathdelay用于以太网switch转发数据包时的时间差补足。


PTP机制的拟人化理解





接下来介绍下作为主时钟域控实现域内板间时间同步。



板间同步的必要性


主时钟需要具备多种对外播发时间同步数据的通道。介质多为CAN 和以太网,报文分别为CAN报文和GPTP报文。


CAN总线时间同步采用 Autosar的TimeSync协议机制。以太网总线时间同步采用GPTP协议机制。


CAN总线和以太网总线两条时间同步通道并行,一是互为灾备冗余,二是面向不同总线节点。


但不论通过哪条总线对外播发时间同步的消息,主时钟播发的CAN报文和gptp报文上的payload时间数据体都应该是相同的。


CAN报文播发和gptp报文播发功能通常分别由MCU和MPU承接。MCU和MPU之间需要实现有效的时间同步,以保证通过不同通道播发的时间数据是一致的。


板间同步的困难点 


在异常场景时间恢复时,由于MCU的快速启动及低功耗等特性,多使用MCU上挂接的RTC用于MCU系统的时间恢复。


MPU侧多用于承接外部授时源的授时。但在初始场景,MPU侧通常是需要从MCU侧快速获取时间,并基于当前场景形成判断逻辑确认进入哪一种授时源的授时,以避免多次低优先级的授时源授时而引起多次跳变。


MPU完成外部授时后,需要对MCU侧再进行时间校准以消除MCU RTC恢复MCU系统时间所引起的与MPU系统时间之间的误差。


MCU与MPU之间的时间同步存在系统延迟误差。该误差可能固定可测量出具体数值用于标定补偿,也可能随机不可测不可标定。


实车的使用工况还包含KL30断电冷启MCU RTC时间丢失、地库内无GNSS信号无法获取GPS时间、无蜂窝网络无法获取NTP授时等各种场景,还需要考虑读取RTC失败等偶发电器故障等。


所以主时钟域内的板上及板间 时间恢复、时间同步与反向同步、时间有效性判断、时间维持、外部授时源缺失、休眠期间时间维持、休眠时间写入等,都是需要考虑和设计。


一句话总结即是 MCU和MPU之间的时间同步逻辑非常复杂。是我迄今经手过的烧脑排行前几的系统功能方案。


本想稍微展开写一点,但一展开就写的不只一点了。就变成系统功能规范了。所以就先到这了。


以上即是我对时间同步的理解。存在偏颇之处烦请专家指正。



end

分享不易,恳请点个【👍】和【在看】

汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论 (0)
  •   北京华盛恒辉机场保障能力评估系统软件深度解析   在航空运输业快速发展的背景下,机场保障任务愈发复杂,传统人工评估方式已无法满足高效精准的管理需求。机场保障能力评估系统软件作为提升机场运行效率、保障飞行安全的关键工具,其重要性日益凸显。   应用案例   目前,已有多个机场保障能力评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润机场保障能力评估系统。这些成功案例为机场保障能力评估系统的推广和应用提供了有力支持。   一、系统功能模块   数据采集与整合模块  
    华盛恒辉l58ll334744 2025-04-22 10:28 62浏览
  • 职场烂摊子,每个人都难免遇上如果你在职场待久了,总会碰到一些让人无奈的情况:比如刚接手的项目混乱不堪、前任同事留下的任务一团乱麻,甚至有时因为自己的疏忽造成麻烦。面对这种烂摊子,烦躁、焦虑、甚至怀疑人生的情绪都会扑面而来。但如果你冷静想想,会发现真正消耗你的,往往不是工作本身,而是持续不断的心理内耗。那么问题来了,如何摆脱内耗,快速有效地“自救”?摆脱内耗,从情绪中抽离我曾经历过一个典型的职场烂摊子:前任项目负责人突然辞职,项目资料缺失严重,进度远远落后,客户抱怨不断。当时接手后的第一反应就是慌
    优思学院 2025-04-21 18:21 40浏览
  • 近期,金融界消息称,江西万年芯微电子有限公司申请一项名为“基于预真空腔体注塑的芯片塑封方法及芯片”的专利。此项创新工艺的申请,标志着万年芯在高端芯片封装领域取得重要突破,为半导体产业链提升注入了新动能。专利摘要显示,本发明公开了一种基于预真空腔体注塑的芯片塑封方法,方法包括将待塑封的大尺寸芯片平铺于下模盒腔体内的基板并将大尺寸芯片的背向表面直接放置于基板上以进行基板吸附;将上模盒盖合于下模盒形成塑封腔,根据基板将塑封腔分为上型腔以及下型腔;将下型腔内壁与大尺寸芯片间的空隙进行树脂填充;通过设置于
    万年芯 2025-04-22 13:28 37浏览
  • 引言:老龄化社会的健康守护需求随着全球老龄化进程加速,老年人的健康管理与生活质量成为社会焦点。记忆衰退、用药混乱、日程遗漏等问题频发,催生了智能健康设备的市场需求。WTR096录音语音芯片,凭借其高度集成的录放音、计时时钟与计划管理功能,为老年人量身打造了一站式健康管理方案,重新定义智能语音时钟的价值。功能亮点:1. 用药安全守护:多维度提醒,拒绝遗忘多时段精准提醒:支持一天内设置多个用药时间(如早、中、晚),适配复杂用药需求。个性化语音定制:家属可录制专属提醒语音(如“上午9点,请服用降压药”
    广州唯创电子 2025-04-22 08:41 80浏览
  •   有效数据智能分拣系统详解   北京华盛恒辉有效数据智能分拣系统融合人工智能、大数据分析与机器学习等前沿技术,实现海量数据自动化分类、筛选、整理及分配。凭借强大的数据处理效能,助力企业精准提取关键信息,优化决策流程,提升运营效率。以下从系统架构、核心功能、技术特性、应用场景及发展趋势展开解读。   应用案例   目前,已有多个有效数据智能分拣系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润有效数据智能分拣系统。这些成功案例为有效数据智能分拣系统的推广和应用提供了有力支持。
    华盛恒辉l58ll334744 2025-04-21 16:46 113浏览
  •   有效数据智能分拣系统平台深度解析   一、系统概述   北京华盛恒辉有效数据智能分拣系统平台融合人工智能、机器视觉、物联网及大数据分析技术,为物流包裹、数据信息等提供高效精准的智能化分拣处理方案。通过自动化设备与智能算法协同运作,取代传统人工分拣模式,显著提升分拣效率、降低错误率,满足电商、快递及供应链不断增长的业务需求。   应用案例   目前,已有多个有效数据智能分拣系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润有效数据智能分拣系统。这些成功案例为有效数据智能分
    华盛恒辉l58ll334744 2025-04-21 16:22 131浏览
  • 在消费金融的赛道上,马上消费曾是备受瞩目的明星企业。自2015年成立以来,它以年均 30% 的净利润增速一路狂奔,成为持牌消费金融公司的标杆,2023年更是斩获19.82亿元净利润,风光无限。然而,2024年却成了马上消费的一道分水岭。2024年上半年,其营收为77.38亿元,同比下降2.11%;净利润更是同比骤降20.66%,仅为10.68亿元,创下历史最大跌幅 。与此同时,不良贷款率攀升至2.5%,不良余额高达16.54亿元,核心资本充足率降至12.72%,融资
    用户1742991715177 2025-04-21 21:29 85浏览
  • 据国际精益六西格玛研究所(ILSSI)成员大卫·哈钦斯(David Hutchins)的回忆,在“六西格玛”名称出现前,摩托罗拉组建了约100个质量改进团队,接受朱兰博士制作的16盘录像带培训,名为《朱兰论质量改进》(Juran on Quality Improvement),为了推广这种严谨的分析方法(朱兰博士视频中的核心内容),摩托罗拉前首席执行官鲍勃·加尔文创造了“六西格玛”这一标签,用以表彰这种“最顶尖"的方法。大卫·哈钦斯(David Hutchins)是朱兰博士的好友,也为他的工作做
    优思学院 2025-04-22 12:03 41浏览
  • 导读在当今快速发展的智能通讯领域,时间敏感网络(TSN)已成为确保网络通信高可靠性和低延迟的关键技术。IEEE 802.1 Qci作为TSN的一个重要组成部分,提供了一套强大的机制来管理网络流量,确保关键数据流的优先级和带宽得到保障。本文将深入探讨IEEE 802.1 Qci协议的基本概念、工作原理以及虹科提供的Qci解决方案,帮您理解如何通过精确的流量控制来提升网络的稳定性和效率。虹科TSN解决方案01# 技术简介时间敏感网络(TSN)通过IEEE 802.1 Qci标准定义了一种关
    虹科工业智能互联 2025-04-21 16:17 94浏览
  •   北京华盛恒辉基于GIS的电磁态势可视化系统软件是将地理空间信息与电磁态势数据相结合,通过图形化手段直观展示电磁环境态势的系统。这类软件在军事、通信、无线电管理等领域具有广泛应用,能够辅助用户进行电磁频谱分析、干扰监测、态势研判和决策支持。以下是关于此类系统的详细介绍:   应用案例   目前,已有多个电磁态势可视化系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁态势可视化系统。这些成功案例为电磁态势可视化系统的推广和应用提供了有力支持。   一、系统功能   电磁
    华盛恒辉l58ll334744 2025-04-22 11:44 57浏览
  • 引言:工业安全与智能化需求的双重驱动在工业安全、环境保护及家庭安防领域,气体泄漏引发的安全事故始终是重大隐患。随着传感器技术、物联网及语音交互的快速发展,气体检测报警器正朝着智能化、低成本、高可靠的方向演进。WT588F02B-8S语音芯片,以“离在线语音更换+多协议通信”为核心优势,为气体检测报警器提供了一套高效、灵活的低成本语音解决方案,助力开发者快速响应市场需求。产品功能与市场需求1. 核心功能:从监测到预警的全流程覆盖实时气体监测:支持一氧化碳、臭氧、硫化氢等多种气体浓度检测,精度可达p
    广州唯创电子 2025-04-22 09:14 56浏览
  • 在汽车行业的变革浪潮中,智界汽车的诞生备受瞩目。作为华为与奇瑞两大巨头携手合作的结晶,智界汽车自孕育之初便承载着众人的期待,被视为融合前沿科技与卓越制造的典范,有望在竞争激烈的新能源汽车市场中开辟出一片新天地。2024年,智界品牌首款车型智界S7正式上市,凭借华为的技术赋能,如先进的鸿蒙智能座舱、强大的HUAWEI ADS高阶智能驾驶辅助系统,以及奇瑞多年积累的深厚造车底蕴,在上市前赚足了眼球。智界S7的亮相,犹如一颗投入平静湖面的石子,激起了层层涟漪,消费者对其充满了好奇与期待,行业内也纷纷将
    用户1742991715177 2025-04-21 20:28 67浏览
  • 4 月 19 日,“增长无界・智领未来” 第十六届牛商大会暨电子商务十大牛商成果报告会在深圳凤凰大厦盛大举行。河南业之峰科技股份有限公司总经理段利强——誉峰变频器强哥凭借在变频器领域的卓越成就,荣膺第十六届电子商务十大牛商,携誉峰变频器品牌惊艳亮相,以十几年如一日的深耕与创新,书写着行业传奇。图 1:誉峰变频器强哥在牛商大会领奖现场,荣耀时刻定格牛商大会现场,誉峰变频器强哥接受了多家媒体的专访。面对镜头,他从容分享了自己在变频器行业二十年的奋斗历程与心路感悟。谈及全域营销战略的成功,誉峰变频器强
    电子与消费 2025-04-22 13:22 44浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦