一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种计算机微秒级时间输出方法、系统及校准系统与流程

2021-11-05 20:46:00 来源:中国专利 TAG:


1.本发明涉及计算机时钟计量技术领域,特别是涉及一种计算机微秒级时间输出方法、系统及校准系统。


背景技术:

2.我国数字经济正处于高速发展阶段,数据量不断增长。据互联网数据中心的报告显示,预计到2025年中国将成为全球最大的数据市场,数据的价值日益彰显,数据是大数据,是数据挖掘、人工智能等新兴互联网技术发展应用的基础。数据离不开高精度的时间记录,时间为数据提供了逻辑性,大数据和数字经济的高质量发展,离不开有序的数据支撑。
3.在检验检测、医疗卫生、金融贸易和公安交管等领域中,数据由计算机、机房数据服务器产生和记录。证券交易所和银行每天因交易而产生大量数据记录,如果数据记录的时间存在错误,将导致无法想象的后果。医院的医疗、电子设备若时间不一致,便会使病患入院、病患入科、医嘱下达、转抄、执行以及检验检查的结果回报单等的时间偏差较大,且标本采集对采集时间、送达时间以及检测时间均有严格的先后时间顺序,一旦各环节时间顺序混乱,将导致检验结果不准确,极可能造成临床误诊,引发不必要的医疗纠纷。公安交管的各系统和监控卡口抓拍设备每天拍摄大量图片或视频数据,这些计算机或服务器的时间是否准确和一致,关系到各种交通违法行为的处罚依据。
4.目前各应用终端的时间通常从网络中的网络时间服务器中获取,从网络中通过网络时间协议获取的时间在毫秒量级,对于处理和访问量大的终端来说,数据记录的时间准确性得不到保障。另外,第三方检验检测机构出具的报告、专业检验检测软件记录的时间,网络时间服务器和时间戳服务器需用计算机客户端进行校准,如何保证计算机终端设备时间准确可靠是目前迫切需解决的问题。
5.基于此,亟需一种计算机微秒级时间输出方法、系统及校准系统。


技术实现要素:

6.本发明的目的是提供一种计算机微秒级时间输出方法、系统及校准系统,能够实现计算机微秒级的时间输出,并能够对计算机时间进行校准,保证计算机的时间准确可靠。
7.为实现上述目的,本发明提供了如下方案:
8.第一方面,本发明用于提供一种计算机微秒级时间输出方法,所述输出方法包括:
9.获取从起始时刻到当前时刻的第一时间间隔;所述起始时刻为预设值;所述第一时间间隔以微秒为单位;
10.将所述第一时间间隔与一秒进行余运算,得到从所述当前时刻到上一整秒时刻的第二时间间隔;所述一秒以微秒为单位;
11.根据所述第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号和携带年、月、日、时、分、秒的计算机时间信号;并返回“获取从起始时刻到当前时刻的第一时间间隔”的步骤。
12.本发明还用于提供一种计算机微秒级时间输出系统,所述输出系统包括:
13.获取模块,用于获取从起始时刻到当前时刻的第一时间间隔;所述起始时刻为预设值;所述第一时间间隔以微秒为单位;
14.余运算模块,用于将所述第一时间间隔与一秒进行余运算,得到从所述当前时刻到上一整秒时刻的第二时间间隔;所述一秒以微秒为单位;
15.输出模块,用于根据所述第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号和携带年、月、日、时、分、秒的计算机时间信号;并返回“获取从起始时刻到当前时刻的第一时间间隔”的步骤。
16.第二方面,本发明用于提供一种计算机微秒级时间校准系统,所述校准系统包括外部参考时间源和时间间隔测量仪;所述外部参考时间源与所述时间间隔测量仪通信连接;所述时间间隔测量仪与计算机通信连接;
17.所述外部参考时间源用于产生参考时间信号,并将所述参考时间信号传输至所述时间间隔测量仪;
18.所述计算机用于利用上述输出方法产生秒脉冲信号,并将所述秒脉冲信号传输至所述时间间隔测量仪;
19.所述时间间隔测量仪用于以所述参考时间信号作为启动信号,以所述秒脉冲信号作为停止信号,测量所述启动信号和所述停止信号之间的时间间隔误差。
20.根据本发明提供的具体实施例,本发明公开了以下技术效果:
21.本发明用于提供一种计算机微秒级时间输出方法及系统,先获取从起始时刻到当前时刻的第一时间间隔,第一时间间隔以微秒为单位。然后将第一时间间隔与一秒进行余运算,得到从当前时刻到上一整秒时刻的第二时间间隔。最后根据第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号和携带年、月、日、时、分、秒的计算机时间信号,进而能够实现计算机的微秒级时间输出,克服现有计算机的毫秒级时间输出所带来的时间准确性得不到保障的问题,输出的计算机时间精度高,更加准确。
22.本发明还用于提供一种计算机微秒级时间校准系统,该校准系统包括通信连接的外部参考时间源和时间间隔测量仪,时间间隔测量仪以外部参考时间源产生的参考时间信号作为启动信号,以计算机利用上述输出方法所产生的秒脉冲信号作为停止信号,测量启动信号和停止信号之间的时间间隔误差,进而能够利用外部参考时间源产生的标准时间信号对计算机进行校准,使计算机输出的时间信号更加准确可靠。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明实施例1所提供的输出方法的方法流程图;
25.图2为本发明实施例1所提供的计算机与总线芯片的连接示意图;
26.图3为本发明实施例2所提供的输出系统的系统框图;
27.图4为本发明实施例3所提供的校准系统的结构示意图;
28.图5为本发明实施例3所提供的时间间隔误差的测量结果示意图。
29.符号说明:
[0030]1‑
计算机;2

