掌桥专利:专业的专利平台
掌桥专利
首页

自动驾驶的冗余时间同步方法、装置、系统车辆及介质

文献发布时间:2023-06-19 18:58:26


自动驾驶的冗余时间同步方法、装置、系统车辆及介质

技术领域

本申请涉及自动驾驶技术领域,特别涉及一种自动驾驶的冗余时间同步方法、装置、系统、车辆及介质。

背景技术

整车内全部控制器需要统一的时间信息保证自动行驶的安全,相关技术中通常采用主控制器同步全部控制器的时间,这些时间系统缺乏一个安全冗余机制,一旦主控制器失效后整个同步系统就会出现故障,进一步影响整个自动驾驶的安全运行,增大事故发生的概率。

发明内容

本申请提供一种自动驾驶的冗余时间同步方法、装置、车辆及存储介质,以提高自动驾驶过程的安全性能,降低事故发生概率。

本申请提供了一种自动驾驶的冗余时间同步方法,包括:

初始化主芯片,通过所述主芯片为整车控制器授时,并通过所述主芯片发送第一时间戳至冗余芯片;

根据所述第一时间戳更新所述冗余芯片的冗余时间信息;

通过所述冗余芯片实时监测所述主芯片的工作状态;

根据所述主芯片的工作状态,控制所述冗余芯片为所述整车控制器授时,并通过所述冗余芯片同步所述主芯片的本地时间信息以重新通过所述主芯片为所述整车控制器授时。

本申请中提供的冗余时间同步方法首先需要在整车上电后,对主芯片进行初始化操作,以使主芯片可以开始执行对整车控制器的授权工作,并发送第一时间戳至冗余芯片进一步地,本方法采用第一时间戳更新冗余芯片中的冗余时间信息,以使冗余芯片中存在时间信息的备份。进一步地,本方法通过冗余芯片对主芯片的工作状态进行实施监测,以使冗余芯片可以实时获取主芯片的工作状态,进而根据预设的判定条件判断是否需要使冗余芯片替代主芯片的授时工作。在冗余芯片根据主芯片的工作状态控制冗余芯片为整车控制器进行授时的情况下,冗余芯片也会同时更新主芯片的本地时间信息,并在本地时间信息更新完成后,将授时工作重新移交至主芯片,以使主芯片可以为整车控制器进行授时。通过这一方法,本申请可以有效的备份主芯片内的系统时间,并将系统时间备份存储至冗余时间信息中。还可以通过冗余芯片对主芯片的工作状态进行监测,在本申请提供的冗余时间同步方法检测到当前主芯片出现异常问题,或存在更改授时芯片的需求时,可以暂时接管授时工作,并同时更新主芯片的本地时间信息,以使主芯片在重新接管时可以根据更新后的本地时间信息继续为整车控制器进行授时,以提升时间同步过程的准确性,进而降低事故发生率。

在某些实施方式中,所述初始化主芯片,通过所述主芯片为整车控制器授时,并使所述主芯片发送第一时间戳至冗余芯片,包括:

获取所述整车控制器的工作状态,当所述整车控制器处于异常状态时,输出整车控制器故障报告;

当所述整车控制器处于正常状态时,初始化所述主芯片的时钟模块以得到所述第一时间戳;

建立所述主芯片与所述冗余芯片之间的通信连接;

通过所述主芯片与所述冗余芯片之间的通信连接输出所述第一时间戳至所述冗余芯片。

在某些实施方式中,所述方法还包括:

若初始化所述主芯片失败,则调整所述主芯片为故障状态,并输出故障分析报告;

根据所述故障分析报告消除所述主芯片的故障,并重新初始化所述主芯片。

在某些实施方式中,所述建立所述主芯片与所述冗余芯片之间的通信连接包括:

通过所述冗余芯片接收所述主芯片发送的同步信息,并根据所述同步信息建立所述主芯片与所述冗余芯片之间的通信连接;

若连续至少2次未接收到所述同步信息,输出通信异常报告。

在某些实施方式中,在通过所述冗余芯片实时监测所述主芯片的工作状态之后,所述方法还包括:

通过所述冗余芯片实时监测所述整车控制器的工作状态;

当所述整车控制器处于异常状态时,重新通过冗余芯片获取所述主芯片的工作状态;

若重新获取到的所述主芯片工作状态为正常状态,则输出整车控制器异常报告。

