本技术涉及通信,尤其涉及一种设备中的时间同步装置及方法。
背景技术:
1、在车载网络中,有多个应用场景需要在子网内部实现时间同步功能。例如,针对自动驾驶场景,移动数据中心(mobile data center,mdc)系统需要实时接收各个传感器的数据,然后进行决策并实施车辆行驶控制。对于各传感器以及算法运行所在节点有较高的时间同步要求。针对管理维护场景,包括日志记录、诊断、故障定责等,需要记录准确的全球时间。针对时间触发控制器局域网络(time-triggered controller area network,ttcan)/时间敏感型网络(time sensitive network,tsn)场景,需要基于控制器局域网络(controller area network,can)/以太坊(ethereum,eth)报文发送,实现报文的确定性时延,用以在提高总线负载的同时解决报文实时性问题。
2、然而,车载网络中的各个应用场景属于不同控制域。不同控制域存在不同的物理接口、时标格式、时间同步机制等,因此通常各自独立,互不关联。不同控制域的传感器无法同时收集数据,导致车辆控制无法同时启停。此外,智能汽车的传感器类型越来越多,未来可能出现跨域传递的消息,例如tsn到ttcan。由于tsn和ttcan时间窗开启时间不一致,无法保障此类消息传递的实时性。
技术实现思路
1、本技术提出一种设备中的时间同步装置及方法,能够解决跨控制域中设备的时间不能同步的问题。
2、第一方面,本技术提出一种设备中的时间同步装置,该装置包括:
3、时标选源用于将第一控制域的第一时标发送至多个控制域中的第二控制域,所述第一控制域和所述第二控制域分别为多个控制域中的其中一个,第一时标为第一控制域中第一设备进行域内时间同步后的时间。
4、n个域时间同步处理器;其中,每个域时间同步处理器包括域内时间同步器、时标定时器和跨域时标误差计算器,时标定时器包括业务时标timer,每个域时间同步处理器分别处于不同的控制域中,n为大于或等于2的整数。
5、其中,跨域时标误差计算器用于针对第二控制域,根据第二时标和所述第一时标,确定跨域时标修正字,所述第二时标为针对第二控制域的业务时标timer的值。
6、业务时标timer用于针对第二控制域,根据跨域时标修正字修正自身的值,获得第一时标。
7、域内时间同步器用于将第二控制域中第一设备的时间同步到第一时标。
8、本技术先对第一控制域中的第一设备进行域内时间同步,获得第一时标。再针对第二控制域,根据第二时标和第一时标,确定跨域时标修正字。然后,针对第二控制域,根据跨域时标修正字修正业务时标timer的值,获得第一时标。最后,将第二控制域中第一设备的时间同步到第一时标,实现了跨控制域的时间同步,有效地提升了车内控制域间协同能力和精度。车载网络中不同控制域的传感器可以同时收集数据。更精确地控制不同控制域ecu任务的启动和停止。同时,可以保障跨控制域传递消息的实时性。
9、在一种可能的实现中,所述设备包括:自动驾驶车载设备。
10、在一种可能的实现中,所述域内时间同步器包括域接口和域时间同步协议处理器,域接口为控制域中第一设备的物理接口,域时间同步协议处理器用于针对第一控制域,根据第二设备的时间,同步该第一控制域中第三设备的时间,输出域内时标修正字,第二设备为根据业务需求从第一控制域中的第一设备中确定出的设备,第二设备表征时间同步的基准,第三设备为第一控制域中第二设备以外的其它设备;或者所述域时间同步协议处理器用于针对第一控制域,根据域接口的业务时标timer的值,同步该第一控制域中第一设备的时间。
11、在该种可能的实现中,针对第一控制域,对第一设备进行域内时间同步,获得的第一时标作为第二控制域中第一设备进行跨控制域时间同步的基准。如此便实现了跨控制域时间同步。
12、在一种可能的实现中,所述时标定时器还包括:虚拟时标timer。
13、虚拟时标timer用于针对第二控制域,根据业务时标timer的值和时标误差值修正自身的值,获得第一时标,所述时标误差值根据历史的跨域时标修正字确定。
14、在该种可能的实现中,通过引入虚拟时标timer而不再修正业务时标timer的值,兼顾了功能安全和时间同步这两个需要。
15、在一种可能的实现中,业务时标timer还用于针对第一控制域,通过自振或域内时标修正字修正自身的值。
16、在一种可能的实现中,跨域时标误差计算器包括业务时标采样模块、时标归一化模块、差值滤波模块和时标反变换模块;
17、业务时标采样模块用于针对第二控制域,对业务时标timer的值进行采样,获得第二时标;
18、时标归一化模块用于对第一时标和第二时标进行归一化变换,获得第一归一化结果和第二归一化结果;
19、差值滤波模块用于根据第一归一化结果和第二归一化结果,确定第一控制域和第二控制域的业务时标timer之间的频率偏差和相位偏差;
20、时标反变换模块用于针对第二控制域,对频率偏差和相位偏差进行反变换,获得跨域时标修正字,屏蔽了不同控制域时标的差异。
21、第二方面,本技术提出一种设备中的时间同步方法,该方法包括:
22、通过时标选源将第一控制域的第一时标发送至多个控制域中的第二控制域,第一控制域和第二控制域分别为多个控制域中的其中一个,第一时标为第一控制域中第一设备进行域内时间同步后的时间;其中,时标选源连接有n个域时间同步处理器,每个域时间同步处理器包括域内时间同步器、时标定时器和跨域时标误差计算器,时标定时器包括业务时标timer,每个域时间同步处理器分别处于不同的控制域中,n为大于或等于2的整数。
23、针对第二控制域,根据第二时标和所述第一时标,通过所述跨域时标误差计算器确定跨域时标修正字,所述第二时标为针对第二控制域的业务时标timer的值。
24、针对第二控制域,根据跨域时标修正字修正业务时标timer的值,获得第一时标。
25、通过域内时间同步器,将第二控制域中第一设备的时间同步到第一时标。
26、在一种可能的实现中,所述设备包括:自动驾驶车载设备。
27、在一种可能的实现中,域内时间同步器包括域接口和域时间同步协议处理器,域接口为控制域中第一设备的物理接口;
28、所述方法还包括:
29、针对第一控制域,根据第二设备的时间,通过域时间同步协议处理器同步该第一控制域中第三设备的时间,输出域内时标修正字,第二设备为根据业务需求从第一控制域中的设备中确定出的设备,第二设备表征时间同步的基准,第三设备为第一控制域中第二设备以外的其它设备;或者
30、针对第一控制域,根据域接口的业务时标timer的值,通过域时间同步协议处理器同步该第一控制域中第一设备的时间。
31、在一种可能的实现中,所述时标定时器还包括:虚拟时标timer;
32、所述方法还包括:
33、针对第二控制域,根据业务时标timer的值和时标误差值修正虚拟时标timer的值,获得第一时标,所述时标误差值根据历史的跨域时标修正字确定。
34、在一种可能的实现中,所述方法还包括:
35、针对第一控制域,通过业务时标timer自振或根据域内时标修正字修正所述业务时标timer的值。
36、在一种可能的实现中,跨域时标误差计算器包括业务时标采样模块、时标归一化模块、差值滤波模块和时标反变换模块;
37、所述针对第二控制域,通过跨域时标误差计算器对业务时标timer的值进行采样,获得第二时标,包括:
38、针对第二控制域,通过业务时标采样模块对业务时标timer的值进行采样,获得第二时标;
39、所述根据第二时标和第一时标,确定跨域时标修正字,包括:
40、通过时标归一化模块对第一时标和第二时标进行归一化变换,获得第一归一化结果和第二归一化结果;
41、根据第一归一化结果和第二归一化结果,通过差值滤波模块确定第一控制域和第二控制域的业务时标timer之间的频率偏差和相位偏差;
42、针对第二控制域,通过时标反变换模块对频率偏差和相位偏差进行反变换,获得跨域时标修正字。
43、第二方面及其各种可能的实现中的有益效果参见第一方面及其各种可能的实现中的有益效果。
44、第三方面,本技术提出一种设备中的时间同步装置,包括至少一个处理器,所述处理器用于执行存储器中存储的程序,当所述程序被执行时,使得所述装置执行:
45、如第二方面及各种可能的实现中的方法。
46、一种可能的实现中,该装置还包括上述存储器。可选的,处理器和存储器可以集成在一起。
47、另一种可能的实现中,上述存储器设置在该装置之外。
48、第四方面,本技术提出一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得如第二方面及其各种可能的实现中的方法被该计算机执行。
49、第五方面,本技术提出一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,如第二方面及其各种可能的实现中的方法被执行。