总线;3

总线芯片;4

外部参考时间源;5

时间间隔测量仪;6

外部参考频率源。
具体实施方式
[0031]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]
本发明的目的是提供一种计算机微秒级时间输出方法、系统及校准系统,能够实现计算机微秒级的时间输出,并能够对计算机时间信号进行校准,保证计算机的时间准确可靠。
[0033]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0034]
实施例1:
[0035]
目前,我国各行业数据中心、机房使用的计算机、数据服务器、时间戳服务器等应用终端的时间通常从网络中的网络时间服务器中获取,但从网络中通过网络时间协议所获取的时间在毫秒量级,对于处理和访问量大的计算机终端来说,数据记录的时间准确性得不到保障。另外,各应用终端还可从gps信号中获取时间,但从gps信号中获取的时间虽然准确程度较高,但来源并不是国家权威部门发布的时间,硬件设备和方法也没有经过国家权威部门认可,存在较大的安全隐患。且一些数据中心机房是封闭型的,应用场景受限,无法架设天线接收gps信号。另外,计算机的时间虽可通过多种时间同步方式同步至标准时间,但同步的结果目前没有有效的方法进行验证,无法确定计算机与标准时间的时间偏差。基于此,本实施例用于提供一种计算机微秒级时间输出方法,以实现计算机的微秒级时间输出,且输出的计算机时间准确性高、安全性好,进而利用该计算机的微秒级时间输出来计量校准计算机的时间,以确定计算机与标准时间的时间偏差,实现对计算机时间进行校准的目的,以保证计算机设备时间准确可靠。
[0036]
如图1所示,以计算机为执行主体,本实施例所提供的一种计算机微秒级时间输出方法包括:
[0037]
s1:获取从起始时刻到当前时刻的第一时间间隔;所述起始时刻为预设值;所述第一时间间隔以微秒为单位;
[0038]
具体的,当计算机采用windows操作系统时,由于windows操作系统的时间是从1601年开始累计的,因此调用函数所得到的是从1601年到当前时刻的时间间隔。但在后续为了方便计算机时间信号中年、月、日、时、分、秒的提取,由于1970年是unix系统的时间起点,也是很多主流计算机和操作系统的时间起点,故现有提取技术和函数均是从1970年开始提取的。基于此,本实施例将1601年1月1日0时0分0秒记为初始时刻,将1970年1月1日0时0分0秒记为起始时刻,s1可以包括:
[0039]
1)计算从windows操作系统的初始时刻到起始时刻的第三时间间隔;即计算从
1601年1月1日0时0分0秒到1970年1月1日0时0分0秒的第三时间间隔t3,t3=116444736000000000,第三时间间隔的单位为100ns。
[0040]
2)获取从初始时刻到当前时刻的第四时间间隔;具体的,可以通过调用getsystemtimeasfiletime函数获取从初始时刻到当前时刻的第四时间间隔,即基于windows操作系统的计算机通过调用getsystemtimeasfiletime函数,获取从1601年1月1日0时0分0秒到当前时刻所经过的第四时间间隔t4,第四时间间隔的单位为100ns。
[0041]
3)将第四时间间隔与第三时间间隔进行差运算,得到从起始时刻到当前时刻的第一时间间隔。具体的,第一时间间隔t1=(t4‑
t3)/10,即可得到从1970年1月1日0时0分0秒到当前时刻所经过的第一时间间隔t1,第一时间间隔的单位为微秒。
[0042]
s2:将所述第一时间间隔与一秒进行余运算,得到从所述当前时刻到上一整秒时刻的第二时间间隔;所述一秒以微秒为单位;
[0043]
具体的,将t1与1000000做余运算,即可得到秒量级以下的第二时间间隔t2,t2=t1%1000000,第二时间间隔t2的范围为0μs至999999μs。
[0044]
s3:根据所述第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号和携带年、月、日、时、分、秒的计算机时间信号;并返回“获取从起始时刻到当前时刻的第一时间间隔”的步骤。
[0045]
由于计算第二时间间隔的目的在于进行延时,进而确定下一整秒时刻,为了能够缩短延时时间,在利用s2得到第二时间间隔后,且在s3之前,本实施例的输出方法还包括:判断第二时间间隔是否大于预设时间间隔;若否,即若第二时间间隔小于或等于预设时间间隔,则返回“获取从起始时刻到当前时刻的第一时间间隔”的步骤,直至第二时间间隔大于预设时间间隔。若是,即若第二时间间隔大于预设时间间隔,则以当前的第二时间间隔作为新的第二时间间隔,执行s3。
[0046]
进一步的,本实施例可设定预设时间间隔为x,x为可选值,通常取x=980000μs。则若第二时间间隔t2在x至999999μs范围内,则执行s3,否则重新返回s1开始执行。
[0047]
根据第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号可以包括:根据第二时间间隔,利用sleepperformus函数进行延时,并在延时结束后输出秒脉冲信号。需要说明的是,延时结束后即达到下一整秒时刻。具体的,利用sleepperformus函数进行(999999

t2)μs的延时,延时结束后即到达了时间上的整秒时刻。进一步的,sleepperformus函数通过调用queryperformancecounter函数查询定时器的当前值,并判断该当前值是否等于调用queryperformancefrequency函数所得到的定时器的频率值,在当前值等于频率值时延时结束,从而实现微秒级的延时。
[0048]
需要说明的是,queryperformancecounter函数和queryperformancefrequency函数是windows操作系统自带的api函数。调用queryperformancefrequency函数所得到的定时器的频率值在系统启动时是固定的,并且在所有处理器上都是一致的。
[0049]
在利用sleepperformus函数进行延时,进而确定下一整秒时刻后,本实施例所用的在下一整秒时刻输出秒脉冲信号可以包括:通过控制总线芯片的输出引脚电平的方式来输出秒脉冲信号。具体的,在下一整秒时刻,利用总线控制总线芯片的若干个输出引脚为高电平,并在高电平持续预设时间后,利用总线控制上述若干个输出引脚为低电平。同一输出引脚输出的高电平和低电平组成秒脉冲信号,进而能够实现秒脉冲信号的复现输出。所控
制的输出引脚的个数可为一个或多个。本实施例所提供的输出方法能够获取更加准确的秒脉冲信号发射时间,比如0.99999s的下一刻就是1秒,那么在0.00001s到来的时候便能准确的发出秒脉冲信号,从而保证时间的准确性。
[0050]
更为具体的,本实施例所用的总线可为pcie总线,总线芯片可为ch367芯片。如图2所示,其给出了计算机与总线芯片的连接关系示意图,计算机1通过pcie总线与ch367芯片进行交互。在输出秒脉冲信号时,所用方法可为:计算机1通过pcie总线控制ch367芯片的gpor2通用输出寄存器的值为0xff,进而使ch367芯片的gpo、gpo0、gpo1这三个输出引脚均输出高电平3.3v。随后调用sleep函数延时10ms,延时结束后,计算机1通过pcie总线置gpor2通用输出寄存器的值为0x00,进而使gpo、gpo0、gpo1这三个输出引脚均输出低电平0v,上述方法的两次输出用于制造得到一个10ms脉宽的脉冲信号,该脉冲信号即为秒脉冲信号,以高电平上升沿为准,从而实现秒脉冲信号在gpo、gpo0、gpo1三路输出引脚的复现输出。由于pcie是高速实时的总线接口,因pcie的版本不断更新,传输速率在250mb/s到63gb/s之间,因此复现出的秒脉冲信号输出延迟理论上不超过1μs,可实现计算机微秒级的时间输出。
[0051]
参见图2,对计算机1与ch367芯片之间的连接关系进行进一步说明:计算机1的pcie插槽的wake#引脚与ch367芯片的wake#引脚连接,用于控制ch367芯片的唤醒工作。计算机1的pcie插槽的perst#引脚与ch367芯片的perst#引脚连接,用于实现计算机1和ch367芯片的系统复位。计算机1的pcie插槽的peckp引脚与ch367芯片的peckp引脚连接,计算机1的pcie插槽的peckn引脚与ch367芯片的peckn引脚连接,peckp引脚和peckn引脚共同构成ch367芯片的参考时钟差分输入。计算机1的pcie插槽的petp引脚与ch367芯片的perp引脚连接,计算机1的pcie插槽的petn引脚与ch367芯片的pern引脚连接,perp引脚和pern引脚共同构成ch367芯片的pcie差分信号接收的输入端。计算机1的pcie插槽的perp引脚与ch367芯片的petp引脚连接,计算机1的pcie插槽的pern引脚与ch367芯片的petn引脚连接,petp引脚和petn引脚共同构成ch367芯片的pcie差分信号发送输出端。
[0052]
具体的,在输出秒脉冲信号的同时,s3中输出携带年、月、日、时、分、秒的计算机时间信号可以包括:对第一时间间隔进行秒量级的向上取整,得到整数间隔,进行秒量级的向上取整即为省略秒量级以下的数字,并对秒量级对应的数字加1,得到整数间隔。再对整数间隔进行年、月、日、时、分、秒的提取计算,得到并输出携带年、月、日、时、分、秒的计算机时间信号。提取计算得到携带年、月、日、时、分、秒的计算机时间信号后,将该计算机时间信号转换为标准的nmea

