Wi-Fi环境下的硬件时钟同步方法、终端及存储介质

文档序号:32438499发布日期:2022-12-06 20:22阅读:324来源:国知局
Wi-Fi环境下的硬件时钟同步方法、终端及存储介质
wi-fi环境下的硬件时钟同步方法、终端及存储介质
技术领域
1.本发明涉及时钟同步技术领域,特别是涉及wi-fi环境下的硬件时钟同步方法、终端及存储介质。


背景技术:

2.近年来,新型移动端应用层出不穷,随着宽带、算力和人们精神需求的提升以及iot设备的大量增长,基于分布式架构的系统如控制系统、数据感知、数据交互等开始被越来越多地应用于日常生活中。这些分布式架构的系统往往需要更加精确的时钟同步来保障正常工作。
3.目前虽有利用各种传输介质进行时钟同步的方法,如光、电力线等,但这些工作仍仅能运行在实验室中的原型机上,并不能与现有的设备与软件生态直接对接。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供wi-fi环境下的硬件时钟同步方法、终端及存储介质,用于解决现有技术中各种时钟同步方法不能与现有的设备与软件生态直接对接的技术问题。
5.为实现上述目的及其他相关目的,本发明的第一方面提供一种wi-fi环境下的硬件时钟同步方法,包括:以基于ieee 802.11协议的tsf计数器为硬件时间戳的来源来计算tsf时钟所表示的时间,包括主时钟时间和从时钟时间;将所述主时钟时间与第一系统时钟时间同步;基于ptp时钟同步机制将所述从时钟时间同步到所述主时钟时间;将第二系统时钟时间同步到所述从时钟时间,以令所述第二系统时钟时间与第一系统时钟时间同步。
6.于本发明的第一方面的一些实施例中,所述tsf时钟所表示的时间的计算过程包括:首先计算所述tsf计数器的计数值与计数周期之间的比值,再将该比值与所述tsf时钟对参考时间点的相对时间进行加总计算,加总计算的结果值作为所述tsf时钟所表示的时间。
7.于本发明的第一方面的一些实施例中,所述将所述主时钟时间与第一系统时钟时间同步,包括:连续读取所述主时钟时间和第一系统时钟时间,并调整tsf时钟的时钟参数,以使所述时钟时间和第一系统时钟时间之间的差值最小化;其中,所述tsf时钟参数包括tsf计数器的技术周期r和参考时间点t_off。
8.于本发明的第一方面的一些实施例中,按测量序号依次读取主时钟时间和第一系统时钟时间,从读取到的多个测量结果中提取差异值低于预设阈值的相邻两次第一系统时钟时间;计算所述相邻两次第一系统时钟时间的平均值,以作为当前测量序号下的第一系统时钟时间,并利用所述当前测量序号下的第一系统时钟时间和当前测量序号下的主时钟时间,计算所述主时钟时间与第一系统时钟时间之间的偏移量。
9.于本发明的第一方面的一些实施例中,主时钟所在主机周期性地发出sync数据包,并记录数据包发出时间戳所述时间戳为ieee 1588 ptp协议中主时钟的第一个时
间戳;主时钟将精确的数据包发出时间戳封装到follow_up报文中,并发送给从时钟所在主机;从时钟所在主机接收所述sync数据包,记录数据包接收时间戳所述时间戳为ieee 1588 ptp协议中从时钟的第二个时间戳;从时钟所在主机发出delay request数据包,记录发出时间戳所述时间戳为ieee 1588 ptp协议中从时钟的第三个时间戳;主时钟所在主机接收所述delay request数据包,记录接收时间戳所述时间戳为ieee 1588 ptp协议中主时钟的第四个时间戳;主时钟所在主机将接收时间戳封装到delay_reply报文中,并发送给从时钟所在主机。
10.于本发明的第一方面的一些实施例中,所述将将第二系统时钟时间同步到所述从时钟时间,包括:按测量序号依次读取从时钟时间和第二系统时钟时间,从读取到的多个测量结果中提取差异值小于预设阈值的相邻两次第二系统时钟时间;计算所述相邻两次第二系统时钟时间的平均值,以作为当前测量序号下的第二系统时钟时间;利用所述当前测量序号下的第二系统时钟时间和当前测量序号下从时钟时间,计算所述从时钟时间与第二系统时钟时间之间的偏移量。
11.为实现上述目的及其他相关目的,本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述wi-fi环境下的硬件时钟同步方法。
12.为实现上述目的及其他相关目的,本发明的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述wi-fi环境下的硬件时钟同步方法。
13.如上所述,本发明的wi-fi环境下的硬件时钟同步方法、终端及存储介质,具有以下有益效果:本发明将无线网卡中tsf计数器的值映射为一个时钟,从而将无线网卡在收发数据包时记录的tsf值映射为硬件时间戳进行时钟同步。因此,本发明可以在现有市面上的wi-fi网卡中通过利用tsf计数器来实现硬件ptp时钟同步方案,其工作方式与传统以太网网卡相同,并且可以直接对接已有的操作系统内核支持以及直接利用已有的用户态ptp工具进行同步。可扩展性强,很容易进行跨ap的时钟同步。且同步误差可达到1微秒左右,继承了硬件时间戳的稳定性和准确性。
附图说明
14.图1显示为本发明一实施例中wi-fi环境下的硬件时钟同步方法的流程示意图。
15.图2a显示为本发明一实施例中tsf时钟同步机制的工作流程示意图。
16.图2b显示为本发明一实施例中将从时钟与主时钟同步的ptp过程示意图。
17.图3显示为本发明一实施例中wi-fi环境下的硬件时钟同步系统的结构示意图。
18.图4显示为本发明一实施例中线环境下的硬件时钟同步的应用示意图。
19.图5显示为本发明一实施例中线环境下的硬件时钟同步的应用示意图。
20.图6显示为本发明一实施例中电子终端的结构示意图。
具体实施方式
21.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书
所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
22.需要说明的是,在下述描述中,参考附图,附图描述了本发明的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本发明的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本发明的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本发明。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
23.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
24.再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。应当进一步理解,此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
25.为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
26.由于直接在wi-fi网络中运行纯软件ptp时钟同步无法达到足够理想的时钟同步精度(如1微妙级别)以及稳定性,因此本发明利用无线网卡进行硬件ptp时钟同步过程,从而免受软件执行和调度带来的不稳定影响。现有的大部分专门用于ptp设计的工作并不能达到本发明的同步精确度,而效果较好的工作如则涉及到十分繁琐的校准步骤,且可扩展性较差;因此现有技术都未曾实现任何硬件或开放的wi-fi来驱动支持硬件ptp时钟同步。为了在无线网卡上运行硬件ptp时钟同步过程,需要无线网卡硬件有能力获取ptp数据包的接收和发送事件的ptp时间戳,并将其上报给驱动以进行时钟同步。此外,为能够作为普通时钟使用,驱动访问应可以随时访问该时间戳。
27.有鉴于此,本发明提出wi-fi环境下的硬件时钟同步方案,旨在利用ieee 802.11中规定的必选功能(如tsf计数器)来在现有的无线网卡中模拟出一个硬件ptp时钟,用以配
合现有的ptp软件协议栈使用,从而实现wi-fi环境下的硬件ptp时钟同步功能。
28.实施例一:
29.如图1所示,展示了本发明一实施例中wi-fi环境下的硬件时钟同步方法的流程示意图。以wi-fi无线网络为例,在wi-fi环境下硬件ptp时钟同步在应用层的工作流程包括如下各步骤:
30.步骤s11:以基于ieee 802.11协议的tsf计数器为硬件时间戳的来源来计算tsf时钟所表示的时间,包括主时钟时间和从时钟时间。
31.需说明的是,tsf的全称是timing synchronization function,tsf时钟同步机制(timing synchronization function)是ieee802.11标准强制要求,为保障wi-fi网络正常通讯运作而定义的基础设施。tsf计数器的精度为1微秒,其同步机制简单方便,而且任何无线网卡都支持该机制。tsf时钟同步机制的工作流程如图2a所示,接入点(ap)在默认情况下,每隔100tu(102.4ms)广播信标帧,信标帧中包含了发送该帧时tsf计数器的值。连接到所述接入点ap的所有客户端(client)在收到该信标帧时会将各自的tsf计数器重置为信标中的值,从而保持与接入点(ap)的tsf同步。但应理解,tsf时钟同步机制仅能实现同一接入点(ap)下各客户端(client)之间的时钟同步,并不能方便地扩展为远距离跨ap的时钟同步。
32.在本实施例的一些示例中,所述以tsf计数器为硬件时间戳的来源,是指本实施例利用了在ieee 802.11中定义的tsf计数器作为硬件时间戳的来源,并维护必要的phc子系统软件接口实现,使其在linux平台下能够直接与现有的ptp软件如linuxptp等对接工作,进行硬件ptp的同步过程。以tsf作为来源的时钟所表示的时间可用如下公式表述:
[0033][0034]
其中,t
tsf
表示该时钟所表示的时间,t
off
表示了该时钟对参考时间点(如开机时间)的相对时间,n
tsf
表示了tsf计数器的计数值,r反映了tsf计数器的计数周期,从而将计数器的值转化为时间间隔(如将其值换算为微秒)。
[0035]
根据上述的公式1,针对每个无线网卡中的tsf计数器维护一个tsf时钟,则该时钟的时间可表示为t
tsf
,它由tsf计数器和相应的时钟参数来决定,因此可计算主时钟时间和从时钟时间;记所述主时钟时间为所述从时钟时间为其中,所述tsf时钟参数包括tsf计数器的技术周期r和参考时间点t_off;。
[0036]
步骤s12:将所述主时钟时间与第一系统时钟时间同步。
[0037]
具体而言,令所述第一系统时钟时间为即是将主时钟时间与第一系统时钟时间同步,同步方法是连续读取这两个时钟时间,并调整tsf时钟的时钟参数使得与之间的差值最小化。
[0038]
进一步地,考虑到在实际应用中,获取时间戳动作本身具有一定的延迟和抖动,为此本发明采用如下解决方式:按测量序号依次读取主时钟时间和第一系统时钟时间,从读取到的多个测量结果中提取差异值低于预设阈值的相邻两次第一系统时钟时间;计算所述相邻两次第一系统时钟时间的平均值,以作为当前测量序号下的第一系统时钟时间;利用
所述当前测量序号下的第一系统时钟时间和当前测量序号下的主时钟时间,计算所述主时钟时间与第一系统时钟时间之间的偏移量。需说明的是,所述从读取到的多个测量结果中提取差异值低于预设阈值的相邻两次第一系统时钟时间,可以选取差异值最小的相邻两次第一系统时钟时间,也可以是低于预设阈值的多对相邻两次第一系统时钟时间,本实施例不作限定。
[0039]
举例来说,采用a-b-a的读取序列来按测量序号依次读取主时钟时间和第一系统时钟时间,若当前测量序号为k,则前一个测量序号为(k-1),后一个测量序号为(k+1),那么这些测量序号下的读取序列依次为从这些测量结果中提取出差异最小的相邻两次第一系统时钟时间,如前一个测量序号下的和后一个测量序号下的计算两者的平均值作为当前测量序号k下的第一系统时钟时间,估算与之间的偏移量如下述公式2所示:
[0040][0041]
步骤s13:基于ptp时钟同步机制将所述从时钟时间同步到所述主时钟时间。
[0042]
具体来说,基于ptp时钟同步机制将从时钟时间同步到主时钟时间。ptp时钟同步机制(precision time protocol)的基本原理是对ptp数据包在其发送和接收的时刻获取时间戳,再根据获取的时间信息来修正时钟之间的偏差。主时钟是作为时钟同步过程中的参考时钟,通常位于接入点(ap);从时钟通过各种同步协议同步到主时钟,本发明中通常位于客户端(client)。
[0043]
图2b描绘了将从时钟(seconday clock)与主时钟(primary clock)同步的ptp过程:
[0044]
步骤s131)主时钟所在主机周期性地发出sync数据包,并记录数据包发出时间戳所述时间戳为ieee 1588 ptp协议中主时钟的第一个时间戳。
[0045]
步骤s132)主时钟将精确的数据包发出时间戳封装到follow_up报文中,并发送给从时钟所在主机。由于sync数据包不可能携带精确的数据包发出时间戳,因此需要将精确的时间戳封装在follow_up报文中发送给从时钟。
[0046]
步骤s133)从时钟所在主机接收所述sync数据包,记录数据包接收时间戳所述时间戳为ieee 1588 ptp协议中从时钟的第二个时间戳。
[0047]
步骤s134)从时钟所在主机发出delay request数据包,记录发出时间戳所述时间戳为ieee 1588 ptp协议中从时钟的第三个时间戳。
[0048]
步骤s135)主时钟所在主机接收所述delay request数据包,记录接收时间戳所述时间戳为ieee 1588 ptp协议中主时钟的第四个时间戳。
[0049]
步骤s136)主时钟所在主机将接收时间戳时装到delay_reply报文中,并发送给从时钟所在主机。
[0050]
这样,从时钟端就得到了这四个精确报文的收发时间戳。应理解的是,ptp时钟同步机制通过在网络数据包的接收和发送时获取时间戳,并相互交换该时间戳信息来进行主、从时钟同步,最终可以达到纳秒级的同步精度。但目前没有商用无线网卡支持ptp所需要的硬件时间戳来达到如此高的同步精度。
[0051]
步骤s14:将第二系统时钟时间同步到所述从时钟时间,以令所述第二系统时钟时间与第一系统时钟时间同步。
[0052]
具体而言,令所述第二系统时钟时间为由于从时钟时间已经与主时钟时间同步,而且主时钟时间又与第一系统时钟时间同步,因此第一系统时钟时间与第二系统时钟时间为同步,实现了两个系统时钟时间同步。
[0053]
在本实施例中,按测量序号依次读取从时钟时间和第二系统时钟时间,从读取到的多个测量结果中提取差异值小于预设阈值的相邻两次第二系统时钟时间;计算所述相邻两次第二系统时钟时间的平均值,以作为当前测量序号下的第二系统时钟时间;利用所述当前测量序号下的第二系统时钟时间和当前测量序号下从时钟时间,计算所述从时钟时间与第二系统时钟时间之间的偏移量。需说明的是,所述从读取到的多个测量结果中提取差异值低于预设阈值的相邻两次第二系统时钟时间,可以选取差异值最小的相邻两次第二系统时钟时间,也可以是低于预设阈值的多对相邻两次第二系统时钟时间,本实施例不作限定。
[0054]
举例来说,采用a-b-a的读取序列来按测量序号依次读取从时钟时间和第二系统时钟时间,若当前测量序号为k,则前一个测量序号为(k-1),后一个测量序号为(k+1),那么这些测量序号下的读取序列依次为从这些测量结果中提取出差异最小的相邻两次第二系统时钟时间,如前一个测量序号下的和后一个测量序号下的计算两者的平均值作为当前测量序号k下的第二系统时钟时间,估算与之间的偏移量如下述公式3所示:
[0055][0056]
实施例二:
[0057]
如图3所示,展示了本发明一实施例中wi-fi环境下的硬件时钟同步系统的结构示意图,展示了从时钟所在主机(client)使用linuxptp进行ptp时钟同步的详细过程。
[0058]
ptp4l和phc2sys是linuxptp中的两个主要组成部分,其中ptp4l实现了通过ptp过程同步两个由网络连接的时钟,而phc2sys则用于同步位于同一主机中的两个时钟,如系统时钟时间和ptp硬件时钟。linuxptp与本发明提供的ath9k无线网卡驱动(下文将其简称ath9k-phc)配合使用,可以实现两个wi-fi连接主机的系统时钟时间同步。
[0059]
本系统由无线网络接口卡硬件、linux内核空间和linux用户空间组成。所述无线网络接口卡硬件包括tsf计数器(tsf counter)。所述linux内核空间包括无线网卡驱动模块(本实施例以ath9k为例)、实时时钟(real time clock)、phc子系统(phc subsystem)、网络堆栈(network stack);其中,所述无线网卡驱动模块包括ptp硬件时钟;所述ptp硬件时钟包括时钟寄存器(cyclecounter)和时间计数器(timecounter)。所述linux用户空间包括
phc2sys时钟和ptp4l时钟。本系统的工作原理及其实现的功能具体如下所述:
[0060]
在第一部分31中,tsf计数器将计数值n
tsf
传输给所述ptp硬件时钟,供所述ptp硬件时钟将计数值n
tsf
转换为以tsf作为来源的时钟所表示的时间t
tsf
。应理解,这是借助linux内核空间所提供的计时组件完成的:使用内核中提供的计时基础设施cyclecounter和timecounter,以及两个可调参数来将n
tsf
转换为t
tsf
;使用timecounter可以确保t
tsf
不会在底层tsf计数器溢出时产生计时错误。
[0061]
需说明的是,直接在wi-fi网络中运行纯软件ptp无法达到足够理想(如1微秒级)的时钟同步精度以及稳定性,因此本实施例利用无线网卡进行硬件ptp的时钟同步过程,从而免受软件执行、调度带来的不稳定影响。而为了在无线网卡上运行硬件ptp过程,网卡硬件应有能力获取ptp数据包的接收和发送事件的ptp时间戳,并将其上报给驱动进行时钟同步。驱动访问应可以随时访问该时间戳以将其作为普通时钟使用。有鉴于此,本发明利用ieee 802.11中规定的必选功能(如tsf计数器)来在现有的无线网卡中模拟出一个硬件ptp时钟,用以配合现有的ptp软件协议栈直接使用,从而实现wi-fi环境下的硬件ptp时钟同步。
[0062]
具体而言,ath9k-phc接管来自网卡的ptp数据包收发事件tsf时间戳。其中tsf时间戳是从数据包的发送和接收描述符中提取出来的,然后通过步骤上述第一部分31中实现的功能将tsf时间戳转换为t
tsf
。本发明利用了在ieee 802.11中定义的tsf计数器作为硬件时间戳的来源,并维护必要的phc子系统软件接口实现,使其在linux平台下能够直接与现有的ptp软件如linuxptp等对接工作,进行硬件ptp的同步过程。以tsf作为来源的时钟所表示的时间可用如下公式表述:
[0063][0064]
其中,t
tsf
表示该时钟所表示的时间,t
off
表示了该时钟对参考时间点(如开机时间)的相对时间,n
tsf
表示了tsf计数器的值,r反映了tsf计数器的周期从而将计数器的值转化为时间间隔(如将其值换算为微秒)。
[0065]
在第二部分32中,为了配合phc子系统将t
tsf
正确地传递给上层应用(即ptp4l等),本发明采用了标准硬件ptp实现的做法,即首先将t
tsf
打包到其对应的网络堆栈中的sharedinfo字段。该字段的内容随后会被内核投递到应用程序中打开的网络套接字文件描述符的错误队列中。应用程序将会使用recvmsg系统调用并检查特殊的控制信息字段来检索时间戳。这样获取了ptp所需的四个时间戳后,客户端便可以估算双方时钟的偏移量,并通过ath9k-phc抽象出的时钟接口/dev/ptpx将其tsf时钟与主时钟同步。
[0066]
在第三部分33中,ath9k-phc为phc子系统提供了一个访问tsf时间的接口,它负责直接读取tsf计数器n
tsf
,并将其映射到tsf时间t
tsf
。为了使其系统时钟时间与已经同步到主时钟的tsf时钟同步,phc2sys会借助phc子系统来交替地多次读取tsf时钟和系统时钟时间,然后计算出本地两个时钟的偏差,从而将客户端的系统时钟时间也同步到主时钟。
[0067]
实施例三:
[0068]
如图4所示,展示了本实施例中wi-fi环境下的硬件时钟同步的应用示意图。本实施例中,一台设备同时作为接入点(ap)和主时钟的示意图。连接到该ap的若干客户端通过本方案提供的硬件ptp方案同步到同一个ap主时钟上,从而实现客户端相互之间的时钟同
步。因同步过程与上文实施例类似,因此不再赘述。
[0069]
实施例四:
[0070]
如图5所示,展示了又一实施例中wi-fi环境下的硬件时钟同步的应用示意图。本实施例中,若干个接入点(ap)通过局域网连接在一起(本实施例以两个ap为例),ap 2通过有线局域网将其时钟同步到ap 1的时钟,而后两个ap在各自的无线网络中进行单ap下的时钟同步,即ap 1分别与其网络中相连的client1和client2同步,ap 2分别与其网络中相连的client3和client4同步。待系统稳定下来,连接在不同ap下的client 1-4的时钟也就相互同步了。
[0071]
实施例五:
[0072]
如图6所示,展示了本发明一实施例中电子终端的结构示意图。本实例提供的电子终端,包括:处理器61、存储器62、通信器63;存储器62通过系统总线与处理器61和通信器63连接并完成相互间的通信,存储器62用于存储计算机程序,通信器63用于和其他设备进行通信,处理器61用于运行计算机程序,使电子终端执行如上wi-fi环境下的硬件时钟同步方法的各个步骤。
[0073]
上述提到的系统总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0074]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0075]
实施例六:
[0076]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述wi-fi环境下的硬件时钟同步方法。
[0077]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0078]
于本发明提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、u盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(dsl)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光
缆、双绞线、dsl或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
[0079]
综上所述,本发明提供wi-fi环境下的硬件时钟同步方法、终端及存储介质,将无线网卡中tsf计数器的值映射为一个时钟,从而将无线网卡在收发数据包时记录的tsf值映射为硬件时间戳进行时钟同步。因此,本发明可以在现有市面上的wi-fi网卡中通过利用tsf计数器来实现硬件ptp时钟同步方案,其工作方式与传统以太网网卡相同,并且可以直接对接已有的操作系统内核支持以及直接利用已有的用户态ptp工具进行同步。可扩展性强,很容易进行跨ap的时钟同步。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0080]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1