时钟同步方法、装置、系统及存储介质与流程

文档序号:24044887发布日期:2021-02-23 18:14阅读:123来源:国知局
时钟同步方法、装置、系统及存储介质与流程

[0001]
本申请涉及时钟同步领域,具体涉及一种时钟同步方法、装置、系统及存储介质。


背景技术:

[0002]
无人车作为一种多传感器融合系统,系统的实时响应性及稳定性至关重要,而其稳定性及响应的准确性与各个传感器的精度及响应时间有关。然而,实际控制过程中,下位机向上位机发送的底层传感器不带时间戳,如惯性测量单元(imu,inertial measurement unit)和编码器(encorder)。当上位机读取相关数据的时候由于系统调度等原因会造成各个底层传感器数据不同步。
[0003]
也即,现有技术中,各个底层传感器数据之间的时间不同步。


技术实现要素:

[0004]
本申请实施例提供一种时钟同步方法、装置、系统及存储介质,能够以基准脉冲信号为基准,为下位机建立下位机时钟,并依据下位机时钟为底层传感器数据建立第一时间戳,从而能够保证各个底层传感器的时间同步。
[0005]
第一方面,本申请提供一种时钟同步方法,应用于时钟同步系统,所述时钟同步系统包括下位机、上位机以及底层传感器,所述时钟同步方法:
[0006]
所述下位机获取基准脉冲信号和所述底层传感器采集的第一传感器数据;
[0007]
所述下位机基于所述基准脉冲信号建立下位机时钟;
[0008]
所述下位机基于所述下位机时钟为所述第一传感器数据建立第一时间戳;
[0009]
所述下位机根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据;
[0010]
所述下位机将所述第二传感器数据发送至所述上位机。
[0011]
其中,所述基准脉冲信号为gps秒脉冲信号,所述下位机基于所述基准脉冲信号建立下位机时钟,包括:所述下位机基于gps秒脉冲信号建立所述下位机时钟。
[0012]
其中,所述下位机时钟包括整秒数和毫秒数,所述下位机基于所述gps秒脉冲信号建立下位机时钟,包括:
[0013]
基于所述gps秒脉冲信号确定所述下位机时钟的整秒数;
[0014]
基于所述整秒数,通过所述下位机的内部定时器确定所述下位机时钟的毫秒数。
[0015]
其中,所述下位机根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据,包括:
[0016]
获取所述下位机读取所述第一传感器数据的第一时间;
[0017]
获取所述下位机发送所述第一传感器数据的第二时间;
[0018]
将所述第二时间与所述第一时间相减,得到底层传感器时间偏移量;
[0019]
根据所述第一时间戳、所述第一传感器数据以及所述底层传感器时间偏移量进行数据融合,得到所述第二传感器数据。
[0020]
第二方面,本申请提供一种时钟同步方法,应用于时钟同步系统,所述时钟同步系统包括下位机、上位机以及底层传感器,所述时钟同步方法:
[0021]
所述上位机获取所述下位机发送的第二传感器数据;
[0022]
所述上位机从所述第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0023]
所述上位机基于所述第一时间戳和所述底层传感器时间偏移量,确定第二时间戳。
[0024]
其中,所述上位机基于所述第一时间戳和所述底层传感器时间偏移量,确定第二时间戳,包括:
[0025]
获取所述下位机发送的第一时钟脉冲信号;
[0026]
获取所述上位机接收所述第一时钟脉冲信号的第三时间和所述下位机发送所述第一时钟脉冲信号的第四时间;
[0027]
将所述第三时间与所述第四时间相减,得到延迟时间值;
[0028]
基于所述第一时间戳、所述底层传感器时间偏移量以及所述延迟时间值,确定所述第二时间戳。
[0029]
其中,所述基于所述第一时间戳、所述底层传感器时间偏移量以及所述延迟时间值,确定所述第二时间戳,包括:
[0030]
判断所述延迟时间值是否小于预设值;
[0031]
若是,则基于所述第一时间戳、所述底层传感器时间偏移量以及所述延迟时间值,确定所述第二时间戳。
[0032]
其中,所述获取所述上位机接收所述第一时钟脉冲信号的第三时间和所述下位机发送所述第一时钟脉冲信号的第四时间,包括:
[0033]
获取所述上位机的第一上位机时钟;
[0034]
基于所述第一时钟脉冲信号校正所述第一上位机时钟,得到第二上位机时钟;
[0035]
基于所述第二上位机时钟获取所述第三时间。
[0036]
其中,所述基于所述第一时钟脉冲信号校正所述第一上位机时钟,得到第二上位机时钟,包括:
[0037]
获取gps推荐定位信息;
[0038]
判断所述gps推荐定位信息是否有效;
[0039]
若有效,则基于所述第一时钟脉冲信号校正所述第一上位机时钟,得到第二上位机时钟。
[0040]
其中,所述时钟同步系统中还包括上层传感器,所述时钟同步方法还包括:
[0041]
获取上层传感器采集的第三传感器数据和所述下位机发送的第二时钟脉冲信号;
[0042]
从所述第三传感器数据提取目标传感器数据,所述目标传感器数据为所述第三传感器数据中在相邻两个第二时钟脉冲信号之间获取的传感器数据;
[0043]
将所述目标传感器数据等间距依次排布在所述相邻两个第二时钟脉冲信号之间,以得到所述第三传感器数据的第三时间戳。
[0044]
第三方面,本申请提供一种下位机,应用于时钟同步系统,所述时钟同步系统包括下位机、上位机以及底层传感器,所述下位机包括:
[0045]
第一获取模块,用于获取基准脉冲信号和所述底层传感器采集的第一传感器数据;
[0046]
时钟建立模块,用于基于所述基准脉冲信号建立下位机时钟;
[0047]
时间戳建立模块,用于基于所述下位机时钟为所述第一传感器数据建立第一时间戳;
[0048]
融合模块,用于根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据;
[0049]
发送模块,用于将所述第二传感器数据发送至所述上位机。
[0050]
第四方面,本申请提供一种上位机,应用于时钟同步系统,所述时钟同步系统包括下位机、上位机以及底层传感器,所述上位机包括:
[0051]
第二获取模块,用于获取所述下位机发送的第二传感器数据;
[0052]
提取模块,用于从所述第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0053]
确定模块,用于基于所述第一时间戳和所述底层传感器时间偏移量,确定第二时间戳。
[0054]
第五方面,本申请提供一种时钟同步方法,应用于时钟同步系统,所述时钟同步系统包括下位机、上位机以及底层传感器,所述时钟同步方法包括:
[0055]
所述下位机获取基准脉冲信号和所述底层传感器采集的第一传感器数据;
[0056]
所述下位机基于所述基准脉冲信号建立下位机时钟;
[0057]
所述下位机基于所述下位机时钟为所述第一传感器数据建立第一时间戳;
[0058]
所述下位机根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据;
[0059]
所述下位机将所述第二传感器数据发送至所述上位机;
[0060]
所述上位机获取所述下位机发送的所述第二传感器数据;
[0061]
所述上位机从所述第二传感器数据中,提取所述第一时间戳和底层传感器时间偏移量;
[0062]
所述上位机基于所述第一时间戳和所述底层传感器时间偏移量,确定第二时间戳。
[0063]
第六方面,本申请提供一种时钟同步系统,所述时钟同步系统包括下位机、上位机以及底层传感器,
[0064]
所述下位机包括第一获取模块、时钟建立模块、时间戳建立模块、融合模块以及发送模块;
[0065]
所述第一获取模块,用于获取基准脉冲信号和所述底层传感器采集的第一传感器数据;
[0066]
所述时钟建立模块,用于基于所述基准脉冲信号建立下位机时钟;
[0067]
所述时间戳建立模块,用于基于所述下位机时钟为所述第一传感器数据建立第一时间戳;
[0068]
所述融合模块,用于根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据;
[0069]
所述发送模块,用于将所述第二传感器数据发送至所述上位机;
[0070]
所述上位机包括第二获取模块、提取模块以及确定模块;
[0071]
所述第二获取模块,用于获取所述下位机发送的第二传感器数据;
[0072]
所述提取模块,用于从所述第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0073]
所述确定模块,用于基于所述第一时间戳和所述底层传感器时间偏移量,确定第二时间戳。
[0074]
第七方面,本申请还提供一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行第一方面或第二方面中任一项的时钟同步方法。
[0075]
本申请的有益效果是:本申请提供一种时钟同步方法,应用于时钟同步系统,时钟同步系统包括下位机、上位机以及底层传感器,该时钟同步方法包括:下位机获取基准脉冲信号和底层传感器采集的第一传感器数据;下位机基于基准脉冲信号建立下位机时钟;下位机基于下位机时钟为第一传感器数据建立第一时间戳;下位机根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据;下位机将第二传感器数据发送至上位机。本申请在现有技术中底层传感器数据不带有时间戳,下位机也不存在时钟,而底层传感器数据需要经由下位机读取并转发至上位机,上位机从下位机读取不带时间戳的底层传感器数据的时候根据上位机自身时钟建立时间戳,上位机读取相关数据的时候由于系统调度等原因,该时间戳并非底层传感器数据的采集时间,造成上位机获取底层传感器数据的时间不准确,进而造成上位机获取底层传感器数据的时间不同步的情况下,创造性地通过下位机依据基准脉冲信号建立下位机时钟,为底层传感器数据建立第一时间戳,使得底层传感器数据有了统一的时间戳,当上位机读取底层传感器数据时,直接可以读取第一时间戳,不再需要上位机为底层传感器数据建立时间戳,消除了上位机读取相关数据的时候由于系统调度等原因造成的各个底层传感器数据不同步,从而能够保证各个底层传感器数据的时间同步。
附图说明
[0076]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0077]
图1是本申请实施例提供的时钟同步系统一个实施例结构示意图;
[0078]
图2是本申请实施例同步时钟方法的一个实施例流程示意图;
[0079]
图3是本申请实施例同步时钟方法的另一个实施例流程示意图;
[0080]
图4是本申请实施例同步时钟方法的又一个实施例流程示意图;
[0081]
图5是本申请实施例下位机的一个实施例结构示意图;
[0082]
图6是本申请实施例上位机的一个实施例结构示意图;
[0083]
图7是本申请实施例同步时钟方法的又一个实施例流程示意图;
[0084]
图8是本申请实施例同步时钟系统的另一个实施例结构示意图;
[0085]
图9是本申请实施例下位机的另一个实施例结构示意图;
[0086]
图10是本申请实施例上位机的另一个实施例结构示意图。
具体实施方式
[0087]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0088]
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0089]
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
[0090]
本申请实施例提供一种时钟同步方法、装置、系统及存储介质。以下分别进行详细说明。
[0091]
首先,参阅图1,图1是本申请实施例提供的时钟同步系统10一个实施例结构示意图。
[0092]
本申请实施例中,时钟同步系统10包括上位机103、下位机102、底层传感器101、上层传感器104。
[0093]
本申请实施例中,底层传感器101的传感器数据吞吐量小,数据接口一般为串口、i2c、spi、can等。数据通过下位机102采集并上发至上位机103。比如:惯性测量单元和编码器。
[0094]
惯性测量单元是测量物体三轴姿态角或角速率以及加速度的装置。一般的,一个惯性测量单元包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。
[0095]
编码器是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变
成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
[0096]
本申请实施例中,上层传感器104包括带gps接口传感器和独立型传感器。
[0097]
带gps接口传感器配备标准的gps信号接口,可通过接收外部时间信息修正自身时间系统以达到和外部时间系统统一的目的。比如:3d激光雷达。
[0098]
独立型传感器一般数据吞吐量较大,下位机102的处理器无法处理其数据,需直接上传至上位机103。比如:相机和红外热像仪等。可选地,相机为鱼眼相机、普通相机、深度相机、工业相机或其它成像技术。
[0099]
本申请实施例中,下位机102包括若干底层传感器接口和通讯接口。下位机102通过底层传感器接口与底层传感器101连接,通过通讯接口与上位机103连接。上位机103包括若干上层传感器104接口和通讯接口,上位机103通过通讯接口与下位机102连接,上位机103通过若干上层传感器104接口与上层传感器104直接连接。
[0100]
本申请实施例中,下位机102主要用于,获取基准脉冲信号和底层传感器采集的第一传感器数据;基于基准脉冲信号建立下位机时钟;基于下位机时钟为第一传感器数据建立第一时间戳;根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据;将第二传感器数据发送至上位机。
[0101]
请参阅图2,图2是本申请实施例同步时钟方法的一个实施例流程示意图。该同步时钟方法的具体流程可以如下:
[0102]
s21:下位机获取基准脉冲信号和底层传感器采集的第一传感器数据。
[0103]
本申请实施例中,底层传感器可以是惯性测量单元和编码器,底层传感器采集第一传感器数据,下位机从底层传感器中读取第一传感器数据。
[0104]
本申请实施例中,基准脉冲信号可以是gps秒脉冲信号,也可以是其他晶振信号,本申请对此不作限定。优选的,基准脉冲信号为gps秒脉冲信号。gps秒脉冲信号(pps,pulse per second)为从gps卫星上获取的标准时间信号,每秒输出一个脉冲,精度较高。
[0105]
s22:下位机基于基准脉冲信号建立下位机时钟。
[0106]
本申请实施例中,下位机基于gps秒脉冲信号建立下位机时钟。下位机时钟包括整秒数和毫秒数,其中,下位机时钟的格式可以为hhmmss.subsecond,hhmmss为整秒数、subsecond为毫秒数。
[0107]
具体的,下位机基于gps秒脉冲信号确定下位机时钟的整秒数;基于整秒数,通过下位机的内部定时器确定下位机时钟的毫秒数。例如,当下位机接收到gps秒脉冲信号后,将接受到gps秒脉冲信号的时刻确定为整秒数,然后通过内部定时器开始计时,从而确定下位机时钟的毫秒数。
[0108]
s23:下位机基于下位机时钟为第一传感器数据建立第一时间戳。
[0109]
本申请实施例中,下位机读取第一传感器数据的同时,读取下位机时钟上的时间,将读取的时间确定为第一传感器的时间戳。因此,下位机不停的读取第一传感器数据时,可以逐一为每个读取的第一传感器数据建立时间戳。
[0110]
s24:下位机根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据。
[0111]
本申请实施例中,下位机将第一时间戳和第一传感器数据进行打包,形成第二传
感器数据。这样,第二传感器数据中的数据就都携带有时间戳。
[0112]
在一个具体的实施例中,获取下位机读取第一传感器数据的第一时间;获取下位机发送第一传感器数据的第二时间;将第二时间与第一时间相减,得到底层传感器时间偏移量;根据第一时间戳、第一传感器数据以及底层传感器时间偏移量进行数据融合,得到第二传感器数据。下位机会按照预设周期向上位机发送数据,预设周期可以是10ms-50ms中的任意值。由于下位机已经建立了下位机时钟,因此,根据下位机的预设周期可以得到第二时间。由于读数和调度等原因,下位机读取第一传感器数据的时间和发送第一传感器的时间会存在差值,即底层传感器时间偏移量。因此,下位机计算出底层传感器时间偏移量并发送至上位机,能够补偿底层传感器时间偏移量带来的时钟不同步问题。
[0113]
s25:下位机将第二传感器数据发送至上位机。
[0114]
本申请实施例中,在下位机将第二传感器数据打包并发送到上位机。由于第二传感器数据带时间戳,因此上位机可以根据运行状态推算出短时间间隔内该传感器其他时刻运行状态,为预测算法做准备。
[0115]
区别于现有技术,本申请提供一种时钟同步方法,应用于时钟同步系统,时钟同步系统包括下位机、上位机以及底层传感器,该时钟同步方法包括:下位机获取基准脉冲信号和底层传感器采集的第一传感器数据;下位机基于基准脉冲信号建立下位机时钟;下位机基于下位机时钟为第一传感器数据建立第一时间戳;下位机根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据;下位机将第二传感器数据发送至上位机。本申请在现有技术中底层传感器数据不带有时间戳,造成上位机获取底层传感器数据时时间不同步的情况下,创造性地通过下位机依据基准脉冲信号建立下位机时钟,为底层传感器数据建立第一时间戳,使得底层传感器数据有了统一的时间戳,当上位机读取底层传感器数据时,直接可以读取第一时间戳,消除了上位机读取相关数据的时候由于系统调度等原因造成的各个底层传感器数据不同步,从而能够保证各个底层传感器数据的时间同步。
[0116]
本申请实施例中,上位机主要用于,获取下位机发送的第二传感器数据;上位机从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;上位机基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0117]
请参阅图3,图3是本申请实施例同步时钟方法的另一个实施例流程示意图。该同步时钟方法的具体流程可以如下:
[0118]
s31:上位机获取下位机发送的第二传感器数据。
[0119]
本申请实施例中,上位机通过通讯接口获取下位机发送的第二传感器数据。第二传感器数据为上一实施例中的第二传感器数据,在此不再赘述。
[0120]
s32:上位机从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量。
[0121]
本申请实施例中,由于在上一实施例中,下位机已经将第一时间戳、底层传感器时间偏移量以及第一传感器数据进行融合形成了第二传感器数据。因此,上位机可以直接从第二传感器数据中提取第一时间戳和底层传感器时间偏移量。
[0122]
s33:上位机基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0123]
在本申请的一些实施例中,上位机将第一时间戳和底层传感器时间偏移量之和,确定第二时间戳。由于第一时间戳为下位机读取第一传感器数据的时间,第一传感器数据的第一时间戳间隔可能会各不相同,而下位机向上位机发送第一传感器数据的时间间隔是
相同的。因此,将第一时间戳和底层传感器时间偏移量之和确定为第二时间戳,则各个第一传感器数据之间的第二时间戳将会等间隔分布,从而消除了底层传感器时间偏移量造成的时钟不同步问题。
[0124]
在本申请的一些实施例中,上位机基于第一时间戳和底层传感器时间偏移量,确定第二时间戳,可以包括以下步骤:
[0125]
s331:获取下位机发送的第一时钟脉冲信号。
[0126]
本申请实施例中,第一时钟脉冲信号为下位机发送的下位机时钟的整秒时刻。例如,下位机将hhmmss.subsecond中的hhmmss发送至上位机。
[0127]
s332:获取上位机接收第一时钟脉冲信号的第三时间和下位机发送第一时钟脉冲信号的第四时间。
[0128]
在一个具体的实施例中,下位机获取上位机的第一上位机时钟。其中,第一上位机时钟为上位机自带的系统时钟。基于第一时钟脉冲信号校正第一上位机时钟,得到第二上位机时钟。基于第二上位机时钟获取第三时间。也即,通过第一时钟脉冲信号对上位机自带的系统时钟进行校正,而第一时钟脉冲信号是与gps秒脉冲信号同步的,因此得到的第二上位计时钟与gps秒脉冲信号会同步。因此,根据第二上位机时钟获取的第三时间也是以gps秒脉冲信号为基准的时间信息。
[0129]
进一步的,获取gps推荐定位信息;判断gps推荐定位信息是否有效;若有效,则基于第一时钟脉冲信号校正第一上位机时钟,得到第二上位机时钟。gps推荐定位信息为gps装置的报文输出形式,包括协调世界时、定位状态、纬度经度、地面速率、磁偏角、磁偏、模式指示等。
[0130]
当gps推荐定位信息有效时,表明gps秒脉冲信号较为准确,可以使用,则根据根据第二上位机时钟获取的第三时间也是以gps秒脉冲信号为基准的时间信息。当gps推荐定位信息无效时,表明gps秒脉冲信号不准确,无法使用,则根据第一上位机时钟获取的第三时间,同时根据第一上位机时钟对下位机的下位机时钟进行修正,保持上位机和下位机的时钟同步。
[0131]
s333:将第三时间与第四时间相减,得到延迟时间值。
[0132]
本申请实施例中,将第三时间与第四时间相减,得到延迟时间值。
[0133]
s334:基于第一时间戳、底层传感器时间偏移量以及延迟时间值,确定第二时间戳。
[0134]
在一个具体的实施例中,判断延迟时间值是否小于预设值。若延迟时间值小于预设值,则基于第一时间戳、底层传感器时间偏移量以及延迟时间值,确定第二时间戳。其中,预设值为上位机和下位机中所有传感器的最小采集周期。如果传输延时大于各传感器最小采集周期,则传感器数据的时间戳会出现错周期,造成时钟不同步,而本申请在延迟时间小于预设值才确定第二时间戳,确保第二时间戳不会出现错周期,保证传感器的时钟同步。
[0135]
进一步的,请参阅图4,图4是本申请实施例同步时钟方法的又一个实施例流程示意图。该同步时钟方法的具体流程可以如下:
[0136]
s41、上位机获取下位机发送的第二传感器数据。
[0137]
本申请实施例中,s41与s31相同,s41的实现具体可参照s31的具体实现过程,在此不再赘述。
[0138]
s42、上位机从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量。
[0139]
本申请实施例中,s42与s32相同,s42的实现具体可参照s32的具体实现过程,在此不再赘述。
[0140]
s43、上位机基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0141]
本申请实施例中,s43与s33相同,s43的实现具体可参照s33的具体实现过程,在此不再赘述。
[0142]
s44、获取上层传感器采集的第三传感器数据和下位机发送的第二时钟脉冲信号。
[0143]
本申请实施例中,上层传感器包括相机和gps装置、激光雷达等装置。第二时钟脉冲信号为与gps秒脉冲信号同步的脉冲信号。对于gps装置,第二时钟脉冲信号为gps秒脉冲信号,gps装置获取gps推荐定位信息,并发送给上位机,上位机采集gps推荐定位信息。对于相机,下位机将gps秒脉冲信号进行分频处理,得到第二时钟脉冲信号。第二时钟脉冲信号的频率可以为10hz、20hz等频率,根据具体的上层传感器的精度决定,本申请对此不作限定。对于激光雷达,可直接采用gps脉冲信号,按秒进行校正,上位机可以直接从上层传感器采集第三传感器数据。
[0144]
s45、从第三传感器数据提取目标传感器数据,目标传感器数据为在相邻两个第二时钟脉冲信号之间获取的第三传感器数据。
[0145]
本申请实施例中,从第三传感器数据提取目标传感器数据,目标传感器数据为在相邻两个第二时钟脉冲信号之间获取的第三传感器数据。
[0146]
在一个具体的实施中,第二时钟脉冲信号为下位机时钟的整秒数,下位机在整秒时刻向下位机发送脉冲。上位机在接收到整秒数后将1秒内的第三传感器数据提取出来,即为目标传感器数据。
[0147]
s46、将目标传感器数据等间距依次排布在相邻两个第二时钟脉冲信号之间,以得到第三传感器数据的第三时间戳。
[0148]
本申请实施例中,将目标传感器数据等间距依次排布在相邻两个第二时钟脉冲信号之间,以得到第三传感器数据的第三时间戳。
[0149]
在一个具体的实施例中,第二时钟脉冲信号为下位机时钟的整秒数,下位机在整秒时刻向下位机发送脉冲。上位机在接收到整秒数后将1秒内的第三传感器数据提取出来,即为目标传感器数据。将目标传感器数据等间距依次排布在相邻两个第二时钟脉冲信号之间,然后读取各个目标传感器数据对应的时间,即可得目标传感器数据的时间戳,从而得到第三传感器数据的第三时间戳。由于上层传感器发送的数据是等间隔的,由于系统调度等原因导致实际收到的数据间隔不相等,会造成时钟不同步。而本申请上位机在收到上层传感器采集的第三传感器数据后,将其等间距排布,并根据下位机的第二时钟脉冲信号建立时间戳,将上层传感器采集的第三传感器数据与底层传感器采集的第二传感器数据进行了同步,实现了各个传感器之间的时间同步。
[0150]
参阅图5,本申请还提供一种下位机,下位机为上述任一实施例中的下位机。下位机包括第一获取模块501、时钟建立模块502、时间戳建立模块503、融合模块504以及发送模块505。具体的:
[0151]
第一获取模块501,用于获取基准脉冲信号和所述底层传感器采集的第一传感器数据;
[0152]
时钟建立模块502,用于基于所述基准脉冲信号建立下位机时钟;
[0153]
时间戳建立模块503,用于基于所述下位机时钟为所述第一传感器数据建立第一时间戳;
[0154]
融合模块504,用于根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据;
[0155]
发送模块505,用于将所述第二传感器数据发送至所述上位机。
[0156]
其中,时钟建立模块502,用于基于gps秒脉冲信号建立下位机时钟。
[0157]
其中,下位机时钟包括整秒数和毫秒数,时钟建立模块502,用于基于gps秒脉冲信号确定下位机时钟的整秒数;基于整秒数,通过下位机的内部定时器确定下位机时钟的毫秒数。
[0158]
融合模块504,用于获取下位机读取第一传感器数据的第一时间;
[0159]
获取下位机发送第一传感器数据的第二时间;
[0160]
将第二时间与第一时间相减,得到底层传感器时间偏移量;
[0161]
根据第一时间戳、第一传感器数据以及底层传感器时间偏移量进行数据融合,得到第二传感器数据。
[0162]
参阅图6,本申请还提供一种上位机,上位机为上述任一实施例中的上位机。上位机包括第二获取模块601、提取模块602、确定模块603。具体的:
[0163]
第二获取模块601,用于获取下位机发送的第二传感器数据;
[0164]
提取模块602,用于从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0165]
确定模块603,用于基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0166]
其中,确定模块603,用于获取下位机发送的第一时钟脉冲信号;
[0167]
获取上位机接收第一时钟脉冲信号的第三时间和下位机发送第一时钟脉冲信号的第四时间;
[0168]
将第三时间与第四时间相减,得到延迟时间值;
[0169]
基于第一时间戳、底层传感器时间偏移量以及延迟时间值,确定第二时间戳。
[0170]
其中,确定模块603,用于判断延迟时间值是否小于预设值;
[0171]
若是,则基于第一时间戳、底层传感器时间偏移量以及延迟时间值,确定第二时间戳。
[0172]
其中,确定模块603,用于获取上位机的第一上位机时钟;
[0173]
基于第一时钟脉冲信号校正第一上位机时钟,得到第二上位机时钟;
[0174]
基于第二上位机时钟获取第三时间。
[0175]
其中,确定模块603,用于获取gps推荐定位信息;
[0176]
判断gps推荐定位信息是否有效;
[0177]
若有效,则基于第一时钟脉冲信号校正第一上位机时钟,得到第二上位机时钟。
[0178]
其中,确定模块603,用于获取上层传感器采集的第三传感器数据和下位机发送的第二时钟脉冲信号;
[0179]
从第三传感器数据提取目标传感器数据,目标传感器数据为第三传感器数据中在相邻两个第二时钟脉冲信号之间获取的传感器数据;
[0180]
将目标传感器数据等间距依次排布在相邻两个第二时钟脉冲信号之间,以得到第三传感器数据的第三时间戳。
[0181]
区别于现有技术,本申请下位机获取基准脉冲信号和底层传感器采集的第一传感器数据;下位机基于基准脉冲信号建立下位机时钟;下位机基于下位机时钟为第一传感器数据建立第一时间戳;下位机根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据;下位机将第二传感器数据发送至上位机。本申请在现有技术中底层传感器数据不带有时间戳,造成上位机获取底层传感器数据时时间不同步的情况下,创造性地通过下位机依据基准脉冲信号建立下位机时钟,为底层传感器数据建立第一时间戳,使得底层传感器数据有了统一的时间戳,当上位机读取底层传感器数据时,直接可以读取第一时间戳,消除了上位机读取相关数据的时候由于系统调度等原因造成的各个底层传感器数据不同步,从而能够保证各个底层传感器数据的时间同步。
[0182]
进一步的,请参阅图7,图7是本申请实施例同步时钟方法的又一个实施例流程示意图。该同步时钟方法的具体流程可以如下:
[0183]
s51、下位机获取基准脉冲信号和底层传感器采集的第一传感器数据。
[0184]
本申请实施例中,s51与s21相同,s51的实现具体可参照s21的具体实现过程,在此不再赘述。
[0185]
s52、下位机基于基准脉冲信号建立下位机时钟。
[0186]
本申请实施例中,s52与s52相同,s52的实现具体可参照s52的具体实现过程,在此不再赘述。
[0187]
s53、下位机基于下位机时钟为第一传感器数据建立第一时间戳。
[0188]
本申请实施例中,s53与s23相同,s53的实现具体可参照s23的具体实现过程,在此不再赘述。
[0189]
s54、下位机根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据。
[0190]
本申请实施例中,s54与s24相同,s54的实现具体可参照s24的具体实现过程,在此不再赘述。
[0191]
s55:下位机将第二传感器数据发送至上位机
[0192]
本申请实施例中,s55与s25相同,s55的实现具体可参照s25的具体实现过程,在此不再赘述。
[0193]
s56:上位机获取下位机发送的第二传感器数据。
[0194]
本申请实施例中,s56与s31相同,s56的实现具体可参照s31的具体实现过程,在此不再赘述。
[0195]
s57:上位机从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量。
[0196]
本申请实施例中,s57与s32相同,s57的实现具体可参照s32的具体实现过程,在此不再赘述。
[0197]
s58:上位机基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0198]
本申请实施例中,s58与s33相同,s58的实现具体可参照s33的具体实现过程,在此不再赘述。
[0199]
进一步的,请参阅图8,图8是本申请实施例同步时钟系统的另一个实施例结构示
意图。该同步时钟系统包括上位机和下位机以及底层传感器;
[0200]
其中,下位机包括第一获取模块901、时钟建立模块902、时间戳建立模块903、融合模块904以及发送模块905。具体的:
[0201]
第一获取模块901,用于获取基准脉冲信号和所述底层传感器采集的第一传感器数据;
[0202]
时钟建立模块902,用于基于所述基准脉冲信号建立下位机时钟;
[0203]
时间戳建立模块903,用于基于所述下位机时钟为所述第一传感器数据建立第一时间戳;
[0204]
融合模块904,用于根据所述第一时间戳和所述第一传感器数据进行数据融合,得到第二传感器数据;
[0205]
发送模块905,用于将所述第二传感器数据发送至所述上位机。
[0206]
其中,时钟建立模块902,用于基于gps秒脉冲信号建立下位机时钟。
[0207]
其中,下位机时钟包括整秒数和毫秒数,时钟建立模块902,用于基于gps秒脉冲信号确定下位机时钟的整秒数;基于整秒数,通过下位机的内部定时器确定下位机时钟的毫秒数。
[0208]
融合模块904,用于获取下位机读取第一传感器数据的第一时间;
[0209]
获取下位机发送第一传感器数据的第二时间;
[0210]
将第二时间与第一时间相减,得到底层传感器时间偏移量;
[0211]
根据第一时间戳、第一传感器数据以及底层传感器时间偏移量进行数据融合,得到第二传感器数据。
[0212]
其中,上位机包括第二获取模块906、提取模块907、确定模块908。具体的:
[0213]
第二获取模块906,用于获取下位机发送的第二传感器数据;
[0214]
提取模块907,用于从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0215]
确定模块908,用于基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0216]
其中,确定模块908,用于获取下位机发送的第一时钟脉冲信号;
[0217]
获取上位机接收第一时钟脉冲信号的第三时间和下位机发送第一时钟脉冲信号的第四时间;
[0218]
将第三时间与第四时间相减,得到延迟时间值;
[0219]
基于第一时间戳、底层传感器时间偏移量以及延迟时间值,确定第二时间戳。
[0220]
其中,确定模块908,用于判断延迟时间值是否小于预设值;
[0221]
若是,则基于第一时间戳、底层传感器时间偏移量以及延迟时间值,确定第二时间戳。
[0222]
其中,确定模块908,用于获取上位机的第一上位机时钟;
[0223]
基于第一时钟脉冲信号校正第一上位机时钟,得到第二上位机时钟;
[0224]
基于第二上位机时钟获取第三时间。
[0225]
其中,确定模块908,用于获取gps推荐定位信息;
[0226]
判断gps推荐定位信息是否有效;
[0227]
若有效,则基于第一时钟脉冲信号校正第一上位机时钟,得到第二上位机时钟。
[0228]
其中,确定模块908,用于获取上层传感器采集的第三传感器数据和下位机发送的第二时钟脉冲信号;
[0229]
从第三传感器数据提取目标传感器数据,目标传感器数据为第三传感器数据中在相邻两个第二时钟脉冲信号之间获取的传感器数据;
[0230]
将目标传感器数据等间距依次排布在相邻两个第二时钟脉冲信号之间,以得到第三传感器数据的第三时间戳。
[0231]
本申请实施例还提供一种下位机,下位机包括:
[0232]
一个或多个处理器;
[0233]
存储器;以及
[0234]
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行图2及其文字描述的任一实施例中时钟同步方法的步骤。
[0235]
如图9所示,其示出了本申请实施例所涉及的下位机的结构示意图,具体来讲:
[0236]
该下位机可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图中示出的下位机结构并不构成对下位机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0237]
处理器701是该下位机的控制中心,利用各种接口和线路连接整个下位机的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行下位机的各种功能和处理数据,从而对下位机进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
[0238]
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据下位机的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
[0239]
下位机还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0240]
该下位机还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0241]
尽管未示出,下位机还可以包括显示单元等,在此不再赘述。具体在本申请实施例中,下位机中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从
而实现各种功能,如下:
[0242]
获取基准脉冲信号和底层传感器采集的第一传感器数据;
[0243]
基于基准脉冲信号建立下位机时钟;
[0244]
基于下位机时钟为第一传感器数据建立第一时间戳;
[0245]
根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据;
[0246]
将第二传感器数据发送至上位机。
[0247]
本申请实施例还提供一种上位机,上位机包括:
[0248]
一个或多个处理器;
[0249]
存储器;以及
[0250]
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行图3、图4及其文字描述的任一实施例中时钟同步方法的步骤。
[0251]
如图10所示,其示出了本申请实施例所涉及的上位机的结构示意图,具体来讲:
[0252]
该上位机可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图10中示出的上位机结构并不构成对上位机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0253]
其中:
[0254]
处理器801是该上位机的控制中心,利用各种接口和线路连接整个上位机的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行上位机的各种功能和处理数据,从而对上位机进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
[0255]
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据上位机的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
[0256]
上位机还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0257]
该上位机还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0258]
尽管未示出,上位机还可以包括显示单元等,在此不再赘述。具体在本申请实施例中,上位机中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的
可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
[0259]
获取下位机发送的第二传感器数据;
[0260]
从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0261]
基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0262]
为此,本申请实施例提供一种存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。该存储介质中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种时钟同步方法中的步骤。例如,该指令可以执行如下步骤:
[0263]
获取基准脉冲信号和底层传感器采集的第一传感器数据;
[0264]
基于基准脉冲信号建立下位机时钟;
[0265]
基于下位机时钟为第一传感器数据建立第一时间戳;
[0266]
根据第一时间戳和第一传感器数据进行数据融合,得到第二传感器数据;
[0267]
将第二传感器数据发送至上位机。
[0268]
或者,
[0269]
获取下位机发送的第二传感器数据;
[0270]
从第二传感器数据中,提取第一时间戳和底层传感器时间偏移量;
[0271]
基于第一时间戳和底层传感器时间偏移量,确定第二时间戳。
[0272]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0273]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0274]
以上对本申请实施例所提供的一种时钟同步方法、装置、系统及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1