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

汽车电子与软件 2023-08-24 07:35

01、外部授时的应用背景


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

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

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

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


02、外部授时的场景

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

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


03、外部时钟源

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

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

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

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

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

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


04、举个例子说明外部授时

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

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

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

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

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

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


05、时间维持

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

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

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

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


06、车内域间时间同步 

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

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

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

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

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

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

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


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

还是被关小黑屋的那个人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四人完成了粗糙的时间同步。(之所以粗糙是因为未消除传输延时)。


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

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

比如可能的原因有:

  1. 主时钟时间源错误

    1. 系统功能设计失效

    2. 硬件异常故障

    3. 软件基础库异常故障

    4. 授时时间源时间异常

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

    6. 报文播发异常

  2. 网关转发异常

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

    2. 网关转发报文异常

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

  3. 下游节点接收异常

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

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

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

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

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


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

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

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


09、车内时间同步的环节

在智能网联汽车上,时间同步这个业务包括如下环节:
  1. 整体
    a. 外部不同时间源授时:授时能力、优先级仲裁
    b. 域间时间同步:同步通道CAN、gPtp等
    c. 不同业务对不同时间源的选取及使用逻辑
  2. 主时钟
    a. 接受多源授时能力
    b. 多源使用逻辑
    c. 多板板间的时间同步
    d. 板上的时间维持
    e. 特殊电源模式下时间恢复机制
    f. CAN、gPtp报文播发


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


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

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

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

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

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

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

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

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


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

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

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

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

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


12、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。写的很清楚。


13、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转发数据包时的时间差补足。


14、PTP机制的拟人化理解



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


15、板间同步的必要性

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

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

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

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

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


16、板间同步的困难点 

在异常场景时间恢复时,由于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-