在某些实施方式中,所述根据所述主芯片的工作状态,控制所述冗余芯片为所述整车控制器授时,并通过所述冗余芯片同步所述主芯片的本地时间信息以重新通过所述主芯片为所述整车控制器授时,包括:

当所述主芯片处于故障状态时停止通过所述主芯片为整车控制器授时,并通过所述冗余芯片为所述整车控制器授时;

控制所述冗余芯片根据所述冗余时间信息生成第二时间戳,并输出所述第二时间戳至所述主芯片;

当所述主芯片解除所述故障状态时,控制所述主芯片在根据所述第二时间戳同步所述主芯片的本地时间信息;

停止通过所述冗余芯片为整车控制器授时,并重新通过所述主芯片为所述整车控制器授时。

在某些实施方式中,所述当所述主芯片解除所述故障状态时,控制所述主芯片在根据所述第二时间戳同步所述主芯片的本地时间信息,包括:

当所述主芯片解除所述故障状态时,记录所述主芯片的初始时间;

接收所述第二时间戳,并记录所述主芯片获取所述第二时间戳时的终止时间;

根据所述第二时间戳、所述初始时间和所述终止时间同步所述主芯片的所述本地时间信息。

在某些实施方式中,所述停止通过所述冗余芯片为整车控制器授时,并重新通过所述主芯片为所述整车控制器授时包括:

在同步所述本地时间信息后,在预设时间内持续验证所述本地时间信息;

在所述本地时间信息的验证结果为数据准确的情况下,控制所述主芯片发送时间同步转换请求至所述冗余芯片;

控制所述冗余芯片根据所述时间同步转换请求验证所述主芯片与所述冗余芯片之间的通信连接,停止通过所述冗余芯片为整车控制器授时;

在所述冗余芯片停止为所述整车控制器授时的情况下,输出同步反转请求至所述主芯片;

控制所述主芯片根据接收到的所述同步反转请求为所述整车控制器授时。

在某些实施方式中,所述控制所述冗余芯片根据所述时间同步转换请求验证所述主芯片与所述冗余芯片之间的通信连接,停止通过所述冗余芯片为整车控制器授时,包括:

在主芯片接收到连续三次所述时间同步转换请求时,发送所述时间同步转换请求,并使所述冗余芯片停止为所述整车控制器授时。

本申请提供了一种自动驾驶的冗余时间同步装置,包括:

主芯片,用于在执行初始化之后,输出第一时间戳至冗余芯片;还用于为整车控制器授时;还用于接收第二时间戳以同步所述主芯片的本地时间信息;

冗余芯片,用于获取第一时间戳以更新所述冗余芯片的冗余时间信息;还用于监测所述主芯片的工作状态,当所述主芯片处于工作状态时替代所述主芯片为所述整车控制器授时;还用于当所述主芯片同步所述本地时间信息后,控制所述主芯片重新为所述整车控制器授时。

在某些实施方式中,所述主芯片包括:主芯片时钟模块、主芯片脉冲发生模块、主芯片脉冲接收模块、主芯片计数器、第一片间通信模块;所述冗余芯片包括:冗余芯片时钟模块、冗余芯片脉冲发生模块、冗余芯片脉冲接收模块,冗余芯片计数器、第二片间通信模块,其中,

所述主芯片脉冲发生模块发送主芯片脉冲至所述冗余芯片脉冲发生模块,并使所述主芯片时钟模块通过所述第一片间通信模块输出第一时间戳至所述第二片间通信模块,并通过第二片间通信模块将第一时间戳输出至冗余芯片时钟模块;

所述冗余芯片脉冲发生模块发送冗余芯片脉冲至所述主芯片脉冲发生模块,并使所述冗余芯片时钟模块通过所述第二片间通信模块输出第二时间戳至所述第一片间通信模块,并通过第一片间通信模块将第二时间戳输出至主芯片时钟模块;

所述主芯片计数器用于为所述主芯片时钟模块提供第一时间基准值,以通过所述第一时间基准值生成所述第一时间戳;

所述冗余芯片计数器用于为所述冗余芯片时钟模块提供第二时间基准值,以通过所述第二时间基准值生成所述第二时间戳。

本申请提供了一种自动驾驶的冗余时间同步系统,包括:

上述的冗余时间同步装置,以及

外部晶振,所述外部晶振用于实现主芯片的本地时间更新同步,以及实现冗余芯片的冗余时间信息更新;

整车控制器,用于接收所述冗余时间同步装置输出的授时数据。

