时间同步方法、多余度飞控系统以及可读存储介质与流程

文档序号:33013798发布日期:2023-01-20 14:45阅读:30来源:国知局
时间同步方法、多余度飞控系统以及可读存储介质与流程

1.本发明涉及飞行器技术领域,尤其涉及一种时间同步方法、多余度飞控系统以及可读存储介质。


背景技术:

2.在飞行器中,测量系统通常包括分布在飞行器中观察各个飞行器操作的多个装置。这些测量系统通常需要在时间上准确地同步,使得由一个装置测量的事件可以传送到另一装置。以此方式,测量系统可以将由空间上分开的装置测量的事件相互关联。
3.当前的同步解决方案可包括ntp(network time protocol,网络时间协议)和ptp(precision time protocol,精确时间协议)。然而,ntp的精度限制导致其难以应用于飞行器中,而ptp由于协议复杂而对系统架构要求较高,且不支持飞行器系统的硬件单元,造成ptp难以应用于飞行器中,导致飞行器的时间同步不准确。
4.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

5.本发明的主要目的在于提供一种时间同步方法、多余度飞控系统以及可读存储介质,旨在解决现有飞行器的时间同步不准确的技术问题。
6.为实现上述目的,本发明提供一种时间同步方法,应用于飞行器中多余度飞控系统的第一飞控单元,所述时间同步方法包括以下步骤:
7.定时定时接收到所述多余度飞控系统的第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元;
8.接收到所述第二飞控单元发送的第三数据包时,基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差;
9.基于所述时间偏差调节所述第一时钟。
10.进一步地,所述基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差的步骤包括:
11.获取所述第一数据包对应的第一发送时刻以及第一接收时刻,并获取第二数据包对应的第二发送时刻,以及所述第二数据包对应的第二接收时刻;
12.基于所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻,确定所述时间偏差。
13.进一步地,所述获取所述第一数据包对应的第一发送时刻以及第一接收时刻的步骤包括:
14.接收到所述第一数据包时,获取所述第一飞控单元的第一计数器的当前计数值作
为所述第一接收时刻;
15.解析所述第一数据包,以获得所述第一发送时刻,其中,所述第二飞控单元在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻,并在所述第一数据包中写入所述第一发送时刻。
16.进一步地,所述获取第二数据包对应的第二发送时刻,以及所述第三数据包对应的第三发送时刻的步骤包括:
17.发送第二数据包至所述总线时,获取所述第一计数器的当前计数值作为所述第二发送时刻;
18.解析所述第三数据包,以获得所述第二接收时刻,其中,所述第二飞控单元在通过总线接收到第二数据包时,获取所述第二计数器的当前计数值作为所述第二接收时刻,并在所述第三数据包中写入所述第二接收时刻。
19.进一步地,所述定时接收到所述多余度飞控系统的第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元的步骤之前,还包括:
20.定时发送心跳包至所述第二飞控单元,其中,所述第二飞控单元基于所述心跳包反馈所述第一数据包。
21.进一步地,所述发送第二数据包至所述第二飞控单元的步骤之后,还包括:
22.若发送所述第二数据包之后的持续时长达到第一预设时长时,未接收到所述第三数据包,则返回执行发送第二数据包至所述第二飞控单元的步骤。
23.进一步地,应用于飞行器中多余度飞控系统的第二飞控单元,所述时间同步方法包括以下步骤:
24.发送第一数据包至所述多余度飞控系统中各个第一飞控单元的目标飞控单元;
25.接收到所述目标飞控单元反馈的第二数据包时,发送第三数据包至所述目标飞控单元,其中,所述目标飞控单元基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述目标飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,并基于所述时间偏差调节所述第一时钟。
26.进一步地,所述发送第一数据包至所述多余度飞控系统中各个第一飞控单元的目标飞控单元的步骤包括:
27.在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻;
28.在所述第一数据包中写入所述第一发送时刻,并通过所述总线发送所述第一数据包至所述目标飞控单元。
29.进一步地,所述发送第一数据包至所述多余度飞控系统中各个第一飞控单元的目标飞控单元的步骤包括:
30.依次确定各个第一飞控单元的目标飞控单元,并发送所述第一数据包至所述目标飞控单元;
31.所述发送第三数据包至所述目标飞控单元的步骤包括:
32.发送第三数据包至所述目标飞控单元,并返回执行依次确定各个第一飞控单元的目标飞控单元的步骤。
33.进一步地,所述发送第一数据包至所述多余度飞控系统中各个第一飞控单元的目
标飞控单元的步骤之前,还包括:
34.上电时,监听各个第一飞控单元发送的心跳包,并在上电之后的持续时长达到第二预设时长时,基于所述心跳包确定各个所述第一飞控单元。
35.此外,为实现上述目的,本发明还提供一种多余度飞控系统,应用于飞行器,包括第一飞控单元以及第二飞控单元,其中:
36.第一飞控单元,用于接收到第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元;
37.第一飞控单元,还用于接收到所述第二飞控单元发送的第三数据包时,基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,并基于所述时间偏差调节所述第一时钟;
38.第二飞控单元,用于发送第一数据包至所述第一飞控单元,并在接收到第二数据包时,发送第三数据包至所述第一飞控单元。
39.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有时间同步程序,所述时间同步程序被处理器执行时实现前述的时间同步方法的步骤。
40.本发明通过定时接收到所述多余度飞控系统的第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元;接着接收到所述第二飞控单元发送的第三数据包时,基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差;而后基于所述时间偏差调节所述第一时钟,进而可根据第一数据包、第二数据包以及第三数据包准确得到第一飞控单元与第二飞控单元之间的时间偏差,通过该时间偏差调解第一飞控单元的时钟,以准确实现第一飞控单元与第二飞控单元之间的时间同步,进而可实现飞行器的多余度飞控系统中各个飞控单元之间的时间同步。
附图说明
41.图1是本发明实施例方案涉及的硬件运行环境中时间同步装置结构示意图;
42.图2为本发明时间同步方法第一实施例的流程示意图;
43.图3为本发明时间同步方法第五实施例的流程示意图。
44.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
45.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
46.如图1所示,图1是本发明实施例方案涉及的硬件运行环境中时间同步装置结构示意图。
47.本发明实施例时间同步装置可以是飞行器的多余度飞控系统中的飞控单元。如图1所示,该时间同步装置可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接
口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
48.本领域技术人员可以理解,图1中示出的终端结构并不构成对时间同步装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
49.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及时间同步程序。
50.在图1所示的时间同步装置中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的时间同步程序。
51.在本实施例中,时间同步装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的时间同步程序,其中,处理器1001调用存储器1005中存储的时间同步程序时,执行以下各个实施例中时间同步方法的步骤。
52.本发明还提供一种时间同步方法,参照图2,图2为本发明时间同步方法第一实施例的流程示意图。
53.该时间同步方法应用于飞行器中多余度飞控系统的第一飞控单元,其中,多余度飞控系统设置有多个飞控单元,包括第一飞控单元以及第二飞控单元,第二飞控单元为多个飞控单元中的任意一个,第二飞控单元作为主站,第一飞控单元为多个飞控单元中除第二飞控单元之外的其他飞控单元中的任意一个,第一飞控单元作为从站,该时间同步方法用于将第二飞控单元的时钟域的时间同步至第一飞控单元。
54.该时间同步方法包括以下步骤:
55.步骤s101,定时接收到所述多余度飞控系统的第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元;
56.在进行时间同步时,第二飞控单元周期性的(或定时)发送第一数据包至第一飞控单元,该第一数据包包括第一数据包对应的第一发送时刻,该第一发送时刻为第一飞控单元中第一数据包的发送时刻,第一飞控单元在接收到第一数据包时,发送第二数据包至第二飞控单元,其中,定时发送第一数据包的时间间隔可以根据当前与第二飞控单元通信的第一飞控单元的数量以及每一个第一飞控单元的时间同步所需时长进行合理设置。
57.步骤s102,接收到所述第二飞控单元发送的第三数据包时,基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差;
58.第二飞控单元在接收到第二数据包之后,会发生第三数据包至第一飞控单元,该第三数据包包括第二数据包对应的第二发送时刻,该第二发送时刻为第一飞控单元接收第二数据包的时刻。
59.第一飞控单元接收到所述第二飞控单元发送的第三数据包时,基于第一数据包、第二数据包以及所述第三数据包,确定第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,具体地,第一飞控单元根据第一数据包、第二数据包以及所述第三数据包,确定第一数据包的发送时刻以及接收时刻,第二数据包的发送时刻以及接收时刻,并基于第一数据包的发送时刻以及接收时刻,第二数据包的发送时刻以及接收时刻,计算
确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差。
60.步骤s103,基于所述时间偏差调节所述第一时钟。
61.在获取到时间偏差,第一飞控单元基于所述时间偏差调节第一时钟,具体地,计算第一飞控单元当前的时钟与时间偏差之间的和值,基于该和值作调节第一时钟,即将该和值作为调整后的第一飞控单元的时钟。
62.进一步地,一实施例中,步骤s101之前,该时间同步方法还包括:
63.步骤a,定时发送心跳包至所述第二飞控单元,其中,所述第二飞控单元基于所述心跳包反馈所述第一数据包。
64.在多余度飞控系统上电后,各个第一飞控单元定时发送心跳包至第二飞控单元,以使第二飞控单元知晓当前与其通信连接的第一飞控单元,从而准确向第一飞控单元发送第一数据包,以确保每一个上电的第一飞控单元均能够与第二飞控单元进行时间同步。
65.其中,在多余度飞控系统上电后,第二飞控单元实时监听各个第一飞控单元发送的心跳包;在上电之后的持续时长达到第二预设时长时,基于所述心跳包确定各个第一飞控单元,即根据第二预设时长内接收到的心跳包确定在线的第一飞控单元,即需要进行时间同步的第一飞控单元。
66.进一步地,又一实施例中,步骤s101之后,该时间同步方法还包括:
67.步骤b,若发送所述第二数据包之后的持续时长达到第一预设时长时,未接收到所述第三数据包,则返回执行发送第二数据包至所述第二飞控单元的步骤。
68.在多余度飞控系统中可预先设置第二数据包发送之后的等待时长即第一预设时长,该第一预设时长可以根据每一个飞控单元的预测同步所需时长进行合理设置。在发送第二数据包之后的持续时长达到第一预设时长时,未接收到所述第三数据包,则第一飞控单元返回执行发送第二数据包至所述第二飞控单元的步骤,以重新发送第二数据包,进而确保第一飞控单元能够与第二飞控单元进行时间同步。
69.通过定时接收到所述多余度飞控系统的第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元;接着接收到所述第二飞控单元发送的第三数据包时,基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差;而后基于所述时间偏差调节所述第一时钟,进而可根据第一数据包、第二数据包以及第三数据包准确得到第一飞控单元与第二飞控单元之间的时间偏差,通过该时间偏差调解第一飞控单元的时钟,以准确实现第一飞控单元与第二飞控单元之间的时间同步,进而可实现飞行器的多余度飞控系统中各个飞控单元之间的时间同步。
70.基于第一实施例,提出本发明时间同步方法的第二实施例,包括第一实施例的全部内容,其中,步骤s102包括:
71.步骤s201,获取所述第一数据包对应的第一发送时刻以及第一接收时刻,并获取第二数据包对应的第二发送时刻,以及所述第二数据包对应的第二接收时刻;
72.步骤s202,基于所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻,确定所述时间偏差。
73.在接收到第二飞控单元发送的第三数据包时,第一飞控单元获取所述第一数据包对应的第一发送时刻以及第一接收时刻,例如,通过第一数据包获取其第一发送时刻,第一
接收时刻为第一飞控单元接收到该第一数据包的时刻(第一飞控单元的第一时钟的时刻)。
74.同时获取第二数据包对应的第二发送时刻,以及所述第二数据包对应的第二接收时刻,具体的,第二飞控单元可在第三数据包中添加第二数据包对应的第二接收时刻,第一飞控单元通过该第三数据包获取该第二接收时刻,第二发送时刻为第一飞控单元发送该第二数据包的时刻(第一飞控单元的第一时钟的时刻)。
75.接着,基于第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻,确定所述时间偏差,具体的,由于第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延相同,则第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延的公式分别为:
76.time_delay=(t
i2
+time_offset)-t
i1