0183协议格式并通过串口输出,这个串口输出的nmea

0183协议格式是1秒输出一个只到秒级的时刻信息。
[0053]
需要说明的是,秒脉冲信号可从ch367芯片的gpo、gpo0和gpo1三个输出引脚输出,而携带有年、月、日、时、分、秒的计算机时间信号可以是通过串口输出,这个串口可以是windows自己的串口,也可以是先通过ch367芯片的spi输出,再转成串口进行输出。
[0054]
本实施例所提供的计算机微秒级时间输出方法,先获取从起始时刻到当前时刻的第一时间间隔,第一时间间隔以微秒为单位。然后将第一时间间隔与一秒进行余运算,得到从当前时刻到上一整秒时刻的第二时间间隔。最后根据第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号和携带年、月、日、时、分、秒的计算机时间信号,进而能够实现计算机的微秒级时间输出,克服现有计算机的毫秒级时间输出所带来的时间准确性得不到保
障的问题,输出的计算机时间信号精度高,更加准确。
[0055]
实施例2:
[0056]
本实施例用于提供一种计算机微秒级时间输出系统,如图3所示,所述输出系统包括:
[0057]
获取模块m1,用于获取从起始时刻到当前时刻的第一时间间隔;所述起始时刻为预设值;所述第一时间间隔以微秒为单位;
[0058]
余运算模块m2,用于将所述第一时间间隔与一秒进行余运算,得到从所述当前时刻到上一整秒时刻的第二时间间隔;所述一秒以微秒为单位;
[0059]
输出模块m3,用于根据所述第二时间间隔进行延时,以在下一整秒时刻输出秒脉冲信号和携带年、月、日、时、分、秒的计算机时间信号;并返回“获取从起始时刻到当前时刻的第一时间间隔”的步骤。
[0060]
实施例3:
[0061]
虽然计算机的时间可通过多种时间同步方式同步至标准时间,但目前没有有效的方法对同步的结果进行验证,无法确定计算机与标准时间的时间偏差,也无法对计算机的时间进行校准。
[0062]
为了解决这一问题,本实施例用于提供一种计算机微秒级时间校准系统,如图4所示,所述校准系统包括外部参考时间源4和时间间隔测量仪5,外部参考时间源4与时间间隔测量仪5的启动端通信连接,时间间隔测量仪5与计算机1通信连接,具体的,计算机1通过总线2与总线芯片3通信连接,且总线芯片3与时间间隔测量仪5的停止端通信连接。
[0063]
外部参考时间源4用于产生参考时间信号,并将参考时间信号传输至时间间隔测量仪5。计算机1用于利用实施例1中的输出方法控制总线芯片3产生秒脉冲信号,并将秒脉冲信号传输至时间间隔测量仪5,具体的,时间间隔测量仪5接入秒脉冲在gpo、gpo0、gpo1三路引脚中任意一路的复现输出信号。时间间隔测量仪5用于以参考时间信号作为启动信号,以秒脉冲信号作为停止信号,测量启动信号和停止信号之间的时间间隔误差,以得到秒量级以下的时间间隔误差,从而达到校准计算机时间信号的目的。本实施例所述的校准是指计量、检验检测领域的校准,只给出时间间隔误差。如图5所示,其示意性的给出了所得到的时间间隔误差的测量结果图。
[0064]
另外,本实施例还可根据实施例1输出的计算机时间信号,与标准时间信号进行比较,即可得到秒量级以上的时间间隔误差,进行比较的方法可为直接观察法或者利用时间综合测量仪进行自动比较。
[0065]
具体的,时间间隔测量仪5可为带时间间隔测量功能的通用计数器,外部参考时间源4所产生的参考时间信号即为标准秒脉冲信号。
[0066]
另外,本实施例的校准系统还包括外部参考频率源6,外部参考频率源6与时间间隔测量仪5的参考频率输入端相连接。外部参考频率源6用于产生参考频率信号,该参考频率信号用于对时间间隔测量仪5的频率进行校准,从而能够提高时间间隔测量仪5的测量精度。
[0067]
本实施例的校准系统中采用的时间间隔测量仪5和外部参考时间源4所引入的测量不确定度优于1μs,因此可实现计算机微秒级的时间偏差校准和测量。通过计算机pcie总线和ch367芯片将秒脉冲信号(1pulse per second,1pps)输出,再接入时间间隔测量仪5中
与外部参考时间源4产生的标准时间信号进行比较测量,得到时间偏差,实现微秒级的计算机时间偏差测量和校准,可有效推进时间频率在我国各行业的应用,为数字经济高质量发展提供重要保障。
[0068]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0069]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献