本申请提供了一种车辆,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求上述任一项所述的一种自动驾驶的冗余时间同步方法。

本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如权利要求上述任一项所述的一种自动驾驶的冗余时间同步方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本申请实施例提供的一种冗余时间同步方法的流程示意图;

图2为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图3为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图4为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图5为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图6为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图7为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图8为根据本申请实施例提供的主芯片和冗余芯片之间的通信交互示意图;

图9为根据本申请实施例提供的一种冗余时间同步方法的某一具体流程示意图;

图10为根据本申请实施例提供的主芯片和冗余芯片之间的又一通信交互示意图;

图11为根据本申请实施例提供的一种冗余时间同步装置的结构示意图;

图12为根据本申请实施例提供的一种冗余时间同步装置的某一具体结构示意图;

图13为根据本申请实施例提供的一种冗余时间同步系统的结构示意图;

图14为根据本申请实施例提供的一种车辆的结构示意图;

附图标记说明:冗余时间同步装置10、主芯片11、主芯片时钟模块111、主芯片计数器112、主芯片脉冲发生模块113、第一片间通信模块114、主芯片脉冲接收模块115、冗余芯片12、冗余芯片时钟模块121、冗余芯片计数器122、冗余芯片脉冲发生模块123、第二片间通信模块124、冗余芯片脉冲接收模块125、冗余时间同步系统100、外部晶振20、整车控制器30、车辆200、存储器210、处理器220。

具体实施方式

下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请的冗余时间同步方法可以通过冗余芯片对主芯片的工作状态进行检测,当主芯片失效时,冗余芯片可以代替主芯片完成授时工作,并调整主芯片的本地时间,以使主芯片重新接管授时工作,从而有效的提高自动驾驶过程中的驾驶安全,降低事故发生率。

请参见图1,本申请提供了一种自动驾驶的冗余时间同步方法,其特征在于,包括:

S1、初始化主芯片,通过主芯片为整车控制器授时,并通过主芯片发送第一时间戳至冗余芯片。

S2、根据第一时间戳更新冗余芯片的冗余时间信息。

S3、通过冗余芯片实时监测主芯片的工作状态。

S4、根据主芯片的工作状态,控制冗余芯片为整车控制器授时,并通过冗余芯片同步主芯片的本地时间信息以重新通过主芯片为整车控制器授时。

本申请中提供的冗余时间同步方法首先需要在整车上电后,对主芯片进行初始化操作,以使主芯片可以开始执行对整车控制器的授权工作,并发送第一时间戳至冗余芯片进一步地,本方法采用第一时间戳更新冗余芯片中的冗余时间信息,以使冗余芯片中存在时间信息的备份。进一步地,本方法通过冗余芯片对主芯片的工作状态进行实施监测,以使冗余芯片可以实时获取主芯片的工作状态,进而根据预设的判定条件判断是否需要使冗余芯片替代主芯片的授时工作。在冗余芯片根据主芯片的工作状态控制冗余芯片为整车控制器进行授时的情况下,冗余芯片也会同时更新主芯片的本地时间信息,并在本地时间信息更新完成后,将授时工作重新移交至主芯片,以使主芯片可以为整车控制器进行授时。通过这一方法,本申请可以有效的备份主芯片内的系统时间,并将系统时间备份存储至冗余时间信息中。还可以通过冗余芯片对主芯片的工作状态进行监测,在本申请提供的冗余时间同步方法检测到当前主芯片出现异常问题,或存在更改授时芯片的需求时,可以暂时接管授时工作,并同时更新主芯片的本地时间信息,以使主芯片在重新接管时可以根据更新后的本地时间信息继续为整车控制器进行授时,以提升时间同步过程的准确性,进而降低事故发生率。

具体地,本申请提供的冗余时间同步方法中,主芯片的工作状态可以是故障状态,故障状态可以指芯片的初始化过程失败、通信状态异常、硬件故障、软件故障等。当主芯片工作在故障状态时,冗余芯片可以暂时接管为整车控制器授时的任务,并为主芯片更新本地时间信息,以使主芯片重新接管对整车控制器的授时任务。

具体地,整车控制器用于根据预设的控制策略,以及获取到的授时信息执行对车辆的控制。整车控制器可以包括摄像头控制器、雷达控制器、定位控制器以及其他车辆控制过程中需要的控制器。

请参见图2,在某些实施方式中,初始化主芯片,通过主芯片为整车控制器授时,并使主芯片发送第一时间戳至冗余芯片,包括:

S11、获取整车控制器的工作状态,当整车控制器处于异常状态时,输出整车控制器故障报告。

S12、当整车控制器处于正常状态时,初始化主芯片的时钟模块以得到第一时间戳。

S13、建立主芯片与冗余芯片之间的通信连接。

S14、通过主芯片与冗余芯片之间的通信连接输出第一时间戳至冗余芯片。

本申请提供的冗余时间同步方法首先对整车控制器的工作状态进行判断,当整车控制器的处于异常状态时,本方法可以直接停止对主芯片的初始化步骤,并直接输出整车控制器故障报告。当整车控制器处于正常状态时,本方法可以对主芯片的时钟模块进行初始化,以获取当前的时间信息,从而生成第一时间戳,并建立主芯片与冗余芯片之间的通信连接,以通过主芯片与冗余芯片之间的通信连接将第一时间戳输出至冗余芯片。通过这一方法,本申请可以在整车控制器发生故障时,简化操作步骤以使用户可以快速排查车辆故障。

参照图3,在某些实施方式中,冗余时间同步方法还包括:

S15、若初始化主芯片失败,则调整主芯片为故障状态,并输出故障分析报告。

S16、根据故障分析报告消除主芯片的故障,并重新初始化主芯片。

本申请可以对主芯片的初始化状态进行确认,并在主芯片初始化失败时根据初始化失败原因进行针对性调整,以重新恢复主芯片的初始化工作。具体地,本方法可以在初始化主芯片失败时,先将主芯片的工作状态调整至故障状态以暂停冗余时间同步方法的后续执行步骤,并对主芯片的故障原因进行分析,以输出故障分析报告,进一步地,通过故障分析报告,本方法可以对主芯片的故障原因进行获取,从而根据故障原有有针对性的调整主芯片,以消除主芯片的故障,并重新初始化主芯片,进而执行本申请提供的冗余时间同步方法的后续步骤。

请参照图4,在某些实施方式中,建立主芯片与冗余芯片之间的通信连接包括:

S131、通过冗余芯片接收主芯片发送的同步信息,并根据同步信息建立主芯片与冗余芯片之间的通信连接。

S132、若连续至少2次未接收到同步信息,输出通信异常报告。

本方法可以在主芯片和冗余芯片出现通信异常的情况下暂停对主芯片与冗余芯片之间的通信连接建立过程。具体地,本方法通过冗余芯片接收主芯片发送的同步信息,并根据同步信息与主芯片建立通信连接。当连续至少2次没有接收到同步信息时,本方法可以判定当前主芯片与冗余芯片件的同时新连接出现异常,并输出通信异常报告,以使用户可以根据通信异常报告对主芯片与冗余芯片的通信状态进行排查。为减少检测到的通信异常的频率以保证本申请提供的冗余时间同步方法的工作效率,本申请中可以调整为若连续至少3次未接收到同步信息时输出通信异常报告,或三次以上。具体的次数不限于上述描述,在可以满足对主芯片和冗余芯片的通信状态检测的前提下不做具体限制。

请参见图5,在某些实施方式中,在通过冗余芯片实时监测主芯片的工作状态之后,方法还包括:

S31、通过冗余芯片实时监测整车控制器的工作状态。

S32、当整车控制器处于异常状态时,重新通过冗余芯片获取主芯片的工作状态。

S33、若重新获取到的主芯片工作状态为正常状态,则输出整车控制器故障报告。

本方法可以校验主芯片的工作状态以重复确认整车控制器是否出现故障,以提高对整车控制器工作状态的判断的准确性。具体地,本方法可以通过冗余芯片监测整车控制器的工作状态,并在整车控制器处于异常状态时,再次通过冗余芯片对主芯片的工作状态进行获取,以避免主芯片故障导致整车控制器的工作状态的误判。进一步地,本方法在获取到主芯片处于正常状态时,可以认定整车控制器出现异常,并输出整车控制器异常报告,以使用户可以根据整车控制器异常报告及时对整车控制器进行对应调整,以保证车辆驾驶安全。

请参见图6,在某些实施方式中,根据主芯片的工作状态,控制冗余芯片为整车控制器授时,并通过冗余芯片同步主芯片的本地时间信息以重新通过主芯片为整车控制器授时,包括:

S41、当主芯片处于故障状态时停止通过主芯片为整车控制器授时,并通过冗余芯片为整车控制器授时。