添加微信”btighteast”加入微信交流群
(仅限专业人士,添加备注单位+姓名)
汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 文/Leon编辑/cc孙聪颖‍2023年,厨电行业在相对平稳的市场环境中迎来温和复苏,看似为行业增长积蓄势能。带着对市场向好的预期,2024 年初,老板电器副董事长兼总经理任富佳为企业定下双位数增长目标。然而现实与预期相悖,过去一年,这家老牌厨电企业不仅未能达成业绩目标,曾提出的“三年再造一个老板电器”愿景,也因市场下行压力面临落空风险。作为“企二代”管理者,任富佳在掌舵企业穿越市场周期的过程中,正面临着前所未有的挑战。4月29日,老板电器(002508.SZ)发布了2024年年度报告及2025
    华尔街科技眼 2025-04-30 12:40 131浏览
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 189浏览
  • 网约车,真的“饱和”了?近日,网约车市场的 “饱和” 话题再度引发热议。多地陆续发布网约车风险预警,提醒从业者谨慎入局,这背后究竟隐藏着怎样的市场现状呢?从数据来看,网约车市场的“过剩”现象已愈发明显。以东莞为例,截至2024年12月底,全市网约车数量超过5.77万辆,考取网约车驾驶员证的人数更是超过13.48万人。随着司机数量的不断攀升,订单量却未能同步增长,导致单车日均接单量和营收双双下降。2024年下半年,东莞网约出租车单车日均订单量约10.5单,而单车日均营收也不容乐
    用户1742991715177 2025-04-29 18:28 164浏览
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 147浏览
  • 一、智能家居的痛点与创新机遇随着城市化进程加速,现代家庭正面临两大核心挑战:情感陪伴缺失:超60%的双职工家庭存在“亲子陪伴真空期”,儿童独自居家场景增加;操作复杂度攀升:智能设备功能迭代导致用户学习成本陡增,超40%用户因操作困难放弃高阶功能。而WTR096-16S录音语音芯片方案,通过“语音交互+智能录音”双核驱动,不仅解决设备易用性问题,更构建起家庭成员间的全天候情感纽带。二、WTR096-16S方案的核心技术突破1. 高保真语音交互系统动态情绪语音库:支持8种语气模板(温柔提醒/紧急告警
    广州唯创电子 2025-04-28 09:24 179浏览
  • 在智能硬件设备趋向微型化的背景下,语音芯片方案厂商针对小体积设备开发了多款超小型语音芯片方案,其中WTV系列和WT2003H系列凭借其QFN封装设计、高性能与高集成度,成为微型设备语音方案的理想选择。以下从封装特性、功能优势及典型应用场景三个方面进行详细介绍。一、超小体积封装:QFN技术的核心优势WTV系列与WT2003H系列均提供QFN封装(如QFN32,尺寸为4×4mm),这种封装形式具有以下特点:体积紧凑:QFN封装通过减少引脚间距和优化内部结构,显著缩小芯片体积,适用于智能门铃、穿戴设备
    广州唯创电子 2025-04-30 09:02 144浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 123浏览
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 154浏览
  • 一、gao效冷却与控温机制‌1、‌冷媒流动设计‌采用低压液氮(或液氦)通过毛细管路导入蒸发器,蒸汽喷射至样品腔实现快速冷却,冷却效率高(室温至80K约20分钟,至4.2K约30分钟)。通过控温仪动态调节蒸发器加热功率,结合温度传感器(如PT100铂电阻或Cernox磁场不敏感传感器),实现±0.01K的高精度温度稳定性。2、‌宽温区覆盖与扩展性‌标准温区为80K-325K,通过降压选件可将下限延伸至65K(液氮模式)或4K(液氦模式)。可选配475K高温模块,满足材料在ji端温度下的性能测试需求
    锦正茂科技 2025-04-30 13:08 131浏览
  •  探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下:一、日常清洁与保养1.‌表面清洁‌l 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。l 探针头清洁需用非腐蚀性溶剂(如异丙醇)擦拭,检查是否弯曲或损坏。2.‌光部件维护‌l 镜头、观察窗等光学部件用镜头纸蘸取wu水jiu精从中心向外轻擦,操作时远离火源并保持通风。3.‌内部防尘‌l 使用后及时吹扫灰尘,防止污染物进入机械滑
    锦正茂科技 2025-04-28 11:45 97浏览
  • 随着电子元器件的快速发展,导致各种常见的贴片电阻元器件也越来越小,给我们分辨也就变得越来越难,下面就由smt贴片加工厂_安徽英特丽就来告诉大家如何分辨的SMT贴片元器件。先来看看贴片电感和贴片电容的区分:(1)看颜色(黑色)——一般黑色都是贴片电感。贴片电容只有勇于精密设备中的贴片钽电容才是黑色的,其他普通贴片电容基本都不是黑色的。(2)看型号标码——贴片电感以L开头,贴片电容以C开头。从外形是圆形初步判断应为电感,测量两端电阻为零点几欧,则为电感。(3)检测——贴片电感一般阻值小,更没有“充放
    贴片加工小安 2025-04-29 14:59 147浏览
  • 文/郭楚妤编辑/cc孙聪颖‍越来越多的企业开始蚕食动力电池市场,行业“去宁王化”态势逐渐明显。随着这种趋势的加强,打开新的市场对于宁德时代而言至关重要。“我们不希望被定义为电池的制造者,而是希望把自己称作新能源产业的开拓者。”4月21日,在宁德时代举行的“超级科技日”发布会上,宁德时代掌门人曾毓群如是说。随着宁德时代核心新品骁遥双核电池的发布,其搭载的“电电增程”技术也走进业界视野。除此之外,经过近3年试水,宁德时代在换电业务上重资加码。曾毓群认为换电是一个重资产、高投入、长周期的产业,涉及的利
    华尔街科技眼 2025-04-28 21:55 112浏览
  • 4月22日下午,备受瞩目的飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!1、精彩纷呈的展区产品及方案展区是本场活动的第一场重头戏,从硬件产品到软件系统,从企业级应用到高校教学应用,都吸引了现场来宾的驻足观看和交流讨论。全产品矩阵展区展示了飞凌嵌入式丰富的产品线,从嵌入式板卡到工控机,从进口芯片平台到全国产平台,无不体现出飞凌嵌入式在嵌入式主控设备研发设计方面的
    飞凌嵌入式 2025-04-28 14:43 125浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