77.time_delay=t
i4-(t
i3
+time_offset);
78.其中,time_delay为传输时延,time_offset为时间偏差,t
i1
为第一发送时刻,t
i2
为第一接收时刻,t
i3
为第二发送时刻,t
i4
为第二接收时刻。
79.可得到传输时延与时间偏差的公式,分别为:time_delay=(t
i2-t
i1
+t
i4-t
i3
)/2;time_offset=(t
i1
+t
i4-t
i2-t
i3
)/2;进而可根据时间偏差的公式准确得到该时间偏差。
80.通过获取所述第一数据包对应的第一发送时刻以及第一接收时刻,并获取第二数据包对应的第二发送时刻,以及所述第二数据包对应的第二接收时刻;接着基于所述第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻,确定所述时间偏差,能够根据第一发送时刻、所述第一接收时刻、所述第二发送时刻以及所述第二接收时刻准确得到时间偏差,进而提高了时间同步的准确性。
81.基于第二实施例,提出本发明时间同步方法的第三实施例,包括第二实施例的全部内容,其中,步骤s102包括:
82.步骤s301,接收到所述第一数据包时,获取所述第一飞控单元的第一计数器的当前计数值作为所述第一接收时刻;
83.步骤s302,解析所述第一数据包,以获得所述第一发送时刻,其中,所述第二飞控单元在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻,并在所述第一数据包中写入所述第一发送时刻。
84.在接收到第一数据包时,获取所述第一飞控单元的第一计数器的当前计数值作为所述第一接收时刻,即第一飞控单元通过总线接收到第一数据包时,即获取第一接收时刻,其中,各个第一飞控单元均设有一个周期性的第一计数器counter,该第一计数器为第一飞控单元本地的时间计数。
85.接着,第一飞控单元解析所述第一数据包,以获得所述第一发送时刻,其中,第二飞控单元在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻,并在所述第一数据包中写入所述第一发送时刻,并通过该总线发送第一数据包至第一飞控单元,其中,第二飞控单元均设有一个周期性的第二计数器counter,该第二计数器为第二飞控单元本地的时间计数,第一数据包由第二飞控单元的fpga生成,fpga在物理接口的上一层,在发送端,fpga获得第一数据包时直接发送到总线的接口上,到了接口的数据的处理时延基本上是固定的,通过在第一数据包发送到总线时在第一数据包中写入所述第一发送时刻,以及第一飞控单元通过总线接收到第一数据包时,
即通过获取第一接收时刻,第一数据包的传输时延仅包括总线中的传输时延,因此可确保第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延相同。
86.通过接收到所述第一数据包时,获取所述第一飞控单元的第一计数器的当前计数值作为所述第一接收时刻;接着解析所述第一数据包,以获得所述第一发送时刻,其中,所述第二飞控单元在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻,并在所述第一数据包中写入所述第一发送时刻,进而可准确获得第一接收时刻以及第一发送时刻,以通过第一接收时刻以及第一发送时刻准确得到时间偏差,进一步提高了时间同步的准确性。
87.基于第二实施例,提出本发明时间同步方法的第四实施例,包括第二实施例的全部内容,其中,步骤s102包括:
88.步骤s401,发送第二数据包至所述总线时,获取所述第一计数器的当前计数值作为所述第二发送时刻;
89.步骤s402,解析所述第三数据包,以获得所述第二接收时刻,其中,所述第二飞控单元在通过总线接收到第二数据包时,获取所述第二计数器的当前计数值作为所述第二接收时刻,并在所述第三数据包中写入所述第二接收时刻。
90.第一飞控单元在发送第二数据包至所述总线时,获取所述第一计数器的当前计数值作为所述第二发送时刻,第二数据包由第一飞控单元的fpga生成,其中,各个第一飞控单元均设有一个周期性的第一计数器counter,该第一计数器为第一飞控单元本地的时间计数。
91.第二飞控单元在通过总线接收到第二数据包时,获取所述第二计数器的当前计数值作为所述第二接收时刻,并在所述第三数据包中写入所述第二接收时刻,即第二飞控单元通过总线接收到第二数据包时,即获取第二接收时刻,其中,第二飞控单元均设有一个周期性的第二计数器counter,该第二计数器为第二飞控单元本地的时间计数。
92.接收到第三数据包时,第一飞控单元通过解析所述第三数据包,以获得所述第二接收时刻。
93.通过在第二数据包发送到总线时在第二数据包中写入所述第二发送时刻,以及第二飞控单元通过总线接收到第二数据包时,即通过获取第二接收时刻,并在所述第三数据包中写入所述第二接收时刻,使得第二数据包的传输时延仅包括总线中的传输时延,因此可确保第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延相同,即第一数据包与第二数据包的传输时延相同。
94.通过发送第二数据包至所述总线时,获取所述第一计数器的当前计数值作为所述第二发送时刻;接着解析所述第三数据包,以获得所述第二接收时刻,其中,所述第二飞控单元在通过总线接收到第二数据包时,获取所述第二计数器的当前计数值作为所述第二接收时刻,并在所述第三数据包中写入所述第二接收时刻,进而可准确获得第二接收时刻以及第二发送时刻,以通过第二发接收时刻以及第二发发送时刻准确得到时间偏差,进一步提高了时间同步的准确性。
95.本发明还提供一种时间同步方法,参照图3,图3为本发明时间同步方法第五实施例的流程示意图。
96.该时间同步方法应用于飞行器中多余度飞控系统的第二飞控单元,其中,多余度飞控系统设置有多个飞控单元,包括第一飞控单元以及第二飞控单元,第二飞控单元为多个飞控单元中的任意一个,第二飞控单元作为主站,第一飞控单元为多个飞控单元中除第二飞控单元之外的其他飞控单元中的任意一个,第一飞控单元作为从站,该时间同步方法用于将第二飞控单元的时钟域的时间同步至第一飞控单元。
97.该时间同步方法包括以下步骤:
98.步骤s501,发送第一数据包至所述多余度飞控系统中各个第一飞控单元的目标飞控单元;
99.步骤s502,接收到所述目标飞控单元反馈的第二数据包时,发送第三数据包至所述目标飞控单元,其中,所述目标飞控单元基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述目标飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,并基于所述时间偏差调节所述第一时钟。
100.在进行时间同步时,第二飞控单元周期性的(或定时)发送第一数据包至目标飞控单元,该第一数据包包括第一数据包对应的第一发送时刻,该第一发送时刻为目标飞控单元中第一数据包的发送时刻。
101.目标飞控单元在接收到第一数据包时,发送第二数据包至第二飞控单元,其中,定时发送第一数据包的时间间隔可以根据当前与第二飞控单元通信的第一飞控单元的数量以及每一个第一飞控单元的时间同步所需时长进行合理设置。
102.第二飞控单元在接收到第二数据包之后,会发生第三数据包至第一飞控单元,该第三数据包包括第二数据包对应的第二发送时刻,该第二发送时刻为第一飞控单元接收第二数据包的时刻。
103.目标飞控单元接收到所述第二飞控单元发送的第三数据包时,基于第一数据包、第二数据包以及所述第三数据包,确定目标飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,具体地,目标飞控单元根据第一数据包、第二数据包以及所述第三数据包,确定第一数据包的发送时刻以及接收时刻,第二数据包的发送时刻以及接收时刻,并基于第一数据包的发送时刻以及接收时刻,第二数据包的发送时刻以及接收时刻,计算确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差。
104.具体地,在接收到第二飞控单元发送的第三数据包时,目标飞控单元获取所述第一数据包对应的第一发送时刻以及第一接收时刻,例如,通过第一数据包获取其第一发送时刻,第一接收时刻为目标飞控单元接收到该第一数据包的时刻(目标飞控单元的第一时钟的时刻)。同时目标飞控单元获取第二数据包对应的第二发送时刻,以及所述第二数据包对应的第二接收时刻,具体的,第二飞控单元可在第三数据包中添加第二数据包对应的第二接收时刻,目标飞控单元通过该第三数据包获取该第二接收时刻,第二发送时刻为目标飞控单元发送该第二数据包的时刻(第一飞控单元的第一时钟的时刻)。接着,基于第一发送时刻、第一接收时刻、第二发送时刻以及第二接收时刻,目标飞控单元确定所述时间偏差,其中,时间偏差的公式为:time_offset=(t
i1
+t
i4-t
i2-t
i3
)/2;time_offset为时间偏差,t
i1
为第一发送时刻,t
i2
为第一接收时刻,t
i3
为第二发送时刻,t
i4
为第二接收时刻。
105.其中,在接收到第一数据包时,获取所述目标飞控单元的第一计数器的当前计数值作为所述第一接收时刻,即目标飞控单元通过总线接收到第一数据包时,即获取第一接
收时刻,目标飞控单元解析所述第一数据包,以获得所述第一发送时刻,其中,第二飞控单元在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻,并在所述第一数据包中写入所述第一发送时刻,并通过该总线发送第一数据包至目标飞控单元,目标飞控单元在发送第二数据包至所述总线时,获取所述第一计数器的当前计数值作为所述第二发送时刻,第二数据包由目标飞控单元的fpga生成,第二飞控单元在通过总线接收到第二数据包时,获取所述第二计数器的当前计数值作为所述第二接收时刻,并在所述第三数据包中写入所述第二接收时刻,因此可确保第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延相同,即第一数据包与第二数据包的传输时延相同。
106.进一步地,一实施例中,步骤s501之前,该时间同步方法还包括:
107.步骤e,上电时,监听各个第一飞控单元发送的心跳包,并在上电之后的持续时长达到第二预设时长时,基于所述心跳包确定各个所述第一飞控单元。
108.在多余度飞控系统上电后,各个第一飞控单元定时发送心跳包至第二飞控单元,以使第二飞控单元知晓当前与其通信连接的第一飞控单元,第二飞控单元实时监听各个第一飞控单元发送的心跳包;在上电之后的持续时长达到第二预设时长时,基于所述心跳包确定各个第一飞控单元,即根据第二预设时长内接收到的心跳包确定在线的第一飞控单元,即需要进行时间同步的第一飞控单元,从而准确向第一飞控单元发送第一数据包,以确保每一个上电的第一飞控单元均能够与第二飞控单元进行时间同步。
109.进一步地,又一实施例中,步骤s501包括:
110.步骤d,依次确定各个第一飞控单元的目标飞控单元,并发送所述第一数据包至所述目标飞控单元;
111.步骤s502包括:步骤c,发送第三数据包至所述目标飞控单元,并返回执行依次确定各个第一飞控单元的目标飞控单元的步骤。
112.其中,可通过心跳包的接收时间先后顺序,依次确定各个第一飞控单元的目标飞控单元,并发送所述第一数据包至所述目标飞控单元,然后在发送第三数据包至所述目标飞控单元之后,确定目标飞控单元已完成时间同步,进而在剩余的第一飞控单元中再次确定目标飞控单元,以实现对各个第一飞控单元的时间同步。
113.通过发送第一数据包至所述多余度飞控系统中各个第一飞控单元的目标飞控单元;接着接收到所述目标飞控单元反馈的第二数据包时,发送第三数据包至所述目标飞控单元,其中,所述目标飞控单元基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述目标飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,并基于所述时间偏差调节所述第一时钟,进而可根据第一数据包、第二数据包以及第三数据包准确得到第一飞控单元与第二飞控单元之间的时间偏差,通过该时间偏差调解第一飞控单元的时钟,以准确实现第一飞控单元与第二飞控单元之间的时间同步,进而可实现飞行器的多余度飞控系统中各个飞控单元之间的时间同步。
114.基于第五实施例,提出本发明时间同步方法的第六实施例,包括第五实施例的全部内容,其中,步骤s501包括:
115.步骤s601,在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻;
116.步骤s602,在所述第一数据包中写入所述第一发送时刻,并通过所述总线发送所述第一数据包至所述目标飞控单元。
117.第二飞控单元在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻,并在所述第一数据包中写入所述第一发送时刻,并通过该总线发送第一数据包至目标飞控单元,其中,第二飞控单元均设有一个周期性的第二计数器counter,该第二计数器为第二飞控单元本地的时间计数,第一数据包由第二飞控单元的fpga生成,fpga在物理接口的上一层,在发送端,fpga获得第一数据包时直接发送到总线的接口上,到了接口的数据的处理时延基本上是固定的,通过在第一数据包发送到总线时在第一数据包中写入所述第一发送时刻,使得第一数据包的传输时延仅包括总线中的传输时延,因此可确保第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延相同。
118.通过在所述第一数据包发送到总线时,获取所述第二飞控单元的第二计数器的当前计数值作为所述第一发送时刻;接着在所述第一数据包中写入所述第一发送时刻,并通过所述总线发送所述第一数据包至所述目标飞控单元,通过在第一数据包上传总线时在第一数据包中添加第一发送时刻,以确保第一数据包的传输时延仅包括总线中的传输时延,因此可确保第二飞控单元到第一飞控单元的传输时延与第一飞控单元到第二飞控单元的传输时延相同,提高时间同步的准确性以及精度。
119.此外,本发明实施例还提出一种多余度飞控系统,其特征在于,应用于飞行器,包括第一飞控单元以及第二飞控单元,其中,
120.第一飞控单元,用于接收到第二飞控单元发送的第一数据包时,发送第二数据包至所述第二飞控单元;
121.第一飞控单元,还用于接收到所述第二飞控单元发送的第三数据包时,基于所述第一数据包、所述第二数据包以及所述第三数据包,确定所述第一飞控单元的第一时钟与所述第二飞控单元的第二时钟之间的时间偏差,并基于所述时间偏差调节所述第一时钟;
122.第二飞控单元,用于发送第一数据包至所述第一飞控单元,并在接收到第二数据包时,发送第三数据包至所述第一飞控单元。
123.上述各程序单元所执行的方法可参照本技术时间同步方法各个实施例,此处不再赘述。
124.此外,本技术还提出一种计算机可读存储介质,所述可读存储介质上存储有时间同步程序,所述时间同步程序被处理器执行时实现如上所述的时间同步方法的步骤。
125.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
126.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
127.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
128.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1