S42、控制冗余芯片根据冗余时间信息生成第二时间戳,并输出第二时间戳至主芯片。

S43、当主芯片解除故障状态时,控制主芯片在根据第二时间戳同步主芯片的本地时间信息。

S44、停止通过冗余芯片为整车控制器授时,并重新通过主芯片为整车控制器授时。

本申请提供的冗余时间同步方法可以通过冗余芯片校正主芯片的本地时间信息,并通过解除故障的主芯片重新接管为整车控制器授时的工作。具体地,本方法首先控制冗余芯片根据冗余时间信息生成第二时间戳,并输出第二时间戳至主芯片。主芯片可以在解除故障后根据第二时间戳重新同步当前的准确时间,以得到主芯片中对应的本地时间信息。进一步地,主芯片可以在同步得到本地时间信息后接管为整车控制器授时的工作,并停止冗余芯片的授时工作。通过这一方法,本申请实现了主芯片和冗余芯片对整车控制器的授时工作。避免了单一芯片在出现故障时导致整车控制器无法获取授时信息从而产生驾驶异常,导致驾驶事故的风险。

请参照图7,在某些具体的实施方式中,当主芯片解除故障状态时,控制主芯片在根据第二时间戳同步主芯片的本地时间信息,包括:

S431、当主芯片解除故障状态时,记录主芯片的初始时间。

S432、接收第二时间戳,并记录主芯片获取第二时间戳时的终止时间。

S433、根据第二时间戳、初始时间和终止时间同步主芯片的本地时间信息。

本方法具体地可以根据主芯片截取的初始时间和终止时间,以及第二时间戳实现对本地时间信息的同步过程。具体地,本方法可以记录主芯片解除故障状态时的初始时间,并接收第二时间戳,以及记录接收到第二时间戳时,主芯片对应的终止时间,从而根据第二时间戳、初始时间和终止时间实现对本地时间的同步过程。

进一步地,请参见图8,首先对图8中的数据命名及其含义进行解释:Time_state:指当前主芯片或者与芯片的状态、Standby:等待状态、Master:主时钟状态、Slave:从时钟状态、PPS_Rx_interrupt:中断信号,用于使主芯片根据这一中断信号标记当前时间、PPS_Tx_intrrupt:中断信号,用于使冗余芯片根据这一中断信号标记当前时间、Get_PPS_Tx_time:用于根据中断信号记录当前时间、Get_Current_time:用于使主芯片标记当前时间。Set_time:用于更新主芯片的本地时间信息。

本方法可以在主芯片故障恢复后,使主芯片进入到等待状态(standby)。并控制冗余芯片每10ms发送PPS脉冲,主芯片的PPS模块接收到信号后立即通过中断PPS_Rx_interrupt记录自身接收PPS信号的时间Get_PPS_Tx_time=初始时间(T0);冗余芯片通过中断PPS_Tx_intrrupt记录PPS脉冲发出的时刻Get_PPS_Tx_time=第二时间戳(Tx)。随后冗余芯片将第二时间戳(Tx)通过SPI告知主芯片自身PPS发送的时刻,主芯片收到后获取自身当前时刻Get_Current_time=终止时间(T1),更新自身的时间Set_time=T1-T0+Tx。

请参见图9,在某些授时方式中,停止通过冗余芯片为整车控制器授时,并重新通过主芯片为整车控制器授时包括:

S441、在同步本地时间信息后,在预设时间内持续验证本地时间信息。

S442、在本地时间信息的验证结果为数据准确的情况下,控制主芯片发送时间同步转换请求至冗余芯片。

S443、控制冗余芯片根据时间同步转换请求验证主芯片与冗余芯片之间的通信连接,停止通过冗余芯片为整车控制器授时。

S444、在冗余芯片停止为整车控制器授时的情况下,输出同步反转请求至主芯片。

S445、控制主芯片根据接收到的同步反转请求为整车控制器授时。

本申请中提供的冗余时间同步方法可以校验同步得到的本地时间信息是否正确,并在本地时间信息准确的情况下使主芯片接替冗余芯片的授时工作。具体地,本方法可以得到本地时间信息后,在预设的一段时间内持续验证本地时间信息是否准确,当数据准确时,主芯片可以通过发送时间同步转换请求至冗余芯片,以使冗余芯片在验证与主芯片的通信连接稳定时,停止通过冗余芯片为整车控制器授时。同时,主芯片在冗余芯片停止授时工作后,立即接管为整车控制器授时的工作,以保证授时工作的无缝衔接,减低自动驾驶过程中的风险。

