本发明涉及时间同步,尤其涉及一种时间同步的芯片架构及其软件控制方法。
背景技术:
1、现存的时间同步方案中,软件的操作主要分为以下几个步骤(如图1所示):1.时间获取模块的寄存器获取当前的时间值;2.根据获取的当前时间值,结合参考时间值,利用滤波算法、pid算法等,来预测下一时刻的时间值;3.当下一时刻来临,则将预测值进行更新。
2、在上述读取当前时间值到更新时间预测值的过程中存在系统依赖:软件需要通过系统调用而进入休眠,从而软件陷入内核;“下一时刻来临”是通过芯片中的硬件模块“定时器”发出中断完成,因此无法保证每次时间同步都能顺利完成。
技术实现思路
1、有鉴于此,本发明提出一种时间同步的芯片架构及其软件控制方法,以解决现有技术中存在的依赖系统调用、无法保证每次同步都能完成的问题。
2、本发明具体的技术方案如下:
3、一种时间同步的芯片架构,芯片架构采用时间同步模块,时间同步模块包括:当前时间寄存器、时间间隔寄存器、预测时间寄存器、预测可用寄存器以及逻辑模块;
4、当前时间寄存器,用于获取当前时间值,供软件读取使用;
5、时间间隔寄存器,用于获取时间间隔值,供软件进行预测所使用;
6、预测时间寄存器,用于获取预测时间值,预测时间值在软件滤波后获取;
7、预测可用寄存器,用于判断预测时间值是否可以被逻辑模块所使用。
8、具体地,逻辑模块包括:时间间隔计数器模块、时间间隔匹配模块,以及时间自动更新模块;
9、时间间隔计数器模块,用于根据时钟频率累加计数;
10、时间间隔匹配模块,用于提供时间间隔完成事件信号;
11、时间自动更新模块,用于在时间间隔完成事件触发后,将时间间隔计数器复位,自动更新预测时间值。
12、具体地,芯片架构还包括模式控制寄存器,以供选择自动更新模式或者手动更新模式。
13、一种时间同步的芯片架构的软件控制方法,采用上述任一项中的芯片架构,软件读取当前时间值时,产生时间间隔计数的开始信号发送给时间间隔计数器;在时间间隔计数器被触发后,预测时间寄存器将获取到的预测时间值更新至时间间隔计数器中。
14、具体地,时间自动更新模块在获取到时间间隔匹配模块发送的时间间隔完成信号后,如果预测可用寄存器表明预测时间可用,则将预测时间自动更新至时间间隔计数器中。
15、具体地,时间序列被配置成单调递增的模式,时间自动更新模块根据时间间隔计数器当前时间值与预测时间值进行比较,如果预测时间值大于时间间隔计数器当前时间值,则进行自动更新,否则不予更新。
16、一种时间同步的芯片架构的软件控制方法,采用上述的芯片架构,手动更新模式为读取当前时间值时不触发时间间隔计数器模块的计数操作,在写入预测时间值时直接更新。
17、本发明的有益效果在于:
18、本申请提供一种时间同步的芯片架构及其软件控制方法,通过芯片内部的预测时间寄存器保存软件提供的预测时间值;以时间间隔匹配模块提供时间间隔完成事件信号;时间自动更新模块在时间间隔完成事件触发后,自动将预测时间值更新。本申请方案无需依赖系统调用即可生成时间间隔完成事件,能够在最大程度上保证精度;在时间自动更新的操作中不存在系统调用被中断的可能,能够保证每次同步都能正常完成,进而实现时间同步更快收敛的效果。
1.一种时间同步的芯片架构,其特征在于,所述芯片架构采用时间同步模块,所述时间同步模块包括:当前时间寄存器、时间间隔寄存器、预测时间寄存器、预测可用寄存器以及逻辑模块;
2.如权利要求1中所述的时间同步的芯片架构,其特征在于,所述逻辑模块包括:时间间隔计数器模块、时间间隔匹配模块,以及时间自动更新模块;
3.如权利要求1中所述的时间同步的芯片架构,其特征在于,所述芯片架构还包括模式控制寄存器,以供选择自动更新模式或者手动更新模式。
4.一种时间同步的芯片架构的软件控制方法,采用如权利要求2-3任一项中所述的芯片架构,其特征在于,所述软件读取所述当前时间值时,产生时间间隔计数的开始信号发送给所述时间间隔计数器;在所述时间间隔计数器被触发后,所述预测时间寄存器将获取到的所述预测时间值更新至所述时间间隔计数器中。
5.如权利要求4中所述的时间同步的芯片架构的软件控制方法,其特征在于,所述时间自动更新模块在获取到时间间隔匹配模块发送的时间间隔完成信号后,如果预测可用寄存器表明预测时间可用,则将预测时间自动更新至时间间隔计数器中。
6.如权利要求4中所述的时间同步的芯片架构的软件控制方法,其特征在于,时间序列被配置成单调递增的模式,所述时间自动更新模块根据所述时间间隔计数器当前时间值与预测时间值进行比较,如果预测时间值大于所述时间间隔计数器当前时间值,则进行自动更新,否则不予更新。
7.一种时间同步的芯片架构的软件控制方法,采用如权利要求3中所述的芯片架构,其特征在于,所述手动更新模式为读取所述当前时间值时不触发时间间隔计数器模块的计数操作,在写入所述预测时间值时直接更新。