本发明涉及时间同步领域,尤其涉及一种嵌入式系统时间统一方法、装置、终端设备及存储介质。
背景技术:
1、现代嵌入式系统通常需要同时应对多个时间系统的需求,例如实时控制、数据记录和网络通信等。但是现有的时间同步处理方式存在多种协议类型,如gps同步,ntp(network time protocol,网络时间协议)同步、gptp(general precise time protocol,精确时间同步协议)同步等协议,而对于多种协议类型的时间同步方式所传输的处理误差不统一,不同的时间系统往往使用不同的时钟源和计数器,导致时间的精度和同步性无法保证。且各协议类型之间的转换和融合支持相对较少,需要一种能够有效融合转换多种时间同步协议的软件方法,以满足嵌入式系统中多时间系统的需求。
技术实现思路
1、第一方面,本申请提供一种嵌入式系统时间统一方法,所述嵌入式系统包括至少一个时钟源、主单元和从单元,所述方法包括:
2、当主单元接收到来自从单元的系统时间请求时,确定所述主单元是否完成了时间同步;
3、若所述主单元完成了时间同步,则所述主单元获取上一次时间同步时接收的系统同步时间,并计算当前时刻和上一次时间同步时的时间偏移;
4、根据所述时间偏移和所述系统同步时间,计算当前的系统时间,并将所述系统时间发送给所述从单元,所述从单元根据所述系统时间,计算得到所述从单元的本地时间。
5、进一步的,所述主单元获取上一次时间同步时接收的系统同步时间,并计算当前时刻和上一次时间同步时的时间偏移,包括:
6、获取所述主单元上一次收到时间同步事件时所述主单元的滴答时间,并将该滴答时间作为参考时间,并计算每毫秒的滴答数;
7、获取来自所述时钟源的同步时间,并将当前时刻的滴答时间作为当前时间;
8、根据所述当前时间、每毫秒的滴答数和所述参考时间计算当前时刻相对所述参考时间的时间偏移;
9、根据所述时间偏移和所述同步时间,计算当前的系统时间。
10、进一步的,所述时间同步事件为秒脉冲信号。
11、进一步的,所述根据所述当前时间、每毫秒的滴答数和所述参考时间计算当前时刻相对所述参考时间的时间偏移,包括:
12、根据所述滴答时间和所述参考时间计算滴答偏移,再根据所述每毫秒的滴答数和所述滴答偏移计算所述时间偏移;
13、所述滴答偏移的计算表达式为:
14、stampoffset=abs(localtick-curtick);
15、式中,stampoffset为所述滴答偏移,abs()为绝对值函数,localtick为所述参考时间,curtick为所述当前时间;
16、所述时间偏移的计算表达式为:
17、offsetofms=stampoffset/tickofms;
18、式中,offsetofms为所述时间偏移,tickofms为所述每毫秒的滴答数。
19、进一步的,所述根据所述时间偏移和所述同步时间,计算当前的系统时间,包括:
20、所述系统时间的计算表达式为:
21、time=reftime+offsetofms;
22、式中,time为所述系统时间,reftime为所述同步时间,offsetofms为所述时间偏移。
23、进一步的,若所述主单元没有完成时间同步,还包括:
24、将本地的滴答时间作为同步时间反馈给所述从单元。
25、进一步的,所述获取来自所述时钟源的同步时间时,包括:
26、将所述同步时间转换为周内毫秒时间。
27、第二方面,本申请还提供一种嵌入式系统时间统一装置,所述嵌入式系统包括至少一个时钟源、主单元和从单元,所述装置包括:
28、判断模块,用于当主单元接收到来自从单元的系统时间请求时,确定所述主单元是否完成了时间同步;
29、计算模块,用于若所述主单元完成了时间同步,则所述主单元获取上一次时间同步时接收的系统同步时间,并计算当前时刻和上一次时间同步时的时间偏移;
30、同步模块,用于根据所述时间偏移和所述系统同步时间,计算当前的系统时间,并将所述系统时间发送给所述从单元,所述从单元根据所述系统时间,计算得到所述从单元的本地时间。
31、第三方面,本申请还提供一种终端设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的嵌入式系统时间统一方法。
32、第四方面,本申请还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的嵌入式系统时间统一方法。
33、本发明公开了一种嵌入式系统时间统一方法、装置、终端设备及存储介质,所述方法包括:当主单元接收到来自从单元的系统时间请求时,确定所述主单元是否完成了时间同步;若所述主单元完成了时间同步,则所述主单元获取上一次时间同步时接收的系统同步时间,并计算当前时刻和上一次时间同步时的时间偏移;根据所述时间偏移和所述系统同步时间,计算当前的系统时间,并将所述系统时间发送给所述从单元,所述从单元根据所述系统时间,计算得到所述从单元的本地时间。可以减少时间同步时本地晶振漂移等原因所带来的误差,提升时间同步时获取的系统时间的精度,确保了嵌入式系统内时间的同步和精准。
1.一种嵌入式系统时间统一方法,其特征在于,所述嵌入式系统包括主单元、从单元和至少一个时钟源,所述方法包括:
2.根据权利要求1所述的嵌入式系统时间统一方法,其特征在于,所述主单元获取上一次时间同步时接收的系统同步时间,并计算当前时刻和上一次时间同步时的时间偏移,包括:
3.根据权利要求2所述的嵌入式系统时间统一方法,其特征在于,所述时间同步事件为秒脉冲信号。
4.根据权利要求2所述的嵌入式系统时间统一方法,其特征在于,所述根据所述当前时间、每毫秒的滴答数和所述参考时间计算当前时刻相对所述参考时间的时间偏移,包括:
5.根据权利要求2所述的嵌入式系统时间统一方法,其特征在于,所述根据所述时间偏移和所述同步时间,计算当前的系统时间,包括:
6.根据权利要求1所述的嵌入式系统时间统一方法,其特征在于,若所述主单元没有完成时间同步,还包括:
7.根据权利要求2所述的嵌入式系统时间统一方法,其特征在于,所述获取来自所述时钟源的同步时间时,包括:
8.一种嵌入式系统时间统一装置,其特征在于,所述嵌入式系统包括至少一个时钟源、主单元和从单元,所述装置包括:
9.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至7中任一项所述的嵌入式系统时间统一方法。
10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的嵌入式系统时间统一方法。