在某些实施方式中,冗余芯片根据时间同步转换请求验证主芯片与冗余芯片之间的通信连接,停止通过冗余芯片为整车控制器授时,包括:在主芯片接收到连续三次时间同步转换请求时,发送时间同步转换请求,并使冗余芯片停止为整车控制器授时。

本方法可以在确认主芯片与冗余芯片之间可以实现授时工作交接的情况下,停止冗余芯片的授时工作,以使主芯片可以实现授时工作的无缝衔接。具体地,本方法可以通过主芯片对获取到的时间同步转换请求的次数进行统计,当主芯片连续三次获取到时间同步转换请求时,本方法可以判断当前主芯片与冗余芯片之间建立了稳定的通信连接,并可以实现授时工作转换的无缝衔接,从而停止通过冗余芯片进行授时工作。具体地,本方法在停止冗余芯片的授时工作时,紧接着控制主芯片接管对整车控制器的授时工作。

具体地,请参见图10,首先对图10中的数据命名及其含义进行解释:Time_slaverun:预设的运行时长、Time_reverse_req:时间同步转换请求、master_standby:主时钟转变等待状态、Time_standby_master:主时钟等待握手次数、Time_reverse_ACK:时间同步确认信号、Time_takeover_slave:时钟接管握手次数、Time_reverse:时间同步反转请求、Time_standby_master:等待握手次数、Time_master_ACK:主时钟确认信号。

本方法可以统计主芯片内的同步错误次数,在预设的运行时长内主芯片内不存在同步错误,则发起时间同步转换请求至冗余芯片。冗余芯片可以根据时间同步转变请求调整自身状态至主时钟转变等待状态,在这一状态中,冗余时钟仍执行为整车控制器授时的工作,但可以随时被主芯片接替。冗余芯片在主时钟转变等待状态时,同时初始化冗余芯片内的等待握手次数,使得冗余芯片内的等待握手次数为0,并发送时间同步确认信号至主芯片,以更新冗余芯片内的等待握手次数。主芯片可以根据获取到的时间同步确认信号更新主芯片内的时钟接管握手次数,当时钟接管握手次数等于3时,主芯片可以发送时间同步转换请求至冗余芯片,进一步地,冗余芯片可以根据时间同步转换请求验证冗余芯片发送的时间同步信号确认等待握手次数是否等于3,当等待握手次数等于3时,冗余芯片可以将自身的时钟状态调整为从时钟状态,以使冗余芯片停止为整车控制器授时。某些实施方式中,冗余芯片在调整为从时钟状态后,会发送主时钟确认信号至主芯片,以使主芯片调整为主时钟状态,从而实现对整车控制器的授时。

在某些具体的实施方式中,本方法设有主时钟状态和从时钟状态。本方法可以选取工作在主时钟状态下的芯片执行授时工作,选取从时钟状态下的芯片在主时钟状态下工作的芯片出现故障时接替授时工作。对应的,本方法提供了芯片在主时钟状态与从时钟状态之间互相跳转,以及与待机状态、初始化状态、故障状态之间跳转的策略。下面以主芯片为例对状态跳转策略进行解释。

①初始化状态→待机状态:系统初始化完成,时间模块关联的软硬件正常,主要是外部晶振正常、counter计算正常、通讯正常。此状态下Tmaster0阈值设为200ms。

②待机状态→主时钟状态:处于待机状态后,若计时的Tmaster0>200ms,且该时间段内从未收到外部的同步消息,则进入主时钟状态。若Tmaster0期间检测到冗余芯片故障,则主芯片告知驾驶系统时间同步冗余系统故障。

③主时钟状态→故障状态:若授时过程中主芯片发生硬软件故障、通讯故障等,则进入故障状态。

④初始化状态→故障状态:若主芯片初始化失败,则进入故障状态。

⑤待机状态→从时钟状态:若计时的Tmaster0≤200ms,且该时间内收到冗余芯片的授时信息,则进入从时钟状态接收外部的授时。

⑥从时钟状态→主时钟状态:若连续Tslave_run=2min时间内主芯片时钟模块及关联软硬件正常,则开始进行时间同步转换流程,若转换成功则进入主时钟状态。转换失败则清除Tslave_run=0,重新进行计时。若连续三次转换失败,则本次车辆点火周期内不再发起转换请求,并将故障上报驾驶系统。

⑦从时钟状态→故障状态:主芯片发生软硬件故障、通讯等,则进入故障状态。

⑧故障状态→待机状态:主芯片故障消除,则进入待机状态。此故障不包括芯片重启的故障。

类似地,以冗余芯片为例,对状态跳转策略进行解释。

①初始化状态→待机状态:系统初始化完成,时间模块关联的软硬件正常,主要是外部晶振正常、counter计算正常、通讯正常。此状态下Tmaster1阈值设为400ms。

②待机状态→主时钟状态:处于待机状态后,若计时的Tmaster1>400ms,且该时间段内从未收到外部的同步消息,则进入主时钟状态。

③主时钟状态→故障状态:若授时过程中芯片2发生硬软件故障、通讯故障等,则进入故障状态。

④初始化状态→故障状态:若芯片2初始化失败,则进入故障状态。

⑤待机状态→从时钟状态:若在Tmaster1=400ms时间内收到外部的授时信息,则进入从时钟状态接收外部的授时。

⑥从时钟状态→主时钟状态:若芯片2与芯片1之间的通讯丢失或者其他传感器均报同步丢失故障时,则立刻进入主时钟状态。

⑦从时钟状态→故障状态:芯片2发生软硬件故障、通讯等,则进入故障状态。

⑧故障状态→待机状态:芯片2故障消除,则进入待机状态。

⑨主时钟状态→主时钟转变等待状态:芯片1发起时间同步转变请求。

⑩主时钟转变等待状态→主时钟状态:转变期间转变条件不满足,则退回到主时钟状态。若连续3次时间同步转变失败,则不再响应芯片1的转变请求、将此故障告知驾驶系统。

请参照图11,本申请还提供了一种自动驾驶的冗余时间同步装置10,包括:主芯片11,用于在执行初始化之后,输出第一时间戳至冗余芯片12。还用于为整车控制器30授时。还用于接收第二时间戳以同步主芯片11的本地时间信息。冗余芯片12,用于获取第一时间戳以更新冗余芯片12的冗余时间信息。还用于监测主芯片11的工作状态,当主芯片11处于工作状态时替代主芯片11为整车控制器30授时。还用于当主芯片11同步本地时间信息后,控制主芯片11重新为整车控制器30授时。

本申请提供的冗余时间同步装置10包括主芯片11和冗余芯片12,通过这一装置,本申请可以实现在主芯片11出现故障时,通过冗余芯片12接替主芯片11的授时工作,并通过冗余芯片12更新修复故障后的主芯片11的本地时间信息,以使主芯片11可以重新掌管对整车控制器30的授时工作。

请参见图12,在某些实施方式中,主芯片11包括:主芯片时钟模块111、主芯片脉冲发生模块113、主芯片脉冲接收模块115、主芯片计数器112、第一片间通信模块114。冗余芯片12包括:冗余芯片时钟模块121、冗余芯片脉冲发生模块123、冗余芯片脉冲接收模块125,冗余芯片计数器122、第二片间通信模块124,其中,

主芯片脉冲发生模块113发送主芯片脉冲至冗余芯片脉冲发生模块123,并使主芯片时钟模块111通过第一片间通信模块114输出第一时间戳至第二片间通信模块124,并通过第二片间通信模块124将第一时间戳输出至冗余芯片时钟模块121。

冗余芯片脉冲发生模块123发送冗余芯片脉冲至主芯片脉冲发生模块113,并使冗余芯片时钟模块121通过第二片间通信模块124输出第二时间戳至第一片间通信模块114,并通过第一片间通信模块114将第二时间戳输出至主芯片时钟模块111。

主芯片计数器112用于为主芯片时钟模块111提供第一时间基准值,以通过第一时间基准值生成第一时间戳。

冗余芯片计数器122用于为冗余芯片时钟模块121提供第二时间基准值,以通过第二时间基准值生成第二时间戳。

本申请提供的主芯片11中的主芯片计数器112可以从外部晶振20中获取标准时间,以提供主芯片时钟模块111以第一时间基准值。类似地,冗余芯片计数器122可以从外部晶振20中获取标准时间,以提供冗余芯片时钟模块121以第二时间基准值。进一步地,主芯片时钟模块111可以在主芯片脉冲发生模块113输出主芯片脉冲至冗余芯片脉冲接收模块125时,通过第一片间通信模块114输出第一时间戳至第二片间通信模块124。还可以在主芯片脉冲接收模块115接收到冗余芯片脉冲时,通过主芯片时钟模块111接收第一片间通信模块114获取到的第二时间戳。类似地,冗余芯片时钟模块121可以在冗余芯片脉冲发生模块123输出冗余芯片脉冲至主芯片脉冲接收模块115时,通过第二片间通信模块124输出第二时间戳至第一片间通信模块114。还可以在冗余芯片脉冲接收模块125接收到主芯片脉冲时,通过冗余芯片时钟模块121接收第二片间通信模块124获取到的第一时间戳。通过上述的主芯片11和冗余芯片内的具体模块,本申请实现了主芯片11与冗余芯片12之间的时间同步,从而保证自动驾驶过程的安全。

请参见图13,本申请还提供了一种自动驾驶的冗余时间同步系统100,其特征在于,包括:

上述的冗余时间同步装置10,以及

外部晶振20,外部晶振20用于实现主芯片11的本地时间更新同步,以及实现冗余芯片12的冗余时间信息更新。

整车控制器30,用于接收冗余时间同步装置10输出的授时数据。

本申请提供的冗余时间同步系统100可以通过外部晶振20为冗余时间同步装置10提供时间基准值,包括第一时间基准值和第二时间基准值,以使主芯片11根据第一时间基准值为冗余芯片12提供第一时间戳,以实现冗余芯片12的冗余时间信息更新。类似地,通过第二时间基准值可以使冗余芯片12根据第二时间基准值为主芯片11提供第二时间戳,以实现主芯片11的本地时间信息更新。通过整车控制器30,本申请提供的冗余时间同步系统100可以获取冗余时间同步装置10通过授时输出的时间信息,进而实现对车辆的精准控制。具体地,外部晶振20可以是两个相互独立的晶振,分别为主芯片11和冗余芯片12独立的提供时间基准值。

在某些具体的实施方式中,冗余时间同步装置10包含作为主时钟的车身控制器和作为冗余时钟的驾驶域控制器,整车控制器30可以是雷达、组合惯导组件和摄像头。其中,雷达与车身控制器相连接,组合惯导和摄像头与驾驶域控制器相连接。车身控制器内包含主时钟,车身控制器的外部晶振20的精度为20PPM,通过Autosar CAN给下挂的雷达授时;通过以太网的gPTP给驾驶域控制器授时。驾驶控制器作为从时钟,外部晶振20的精度为20PPm,通过硬线同步控制下挂的摄像头拍照,通过Autosar CAN给组合惯导授时。雷达主要负责探测车辆周边目标的距离、速度;车身控制器是主要的网关,是全车信息交互的枢纽,因此作为主时钟源;驾驶域控制器是自动驾驶的核心,控制所有摄像头的同步、决策自动驾驶的规划;组合惯导主要用来实时定位车辆的位置;摄像头主要用来监测车辆周边的环境,是感知的主要输入来源。正常情况下,车身控制器作为枢纽,是整个车辆的时间授时来源,给车辆其他控制器授时。在驾驶过程中,若车身控制器故障或失效,此时驾驶域控制器立刻接管时钟,给下属的摄像头等进行同步,从而保证整个自动驾驶过程中行车的安全性,此时驾驶域控制器通过以太网给车身控制器发送授时信息。若车身控制器故障恢复,通过驾驶域控制器发送的授时信息同步自身的时间。车身控制器一旦同步成功后,则立刻启动计时器,在2min后发起同步转变请求。若转变成功,车身控制器恢复为主时钟,给整车所有控制器授时。

请参见图14,本申请还提供了一种车辆,包括:存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序,处理器220执行程序,以实现如上述任一项的一种自动驾驶的冗余时间同步方法。

本申请提供的车辆通过处理器220执行存储器210中存储的计算机程序可以实现如述任一项的一种自动驾驶的冗余时间同步方法,从而达到上述的一种自动驾驶的冗余时间同步方法的有益效果。关于冗余时间同步方法的有益效果在上文已经详细阐述,在此不做赘述。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器220执行,以用于实现上述任一项的一种自动驾驶的冗余时间同步方法。

本申请提供的计算机可读存储介质中存储的计算机程序,可以使处理器实现如述任一项的一种自动驾驶的冗余时间同步方法,从而达到上述的一种自动驾驶的冗余时间同步方法的有益效果。关于冗余时间同步方法的有益效果在上文已经详细阐述,在此不做赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120115758707