处理器时钟同步方法、设备及系统与流程

文档序号:15282874发布日期:2018-08-28 23:44阅读:375来源:国知局

本发明涉及通信技术,尤其涉及一种处理器时钟同步方法、设备及系统。



背景技术:

随着电子设备(如智能手机、平板电脑、笔记本电脑等)的不断普及和智能化,目前存在将多个电子设备之间组网以协同完成各种计算功能的需求。

多个电子设备通过无线通信技术完成设备的相互发现并组网,网络中的电子设备协同完成音频播放、视频播放和图片展示等,数据的同步处理至关重要。

例如,对于智能音响来说,家庭环境中的每个智能音响负责一个声道的音频数据的播放,多个智能音响往往需要相互配合实现多声道的效果,多个智能音响对音频数据的同步播放有赖于智能音响的处理器时钟的同步,以基于处理器时钟对各自接收到的音频数据进行同步处理。

就处理器时钟的同步来说,相关技术通常是采用读取处理器时钟,然后根据读取的时钟判断处理器时钟需要调整的量,然后对处理器时钟进行调整的方案。

然而,读取处理器时钟的操作本身的实时性难以满足调整处理器时钟的实时精度的需求,延时本身会影响不同电子设备的处理器时钟的精度,另外,读取处理器时钟的操作本身就会造成处理器时钟的抖动,需要与处理器之间就同步时钟进行多次信令交互,影响了处理器时钟的精度。

综上所述,相关技术对于高效、精确同步多个电子设备的处理器时钟,尚无有效解决方案。



技术实现要素:

本发明实施例提供一种处理器时钟同步方法、设备及系统,能够高效、精确同步电子设备的处理器时钟。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种处理器时钟同步方法,应用于包括至少两个电子设备进行无线通信的网络中;包括:

在第一电子设备侧建立与所述网络中其他电子设备同步的无线通信时钟,所述其他电子设备为所述网络中除所述第一电子设备之外的电子设备;

基于所述无线通信时钟与所述其他电子设备同步产生中断信号,记录所述第一电子设备中最近一次产生中断信号时的处理器时钟值;

向所述其他电子设备发送同步指令,所发送的同步指令携带所述第一电子设备记录的处理器时钟值,用于触发所述其他电子设备基于所述第一电子设备记录的处理器时钟值、与所述其他电子设备记录的处理器时钟值的差值,调整所述其他电子设备的处理器时钟与所述第一电子设备的处理器时钟同步;

其中,所述其他电子设备记录的处理器时钟值,为所述其他电子设备最近一次产生中断信号时记录得到。

上述方案中,所述基于所述无线通信时钟与所述其他电子设备同步产生中断信号,包括:

当所述网络为蓝牙网络时,在所述第一电子设备中产生预定数量的蓝牙时钟周期后产生所述中断信号。

上述方案中,所述基于所述无线通信时钟与所述其他电子设备同步产生中断信号,包括:

当所述网络为无线局域网时,在所述第一电子设备侧接收到预定数量的信标后产生所述中断信号,其中,所述信标由所述网络的接入设备定时发送。

上述方案中,所述在第一电子设备侧建立与所述网络中其他电子设备同步的无线通信时钟,包括:

当所述网络为微微网,且存在至少两个与所述第一电子设备连接的所述其他电子设备时,在所述第一电子设备侧建立与所述其他电子设备建立同步的一个无线通信时钟;

所述向其他电子设备发送同步指令,包括:

以同步或异步方式向与所述第一电子设备连接的所述其他电子设备发送同步指令。

上述方案中,所述在第一电子设备侧建立与所述网络中其他电子设备同步的无线通信时钟,包括:

当所述网络为散射网,且所述散射网的不同微微网中均存在至少一个与所述第一电子设备连接的所述其他电子设备时,在第一电子设备侧建立与所述其他电子设备同步的无线通信时钟,其中,与每个所述其他电子设备对应建立的无线通信时钟不同;

所述基于所述无线通信时钟与所述其他电子设备同步产生中断信号,包括:

基于与所述其他电子设备对应建立的无线通信时钟而同步产生中断信号;

所述向所述其他电子设备发送同步指令,所发送的同步指令携带所述第一电子设备记录的处理器时钟值,包括:

以同步或异步方式向与所述第一电子设备连接的所述其他电子设备发送对应的同步指令,其中,向每个所述其他电子设备发送的同步指令中,携带与所述其他电子设备同步产生最近一次中断信号时记录的处理器时钟值。

上述方案中,所述向所述网络中的其他电子设备发送同步指令,包括:

当所述第一电子设备与所述其他电子设备顺序连接时,向与所述第一电子设备连接的第二电子设备发送同步指令,以触发所述第二电子设备进行处理器时钟同步后,向与所述第二电子设备连接的第三电子设备发送同步指令,直至所述其他电子设备依次全部完成处理器时钟同步。

上述方案中,还包括:

判断所述其他电子设备是否在相邻两次中断信号的间隔内完成处理器时钟同步,如果否,则再次向所述其他电子设备发送同步指令,所再次发送的同步指令携带所述第一电子设备再次记录最近一次产生中断信号时的处理器时钟值。

上述方案中,所述判断所述其他电子设备是否在相邻两次中断信号的间隔内完成处理器时钟同步,包括:

在接收到来自所述其他电子设备发送的同步响应时,比较向所述其他电子设备发送的处理器时钟值与所述第一电子设备最近一次产生中断信号时记录的处理器时钟值是否一致,如果是,判定在相邻两次中断信号的间隔内完成处理器时钟同步;如果否,判定未在相邻两次中断信号的间隔内完成处理器时钟同步。

上述方案中,还包括:

在确定所述其他电子设备在相邻两次中断信号的间隔内完成处理器时钟同步时,向所述其他电子设备发送同步成功通知,并接收所述其他电子设备发送的同步成功通知响应。

上述方案中,所述同步成功通知携带所述网络中电子设备的共同的任务时间;或者,所述同步成功通知响应中携带所述网络中电子设备的共同的任务时间。

上述方案中,还包括:

基于所述第一电子设备的处理器时钟至少两次记录所述第一电子设备产生相邻中断信号的间隔时间,确定所述间隔时间的基准值;

将所述第一电子设备产生相邻中断信号时对应的处理器时钟值的差值与所述基准值进行比较,将所述第一电子设备的处理器时钟根据比较得到的差值进行调整。

上述方案中,还包括:

所述网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

第二方面,本发明实施例提供一种处理器时钟同步方法,应用于包括至少两个电子设备进行无线通信的网络中,包括:

在第二电子设备侧建立与所述网络中其他电子设备的同步的无线通信时钟,所述其他电子设备为所述网络中除所述第二电子设备之外的电子设备;

在所述第二电子设备中基于所述无线通信时钟与所述其他电子设备同步产生中断信号,记录所述第二电子设备中最近一次产生中断信号时的处理器时钟值;

接收第一电子设备所发送的同步指令,所发送的同步指令携带所述第一电子设备最近一次产生中断信号时记录的处理器时钟值;

基于所述第一电子设备记录的处理器时钟值、与所述第二电子设备记录的处理器时钟值的差值,调整所述第二电子设备的处理器时钟与所述第一电子设备的处理器时钟同步;

其中,所述第二电子设备记录的处理器时钟值,为所述第二电子设备最近一次产生中断信号时记录得到。

上述方案中,所述在所述第二电子设备中基于所述无线通信时钟与所述其他电子设备同步产生中断信号,包括:

当所述网络为蓝牙网络时,在所述第二电子设备中产生预定数量的蓝牙时钟周期后产生所述中断信号。

上述方案中,所述在所述第二电子设备中基于所述无线通信时钟与所述其他电子设备同步产生中断信号,包括:

当所述网络为无线局域网时,在所述第二电子设备侧接收到预定数量的信标后产生所述中断信号,其中,所述信标由所述网络的接入设备定时发送。

上述方案中,还包括:

接收到所述第一电子设备发送的同步指令之后,向所述第一电子设备发送同步响应;

其中,所述同步响应用于供所述第一电子设备在接收到所述同步响应时,通过比较所述同步指令中携带的处理器时钟值与所述第一电子设备最近一次产生中断信号时记录的处理器时钟值是否一致,来判断所述第二电子设备是否在相邻两次中断信号的间隔内完成处理器时钟同步。

上述方案中,还包括:

当所述第二电子设备未在相邻两次中断信号的间隔内完成处理器时钟同步时,接收所述第一电子设备再次发送的同步指令,所述再次发送的同步指令携带所述第二电子设备再次记录最近一次产生中断信号时的处理器时钟值;

根据所述第一电子设备再次记录的处理器时钟值、与所述第二电子设备中最近一次产生中断信号时再次记录的处理器时钟值的差值,调整所述第二电子设备的处理器时钟与所述第一电子设备的处理器时钟同步。

上述方案中,还包括:

当所述第二电子设备在相邻两次中断信号的间隔内完成处理器时钟同步时,接收所述第一电子设备发送的同步成功通知,并向所述第一电子设备发送同步成功通知响应。

上述方案中,所述同步成功通知携带所述网络中电子设备的共同的任务时间;或者,所述同步成功通知响应中携带所述网络中电子设备的共同的任务时间。

上述方案中,还包括:

与所述第一电子设备的处理器时钟同步之后,基于所述第二电子设备的处理器时钟至少两次记录所述第二电子设备产生相邻中断信号的间隔时间,确定所述间隔时间的基准值;

将所述第二电子设备产生相邻中断信号时对应的处理器时钟值的差值与所述基准值进行比较,将所述第二电子设备的处理器时钟根据比较得到的差值进行调整。

上述方案中,还包括:

所述第一电子设备与所述网络中的其他电子设备顺序连接时,且所述第一电子设备连接的所述第二电子设备根据来自所述第二电子设备的同步指令进行处理器时钟同步后,向与所述第二电子设备连接的第三电子设备发送同步指令。

上述方案中,还包括:

与所述网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

第三方面,本发明实施例提供一种第一电子设备,应用于包括至少两个电子设备进行无线通信的网络中;包括:

无线通信时钟单元,用于在第一电子设备侧建立与所述网络中其他电子设备同步的无线通信时钟,所述其他电子设备为所述网络中除所述第一电子设备之外的电子设备;

中断信号单元,用于基于所述无线通信时钟与所述其他电子设备同步产生中断信号;

处理器时钟单元,用于记录所述中断信号单元中最近一次产生中断信号时的处理器时钟值;

处理器时钟同步单元,用于向所述其他电子设备发送同步指令,所发送的同步指令携带所述处理器时钟单元记录的处理器时钟值,用于触发所述其他电子设备基于所述第一电子设备记录的处理器时钟值、与所述其他电子设备记录的处理器时钟值的差值,调整所述其他电子设备的处理器时钟与所述第一电子设备的处理器时钟同步;

其中,所述其他电子设备记录的处理器时钟值,为所述其他电子设备最近一次产生中断信号时记录得到。

上述方案中,所述中断信号单元,还用于当所述网络为蓝牙网络时,在所述无线通信时钟单元产生预定数量的蓝牙时钟周期后产生所述中断信号。

上述方案中,所述中断信号单元,还用于当所述网络为无线局域网时,在所述第一电子设备侧接收到预定数量的信标后产生所述中断信号,其中,所述信标由所述网络的接入设备定时发送。

上述方案中,所述无线通信时钟单元,还用于当所述网络为微微网,且存在至少两个与所述第一电子设备连接的所述其他电子设备时,在所述第一电子设备侧建立与所述其他电子设备建立同步的一个无线通信时钟;

所述处理器时钟同步单元,还用于以同步或异步方式向与所述第一电子设备连接的所述其他电子设备发送同步指令。

上述方案中,所述无线通信时钟单元,还用于当所述网络为散射网,且所述散射网的不同微微网中均存在至少一个与所述第一电子设备连接的所述其他电子设备时,在第一电子设备侧建立与所述其他电子设备同步的无线通信时钟,其中,与每个所述其他电子设备对应建立的无线通信时钟不同;

所述中断信号单元,还用于基于与所述其他电子设备对应建立的无线通信时钟而同步产生中断信号;

所述处理器时钟同步单元,还用于以同步或异步方式向与所述第一电子设备连接的所述其他电子设备发送对应的同步指令,其中,向每个所述其他电子设备发送的同步指令中,携带与所述其他电子设备同步产生最近一次中断信号时记录的处理器时钟值。

上述方案中,所述处理器时钟同步单元,还用于当所述第一电子设备与所述其他电子设备顺序连接时,向与所述第一电子设备连接的第二电子设备发送同步指令,以触发所述第二电子设备进行处理器时钟同步后,向与所述第二电子设备连接的第三电子设备发送同步指令,直至所述其他电子设备依次全部完成处理器时钟同步。

上述方案中,所述处理器时钟同步单元,还用于判断所述其他电子设备是否在相邻两次中断信号的间隔内完成处理器时钟同步,如果否,则再次向所述其他电子设备发送同步指令,所再次发送的同步指令携带所述第一电子设备再次记录最近一次产生中断信号时的处理器时钟值。

上述方案中,所述处理器时钟同步单元,还用于在接收到来自所述其他电子设备发送的所述同步响应时,通过比较向所述其他电子设备发送的处理器时钟值与所述中断信号单元最近一次产生中断信号时记录的处理器时钟值是否一致,如果是,判定在相邻两次中断信号的间隔内完成处理器时钟同步;如果否,判定未在相邻两次中断信号的间隔内完成处理器时钟同步。

上述方案中,所述处理器时钟同步单元,还用于在确定所述其他电子设备在相邻两次中断信号的间隔内完成处理器时钟同步时,向所述其他电子设备发送同步成功通知,并接收所述其他电子设备发送的同步成功通知响应。

上述方案中,所述处理器时钟同步单元,还用于基于所述第一电子设备的处理器时钟至少两次记录所述中断信号单元产生相邻中断信号的间隔时间,确定所述间隔时间的基准值;

将所述中断信号单元产生相邻中断信号时对应的处理器时钟值的差值与所述基准值进行比较,将所述第一电子设备的处理器时钟根据比较得到的差值进行调整。

上述方案中,还包括:

计算任务单元,用于与所述网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

第四方面,本发明实施例提供一种第二电子设备,应用于包括至少两个电子设备进行无线通信的网络中,包括:

无线通信时钟单元,用于在第二电子设备侧建立与所述网络中其他电子设备的同步的无线通信时钟,所述其他电子设备为所述网络中除所述第二电子设备之外的电子设备;

中断信号单元,用于基于所述无线通信时钟与所述其他电子设备同步产生中断信号,记录所述第二电子设备中最近一次产生中断信号时的处理器时钟值;

处理器时钟单元,用于接收第一电子设备所发送的同步指令,所发送的同步指令携带所述第一电子设备最近一次产生中断信号时记录的处理器时钟值;

处理器时钟同步单元,用于基于所述第一电子设备记录的处理器时钟值、与所述第二电子设备记录的处理器时钟值的差值,调整所述第二电子设备的处理器时钟与所述第一电子设备的处理器时钟同步;

其中,所述第二电子设备记录的处理器时钟值,为所述第二电子设备最近一次产生中断信号时记录得到。

上述方案中,所述中断信号单元,还用于当所述网络为蓝牙网络时,在所述无线通信时钟单元中产生预定数量的蓝牙时钟周期后产生所述中断信号。

上述方案中,所述中断信号单元,还用于当所述网络为无线局域网时,在所述第二电子设备侧接收到预定数量的信标后产生所述中断信号,其中,所述信标由所述网络的接入设备定时发送。

上述方案中,所述处理器时钟同步单元,还用于接收到所述第一电子设备发送的同步指令之后,向所述第一电子设备发送同步响应;

其中,所述同步响应用于供所述第一电子设备在接收到所述同步响应时,通过比较所述同步指令中携带的处理器时钟值与所述第一电子设备最近一次产生中断信号时记录的处理器时钟值是否一致,来判断所述中断信号单元是否在相邻两次中断信号的间隔内完成处理器时钟同步。

上述方案中,所述处理器时钟单元,还用于当所述处理器时钟同步单元未在相邻两次中断信号的间隔内完成处理器时钟同步时,接收所述第一电子设备再次发送的同步指令,所述再次发送的同步指令携带所述第二电子设备再次记录最近一次产生中断信号时的处理器时钟值;

所述处理器时钟同步单元,还用于根据所述第一电子设备再次记录的处理器时钟值、与所述第二电子设备中最近一次产生中断信号时再次记录的处理器时钟值的差值,调整所述第二电子设备的处理器时钟与所述第一电子设备的处理器时钟同步。

上述方案中,所述处理器时钟同步单元,还用于当所述处理器时钟同步单元在相邻两次中断信号的间隔内完成处理器时钟同步时,接收所述第一电子设备发送的同步成功通知,并向所述第一电子设备发送同步成功通知响应。

上述方案中,所述处理器时钟同步单元,还用于与所述第一电子设备的处理器时钟同步之后,基于所述第二电子设备的处理器时钟至少两次记录所述第二电子设备产生相邻中断信号的间隔时间,确定所述间隔时间的基准值;

所述处理器时钟同步单元,还用于将所述中断信号单元相邻两次产生中断信号时对应的处理器时钟值的差值与所述基准值进行比较,将所述第二电子设备的处理器时钟根据比较得到的差值进行调整。

上述方案中,还包括:

计算任务单元,用于与所述网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

第五方面,本发明实施例提供一种处理器时钟同步系统,包括:第一电子设备、第二电子设备至少两个电子设备;所述至少两个电子设备连接形成无线通信的网络;

所述第一电子设备,用于建立与所述网络中其他电子设备的无线通信时钟的同步,所述其他电子设备为所述网络中除所述第一电子设备之外的电子设备;

基于所述无线通信时钟与所述其他电子设备同步产生中断信号,记录所述第一电子设备中最近一次产生中断信号时的处理器时钟值;

向所述其他电子设备发送同步指令,所发送的同步指令携带所述第一电子设备记录的处理器时钟值;

所述第二电子设备,用于基于所述第一电子设备记录的处理器时钟值、与所述第二电子设备记录的处理器时钟值的差值,调整所述第二电子设备的处理器时钟与所述第一电子设备的处理器时钟同步;

其中,所述第二电子设备记录的处理器时钟值,为所述第二电子设备最近一次产生中断信号时记录得到。

第六方面,本发明实施例提供一种存储介质,存储有可执行指令,用于执行本发明实施例提供的处理器时钟同步方法。

本发明实施例具有以下有益效果:

一方面,一旦其他电子设备使用自身的处理器时钟针对中断信号记录形成的处理器时钟值,与第一电子设备使用自身的处理器时钟针对中断信号记录形成的处理器时钟值比较形成差值,就能够精确得到第一电子设备的处理器时钟与其他电子设备的处理器时钟的偏离程度,从而能够进行处理器时钟的精确同步;

另一方面,其他电子设备基于处理器时钟值的差值来调整处理器时钟,与相关技术分别读取两个电子设备的处理器时钟、进行比较并调整而言,避免了直接读取处理器时钟带来的延时以及会造成处理器自身的时钟抖动的情况,实现上效率更高,且能够保证同步的精度。

附图说明

图1-1是本发明实施例提供的多个蓝牙设备组成微微网的一个可选的示意图;

图1-2是本发明实施例提供的微微网中蓝牙设备进行微微网时钟同步的一个可选的处理示意图;

图1-3是本发明实施例提供的散射网的一个可选的结构示意图;

图2是本发明实施例提供的多个wifi设备组成无线局域网的一个可选的示意图;

图3-1是本发明实施例提供的蓝牙设备的一个可选的硬件结构示意图;

图3-2是本发明实施例提供的wifi设备的一个可选的硬件结构示意图;

图4是本发明实施例提供的处理器时钟同步方法的一个可选的流程示意图;

图5-1是本发明实施例提供的第一电子设备至第二电子设备-第三电子设备在网络中连接关系的一个可选的示意图;

图5-2是本发明实施例提供的第一电子设备至第二电子设备-第三电子设备在网络中连接关系的一个可选的示意图;

图6-1是本发明实施例提供的微微网中设备通过a2dp传输音频流的一个可选的示意图;

图6-2是本发明实施例提供的微微网中设备通过a2dp传输音频流的一个可选的示意图;

图6-3是本发明实施例提供的微微网中设备通过a2dp传输音频流的一个可选的示意图;

图7是本发明实施例提供的在至少三个电子设备组成的网络中进行处理器时钟同步的一个可选的流程示意图;

图8是本发明实施例提供的第一电子设备与第二电子设备进行处理器时钟同步的一个可选的时序示意图;

图9是本发明实施例提供的输入从设备的处理器时钟调整至与输入主设备的处理器时钟调整至同步的一个可选的流程示意图;

图10是本发明实施例提供音频包的结构示意图;

图11是本发明实施例提供的第一电子设备的一个可选的功能结构示意图;

图12是本发明实施例提供的第二电子设备的一个可选的功能结构示意图。

具体实施方式

以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)处理器时钟,也称为系统时钟,电子设备内部的处理器的时钟,如电子设备中的中央处理器(cpu)的时钟,电子设备中的微处理器(mcu)的时钟。

2)无线通信时钟,电子设备内部的无线通信芯片如蓝牙芯片、无线相容性认证(wifi)芯片与其他电子设备的无线通信芯片的时钟,电子设备中的无线通信时钟与电子设备的处理器时钟相互独立而互不影响。

对本发明实施例提供的处理器时钟同步方案说明之前,首先就基于蓝牙芯片和无线局域网芯片的无线通信时钟说明。

1)基于蓝牙芯片的无线通信时钟及其同步

对于蓝牙芯片,通信时钟也称为蓝牙时钟,蓝牙时钟决定了蓝牙芯片的定时收发的跳频。为了与其他电子设备的蓝牙时钟同步,要加一个偏移量(offset),提供给其他电子设备来进行蓝牙时钟的同步。

举例来说,根据蓝牙协议,两个或多个设置有蓝牙芯片的电子设备(简称蓝牙设备)能够组成微微网(piconet),参见图1-1,图1-1是本发明实施例提供的多个蓝牙设备组成微微网100的一个可选的示意图,每个微微网由一个主(master)设备(蓝牙设备110)和从(slave)设备(蓝牙设备120,当然,微微网中的从设备可以为多个)组成,主设备可以与其他从设备形成点对点或点对多点(多个从设备)的连接,主设备与从设备之间进行同步后的蓝牙时钟也称为微微网时钟。

参见图1-2,图1-2是本发明实施例提供的微微网中蓝牙设备进行微微网时钟同步的一个可选的处理示意图,clk是微微网时钟,应用在整个微微网中的所有计时(timing)和时序安排。蓝牙设备使用clk以调度发送和接收。clk应当采自参考时钟(clkr)+基准时间偏置(time_base_offset)和从设备偏置(slave_offset)。

time_base_offset是一个给蓝牙设备用来存放本地生成的由对齐外部时钟基准导致的对clkn的补偿,slave_offset对主设备而言是0,因为clk指的是主设备自身的时钟clkn。每个从设备应加上合适的slave_offset给从设备自身clkn以相当于主设备的clkn。

虽然所有clkn在设备上运行着同样的标称速率,彼此的漂移导致clk的非精确。因此,offset在从设备端可以周期性更新,这样clk可近似于主设备的clkn,实现微微网时钟在微微网中蓝牙设备的同步。

另外,多个微微网可以连接形成组成散射(scatter)网,参见图1-3,图1-3是本发明实施例提供的散射微微网200的一个可选的结构示意图,在图1-3中,散射网200由微微网210和微微网220(也可是多个微微网)连接形成,连接的微微网之间具有公共的蓝牙设备,一般地,该公共的蓝牙设备在连接的两个微微网中的角色不同,例如在微微网210中为主设备,在微微网220中为从设备。

对于散射网200的蓝牙时钟同步而言,是在每个微微网中建立同步的微微网时钟,即在蓝牙设备110和蓝牙设备120之间建立同步的微微网1时钟,即在蓝牙设备120和蓝牙设备130之间建立同步的微微网2时钟,根据蓝牙协议,2个微微网的公共设备不能同时作为所连接的2个微微网的主设备,因此,微微网1时钟和微微网2时钟是不同的时钟(例如,时钟周期的开始时刻不同)。

需要指出地,下文中对于微微网和散射网不做区分,针对微微网记载的技术方案同样适用于散射网。

2)基于无线局域网芯片的无线通信时钟机器同步

对于无线局域网芯片如wifi芯片来说,无线通信时钟也称为wifi时钟,wifi时钟决定了wifi设备与提供接入功能的接入设备如无线路由器或无线接入点(ap)进行通信的时隙。

设置wifi芯片的电子设备(简称为wifi设备)进行组网,如组成星形网络,两个或多个设置有无线局域网芯片的电子设备(简称wifi设备)能够组成无线局域网,参见图2,图2是本发明实施例提供的多个wifi设备组成无线局域网300的一个可选的示意图,在图2中,无线局域网由提供接入功能的接入设备(wifi设备310)和多个wifi设备(wifi设备320至wifi设备340),wifi设备连接到接入设备后,根据wifi协议,wifi设备会在相同时刻(每间隔102.4ms)接收到接入设备发送的信标(beacon),wifi设备将接收到该信标的时间作为wifi时钟。

本发明实施例提供一种处理器时钟同步方法,应用于由至少两个电子设备组成的无线通信网络(也简称为网络)中,能够实现组网的电子设备之间的处理器时钟的同步。

就组网方式来说,可以为如图1-1和图1-3示出的基于蓝牙技术的组网,如基于bluetooth4.0及其后续演进版本组网;还可以为基于如图2示出的基于无线局域网技术的组网,如基于802.11b/g/n及其后续的各种演进的组网;网络中的电子设备可以形成点对点的连接,或点对多点的连接。

在对本发明实施例提供的处理器时钟同步方法进行说明之前,首先对本发明实施例涉及的电子设备的硬件结构进行说明。

对于基于蓝牙技术组成网络的电子设备来说,以图1-1示出的蓝牙设备110为例,参见图3-1,图3-1是本发明实施例提供的蓝牙设备110的一个可选的硬件结构示意图,包括处理器111和蓝牙芯片112,另外,根据蓝牙设备110的实际需要,还可以设置输入/输出接口113(例如显示器、键盘、触摸屏、扬声器麦克风中的一个或多个)和存储介质114,上述的各个组件可以通过各种形式的总线115例如主机控制接口(hci,hostcontrollerinterface)进行数据以及指令的收发。

对于基于无线局域网技术组成网络的电子设备来说,以图2示出的wifi设备320为例,参见图3-2,图3-2是本发明实施例提供的wifi设备320的一个可选的硬件结构示意图,包括处理器321和wifi芯片322,另外,根据wifi设备320的实际需要,还可以设置输入/输出接口323(例如显示器、键盘、触摸屏、扬声器麦克风中的一个或多个)和存储介质324,上述的各个组件可以通过各种形式的总线325进行数据以及指令的收发。

针对由至少两个电子设备(如蓝牙设备、无线局域网设备)连接形成的网络来说,本发明实施例提供应用于网络中的处理器时钟同步方法,能够高效、精确实现电子设备之间的处理器时钟的同步。

以网络中的第一电子设备和第二电子设备为例,需要指出地,第一电子设备和第二电子设备仅仅是为了便于区分电子设备,并非用于特指某一个电子设备。本发明实施例提供的处理器时钟同步方法中采用设置处理器时钟的基准的方式进行同步,即将网络中一个电子设备的处理器时钟作为基准,将网络中其他电子设备的处理器时钟调整至与该电子设备的处理器时钟同步。

下面,以将第一电子设备的处理器时钟作为基准,将网络中的第二电子设备的处理器时钟调整至与第一电子设备的处理器时钟为例进行说明,根据下文的记载,本领域技术人员可以轻易实施将第二电子设备的处理器时钟作为基准而进行处理器时钟同步的情况。

参见图4,图4是本发明实施例提供的处理器时钟同步方法的一个可选的流程示意图,涉及用于无线通信的网络中的第一电子设备和第二电子设备,例如,两个设备能够通过蓝牙技术或无线局域网技术组成用于无线通信的网络,并在网络中能够直接通信,对于将第二电子设备的处理器时钟调整至与第一电子设备的处理器时钟同步来说,在图4中涉及以下步骤:

步骤101,在第一电子设备侧建立与网络中第二电子设备的同步的无线通信时钟。

在一个实施例中,在由第一电子设备、第二电子设备组成的微微网中,参见前述针对图1-2的说明,设置蓝牙芯片的电子设备根据图1-2的方式建立微微网时钟的同步,由于电子设备的无线通信时钟是内部蓝牙芯片的本地时钟,因此能够独立于电子设备之间的处理器时钟而建立同步。

在另一个实施例中,在由第一电子设备、第二电子设备基于无线局域网技术连接形成的网络中,参见前述针对图2的说明,设置无线局域网芯片的电子设备在接入无线局域网中的接入设备(如无线路由器或无线接入点)后,根据wifi协议会在间隔的相同时刻(每间隔102.4ms)接收到接入设备发送的信标(beacon),则第一电子设备至第三电子设备可以将同步接收到的信标作为同步的wifi时钟信号。

步骤102,第一电子设备基于无线通信时钟与第二电子设备同步产生中断信号,记录第一电子设备中最近一次产生中断信号时的处理器时钟值。

在一个实施例中,在由第一电子设备、第二电子设备微微网中,由于处于同一微微网中,第一电子设备能够与第二电子设备建立一个同步的微微网时钟,每个电子设备自身的蓝牙芯片在间隔预定数量的微微网时钟周期后向处理器产生中断信号,由每个电子设备的处理器根据自身的处理器时钟记录产生中断信号的时间,即处理器时钟值。

在另一个实施例中,在由第一电子设备、第二电子基于无线局域网技术连接形成的网络中,每个电子设备自身的wifi芯片在预定间隔(例如预定数量的信标)时wifi时钟向处理器输出中断信号,由相应电子设备的处理器根据处理器时钟记录产生中断信号的时间,即处理器时钟值。

步骤103,第一电子设备向网络中的第二电子设备发送同步指令,所发送的同步指令携带第一电子设备最近一次产生中断信号时记录的处理器时钟值。

步骤104,第二电子设备接收第一电子设备的同步指令,提取第一电子设备记录的处理器时钟值。

其中,对于第一电子设备的处理器时钟值来说,为第一电子设备基于无线通信时钟与第二电子设备同步产生中断信号时,基于第一电子设备的处理器时钟记录得到的中断信号产生的时间。

步骤105,第二电子设备根据第一电子设备记录的处理器时钟值、以及第二电子设备的处理器时钟值的差值,调整第二电子设备的处理器时钟与第一电子设备的处理器时钟同步。

以图1-1为例,蓝牙设备110和蓝牙设备120连接形成的微微网中,两个设备建立同步的微微网时钟,在预定数量的微微网时钟周期到达后同步产生中断信号,并分别记录最近一次产生中断信号时的处理器时钟值,以蓝牙设备110的处理器时钟为基准,蓝牙设备120根据所记录的处理器时钟值与蓝牙设备110所记录的处理器时钟值的差值,调整蓝牙设备120的处理器时钟与蓝牙设备110的处理器时钟一致。

对于图2中wifi设备的处理器时钟的同步来说,任意两个wifi设备都可以建立基于信标而同步的wifi时钟,在预定数量的wifi时钟周期到达后同步产生中断信号,并分别记录最近一次产生中断信号时的处理器时钟值,以wifi设备320的处理器时钟为基准,wifi设备330根据所记录的处理器时钟值与wifi设备320所记录的处理器时钟值的差值,调整蓝wifi设备330的处理器时钟与wifi设备320的处理器时钟一致。

可以看出,第二电子设备与第一电子设备的处理器时钟同步时,第一电子设备和第二电子设备分别使用各自的处理器时钟对产生的中断信号进行记录形成相应的处理器时钟值,由于第一电子设备和第二电子设备是基于已经同步的无线通信时钟同步产生中断信号的,因此:

一方面,一旦第二电子设备使用自身的处理器时钟针对中断信号记录形成的处理器时钟值,与第一电子设备使用自身的处理器时钟针对中断信号记录形成的处理器时钟值比较形成差值,就能够精确得到第一电子设备的处理器时钟相对第二电子设备的处理器时钟的偏离程度,从而能够进行处理器时钟的精确同步;

另一方面,第二电子设备基于处理器时钟值的差值来调整处理器时钟,与相关技术分别读取两个电子设备的处理器时钟、进行比较并调整而言,避免了直接读取处理器时钟带来的延时以及处理器时钟自身的抖动,实现上效率更高,且能够保证同步的精度。

下面,再以网络中包括第一电子设备、第二电子设备和第三电子设备三个电子设备、并均以第一电子设备的处理器时钟作为基准,对网络中电子设备的处理器时钟的同步进行说明,对于网络中超出三个电子设备的情况,可以根据对下文的理解而实施。

下面针对网络中电子设备采用的连接关系的不同,对处理器时钟的不同的同步方式说明。

情况1)电子设备基于蓝牙技术连接形成的网络(如微微网和散射网)。

1.1)电子设备连接形成散射网即至少两个连接的微微网中,拓普关系为顺序的点对点连接,如:第一电子设备-第二电子设备-第三电子设备。

参见图5-1,图5-1是本发明实施例提供的第一电子设备至第二电子设备-第三电子设备在网络中连接关系的一个可选的示意图,第一电子设备500与第二电子设备400连接形成一个微微网1,第二电子设备400与第三电子设备300连接形成另一个微微网2,微微网1和微微网2通过第二电子设备400连接形成散射网,第二电子设备400在微微网1中的角色与在微微网2中的角色不同(例如,在微微网中2为主设备,在微微网1中为从设备)。

由于涉及2个微微网,因此,在微微网1中第一电子设备500和第二电子设备400建立同步的微微网1时钟,在微微网2中第二电子设备400和第三电子设备300建立同步的微微网2时钟,微微网1时钟1与微微网2时钟是不同的时钟,例如,时钟周期的开始时刻不同。

第一电子设备500基于微微网时钟1与第二电子设备400基于微微网时钟1同步产生中断信号,并各自记录产生中断信号时的处理器时钟值;并且,第二电子设备400基于微微网时钟2与第三电子设备300基于微微网时钟2同步产生中断信号,并各自记录产生中断信号时的处理器时钟值。

根据图5-1示出的电子设备的依次连接的关系,第一电子设备500采用顺序同步处理器时钟的处理方式,可以第一电子设备500的处理器时钟为基准,首先,由第二电子设备400调整处理器时钟至与第一电子设备500的处理器时钟同步,然后,第三电子设备300调整处理器时钟至与第二电子设备400的处理器时钟同步。

第二电子设备400调整处理器时钟与第一电子设备500的处理器时钟同步时,分别对基于微微网1时钟同步产生的中断信号记录形成处理器时钟值,第二电子设备400根据与第一电子设备500记录的处理器时钟值的差值,调整第二电子设备400的处理器时钟与第一电子设备500的处理器时钟同步;

第三电子设备300调整处理器时钟与第二电子设备400的处理器时钟同步时,分别对基于微微网2时钟同步产生的中断信号记录形成处理器时钟值,第三电子设备500根据与第二电子设备400记录的处理器时钟值的差值,调整第三电子设备500的处理器时钟与第二电子设备400的处理器时钟同步。

1.2)电子设备处于微微网,拓扑关系为第一电子设备作为主设备建立点对多点的连接,如:第一电子设备-第二电子设备,第一电子设备-第三电子设备。

参见图5-2,图5-2是本发明实施例提供的第一电子设备至第二电子设备-第三电子设备在网络中连接关系的一个可选的示意图,第一电子设备500、第二电子设备400、以及第三电子设备300连接处于同一个微微网,第一电子设备500作为主设备,分别与作为从设备的第二电子设备400以及第三电子设备300连接,因此,电子设备之间能够建立一个同步的微微网时钟(因为处于同一微微网中)。

由于涉及1个微微网,因此,在微微网中的三个电子设备能够建立基于同一时钟的同步,即,在微微网中第一电子设备500和第二电子设备400建立同步的微微网时钟,第一电子设备500和第三电子设备300也建立该同步的微微网时钟。

根据图5-2示出的连接关系,可以第一电子设备的处理器时钟为基准,由第二电子设备调整处理器时钟调整至与第一电子设备的处理器时钟同步,并由第三电子设备的处理器时钟与调整至第二电子设备的处理器时钟同步。当然,第二电子设备的处理器时钟同步与第三电子设备的处理器时钟同步不区分先后,例如可以是同步的,也可以是异步的。

第二电子设备400调整处理器时钟与第一电子设备500的处理器时钟同步时,分别对基于微微网时钟同步产生的中断信号记录形成处理器时钟值,第二电子设备400根据与第一电子设备500记录的处理器时钟值的差值,调整第二电子设备400的处理器时钟与第一电子设备500的处理器时钟同步;

第三电子设备300调整处理器时钟与第一电子设备500的处理器时钟同步时,分别对基于微微网时钟同步产生的中断信号记录形成处理器时钟值,第三电子设备300根据与第一电子设备500记录的处理器时钟值的差值,调整第三电子设备300的处理器时钟与第一电子设备500的处理器时钟同步。

实际应用中,作为第一电子设备、第二电子设备和第三电子设备组网的一个示例,第一电子设备、第二电子设备和第三电子设备可以为麦克风、头戴式耳麦等智能音响设备,通过蓝牙技术组成微微网,微微网中的电子设备可以通过运行高级音频分发配置协定(a2dp,advancedaudiodistributionprofile)实现音频流的传输。

根据a2dp在微微网中的电子设备具有两个角色:输出(src,source)设备,即输出音频数据的设备;输入(snk,sink)设备,即接收音频数据的设备。

参见图6-1,图6-1是本发明实施例提供的微微网中设备通过a2dp传输音频流的一个可选的示意图,便携式播放器作为源设备向作为输入设备的头戴式耳麦传输音频流。

再例如,参见图6-2,图6-2是本发明实施例提供的微微网中设备通过a2dp传输音频流的一个可选的示意图,麦克风作为源设备向作为输入设备的便携式录音器传输所采集的音频流。

另外,微微网中的输入设备存在输入主(sinkmaster)设备和输入从(sinkslave)设备的区分,例如,根据蓝牙协议,在微微网建立时,输入主设备是微微网中开启蓝牙连接的设备,微微网中的其他设备为输入从设备,在微微网建立后输入主设备和输入从设备的角色可以互换,本发明实施例中,将处理器时钟的基准设备作为输入主设备,需要调整处理器时钟的设备作为输入从设备。

例如,参见图6-3,图6-3是本发明实施例提供的微微网中设备通过a2dp传输音频流的一个可选的示意图,便携式播放器向麦克风1至麦克风3组成的微微网传输音频流,音频流按照麦克风1-麦克风2-麦克风3这样的顺序传输,以麦克风1的处理器时钟为基准时,麦克风1作为sinkmaster设备,麦克风2作为sinkslave设备;以麦克风2的处理器时钟为基准时,麦克风2作为sinkmaster设备,麦克风3作为sinkslave设备.

对于图6-3示出的麦克风1至麦克风3来说,由于是通过a2dp依次顺序连接的,根据连接关系,需要进行处理器的时钟同步时,可以麦克风1的处理器时钟作为基准,首先,由麦克风2的处理器时钟调整与处理器1的处理器时钟同步,此时麦克风1可以为sinkmaster设备,麦克风2和麦克风3可以为sinkslave设备;其次,将麦克风3的处理器时钟与麦克风2的处理器时钟进行同步,此时麦克风2可以为sinkmaster设备,麦克风1和麦克风3为sinkslave设备。

可以理解地,图6-1至图6-3中的麦克风可以替换为耳麦、音箱等智能音响设备。

情况2)电子设备基于无线局域网技术连接形成网络。

第一电子设备、第二电子设备和第三电子设备基于直连技术顺序连接,则各电子设备能够基于接入设备下发的信标建立基于同一无线局域网时钟的同步。

2.1)无线局域网络中电子设备的拓普关系为顺序的点对点连接,如:第一电子设备-第二电子设备-第三电子设备。

根据电子设备的依次连接的关系,第一电子设备采用顺序同步处理器时钟的处理方式,可以第一电子设备的处理器时钟为基准,首先,由第二电子设备调整处理器时钟至与第一电子设备的处理器时钟同步,然后,第三电子设备调整处理器时钟至与第二电子设备的处理器时钟同步。

首先,第一电子设备至第三电子设备基于同步的无线局域网时钟同步产生中断信号,并基于自身的处理器时钟记录产生中断信号时的处理器时钟值。

其次,第二电子设备调整处理器时钟与第一电子设备的处理器时钟同步时,分别对基于无线局域网时钟同步产生的中断信号记录形成处理器时钟值,第二电子设备根据与第一电子设备记录的处理器时钟值的差值,调整第二电子设备的处理器时钟与第一电子设备的处理器时钟同步;

其次,第三电子设备调整处理器时钟至与第二电子设备的处理器时钟同步时,分别对基于无线局域网时钟同步产生的中断信号记录形成处理器时钟值,第三电子设备根据与第二电子设备记录的处理器时钟值的差值,调整第三电子设备的处理器时钟与第二电子设备的处理器时钟同步。

2.2)无线局域网络中电子设备的拓普关系为点对的多点连接,如:第一电子设备-第二电子设备,第一电子设备-第三电子设备。

根据连接关系,可以第一电子设备的处理器时钟为基准,由第二电子设备调整处理器时钟调整至与第一电子设备的处理器时钟同步,并由第三电子设备的处理器时钟与调整至第二电子设备的处理器时钟同步。当然,第二电子设备的处理器时钟同步与第三电子设备的处理器时钟同步不区分先后,例如可以是同步的,也可以是异步的。

首先,第一电子设备至第三电子设备基于同步的无线局域网时钟同步产生中断信号,并基于自身的处理器时钟记录产生中断信号时的处理器时钟值。

其次,第二电子设备调整处理器时钟与第一电子设备的处理器时钟同步时,分别对基于无线局域网同步产生的中断信号记录形成处理器时钟值,第二电子设备根据与第一电子设备记录的处理器时钟值的差值,调整第二电子设备的处理器时钟与第一电子设备的处理器时钟同步;

其次,第三电子设备调整处理器时钟与第一电子设备的处理器时钟同步时,分别对基于无线局域网时钟同步产生的中断信号记录形成处理器时钟值,第三电子设备根据与第一电子设备记录的处理器时钟值的差值,调整第三电子设备的处理器时钟与第一电子设备的处理器时钟同步。

实际应用中,作为第一电子设备、第二电子设备和第三电子设备组网的一个示例,第一电子设备、第二电子设备和第三电子设备可以为麦克风、头戴式耳麦等智能音响设备,通过无线局域网技术如wifi技术组成无线局域网。

下面,参见图8,图8是本发明实施例提供的处理器时钟同步的一个可选的时序示意图,结合下述步骤对网络中包括第一电子设备、第二电子设备和第三电子设备三个电子设备时,拓普关系为:第一电子设备-第二电子设备-第三电子设备,即三个电子设备依次连接。以第一电子设备的处理器时钟作为基准进行同步进行说明,对于网络中超出三个电子设备时进行处理器时钟同步的情况,本领域技术人员可以基于下文的理解而实施。

参见图7,图7是本发明实施例提供的在三个电子设备组成的网络中进行处理器时钟同步的一个可选的流程示意图,涉及以下步骤:

步骤201,第一电子设备、第二电子设备和第三电子设备在网络中建立电子设备同步的无线通信时钟。

在一个实施例中,在由第一电子设备、第二电子设备和第三电子设备基于蓝牙技术连接形成的网络(如微微网或散射网)中,参见前述针对图1-2的说明,第一电子设备和第二电子设备的蓝牙芯片根据图1-2的方式建立同步的微微网1时钟(包括第一电子设备和第二电子设备),第二电子设备和第三电子设备的蓝牙芯片根据图1-2的方式建立同步的微微网2(包括第二电子设备和第三电子设备)时钟,由于微微网时钟是电子设备的内部蓝牙芯片的本地时钟,因此能够独立于电子设备之间的处理器时钟而取得同步。

在另一个实施例中,在由第一电子设备、第二电子设备和第三电子设备基于无线局域网技术连接形成的网络中,参见前述针对图2的说明,设置无线局域网芯片的电子设备在接入无线局域网中的接入设备(如无线路由器或无线接入点)后,根据wifi协议会在间隔的相同时刻(每间隔102.4ms)接收到接入设备发送的信标(beacon),则第一电子设备至第三电子设备可以将同步接收到的信标作为同步的wifi时钟信号,从而建立同步的wifi时钟。

步骤202,第一电子设备至第三电子设备在基于无线通信时钟同步产生中断信号,每个电子设备基于自身的处理器时钟记录产生中断信号时相应电子设备的处理器时钟值。

在一个实施例中,在由第一电子设备、第二电子设备和第三电子设备基于蓝牙技术连接形成的网络(如微微网或散射网)中,每个电子设备自身的蓝牙芯片在间隔预定数量的蓝牙时钟(如微微网时钟或散射网时钟)周期后向处理器产生中断信号,由每个电子设备的处理器根据自身的处理器时钟记录产生中断信号的时间,即处理器时钟值。

以第一电子设备为例,第一电子设备的蓝牙芯片已经建立与第二电子设备基于微微网1时钟的同步,第一电子设备的蓝牙芯片在预定数量的微微网1时钟后向处理器输出中断信号,处理器根据自身的处理器时钟记录产生中断的时间,即处理器时钟值;另外,第二电子设备的蓝牙芯片已经建立与第三电子设备基于微微网2时钟的同步,第一电子设备的蓝牙芯片在预定数量的微微网1时钟周期后向处理器输出中断信号,处理器根据自身的处理器时钟记录产生中断的时间,即处理器时钟值。

在另一个实施例中,在由第一电子设备、第二电子设备和第三电子设备基于无线局域网技术连接形成的网络中,每个电子设备自身的wifi芯片在预定间隔(例如预定数量的信标)时wifi时钟向处理器输出中断信号,由相应电子设备的处理器根据处理器时钟记录产生中断信号的时间,即处理器时钟值。

仍以第一电子设备为例,第一电子设备的wifi芯片已经建立与网络中其他电子设备(第二电子设备和第三电子设备)的wifi时钟的同步,即在固定的间隔时间接收到来自接入设备的信标,第一电子设备的wifi芯片在接收到预定数量的信标时向处理器输出中断信号,处理器根据自身的处理器时钟记录产生中断的时间,即处理器时钟值。

步骤203,第一电子设备向第二电子设备发送同步指令,携带在发送同步指令时第一电子设备中基于微微网1时钟最近一次产生的中断信号记录的处理器时钟值。

例如,参见图8,图8是本发明实施例提供的第一电子设备与第二电子设备进行处理器时钟同步的一个可选的时序示意图,其中输入主(sinkmaster)设备为第一电子设备,输入从(sinkslave)设备为第二电子设备,在第一电子设备与第二电子设备中同步产生中断信号ts0后,第一电子设备向第二电子设备发送同步指令,携带第一电子设备针对ts0记录的处理器时钟值,由于第一电子设备与第二电子设备处于微微网1中,因此,中断信号是基于微微网1时钟在第一电子设备和第二电子设备中同步产生的。

步骤204,第二电子设备根据第一电子设备记录的处理器时钟值、以及第二电子设备记录的处理器时钟值的差值,调整第二电子设备的处理器时钟与第一电子设备的处理器时钟同步。

例如,接续图8的示例,对于在第一电子设备和第二电子设备中基于微微网1时钟同步产生的中断信号(ts0),第一电子设备的系统时钟值为23时:23分:24秒,第二电子设备的系统时钟值为23时:23分:25秒,说明第二电子设备的处理器时钟较第一电子设备的处理器时钟超前了1秒,因此,将第二电子设备的处理器时钟调慢1秒。

步骤205,第二电子设备向第一电子设备发送同步响应。

需要指出地,由于第一电子设备发送同步响应和进行处理器时钟的同步是在瞬间完成,因此步骤205与步骤204不区分先后顺序,也就是说,第二电子设备进行处理器时钟的同步处理,与向第一电子设备发送同步响应可以是同步的也可是异步的。

例如,第二电子设备在接收到来自第一电子设备的处理器时钟后可以进行处理器时钟的同步,然后向第二电子设备发送同步响应;再例如,第二电子设备首先向第一电子设备发送同步响应,然后根据来自第一电子设备的处理器时钟后可以进行处理器时钟的同步;又例如,第二电子设备一边向第一电子设备发送同步响应,一边根据来自第一电子设备的处理器时钟后可以进行处理器时钟的同步。

步骤206,第一电子设备在接收到同步响应时,确定第二电子设备的处理器时钟的同步是否是在两次中断信号(基于与第二电子设备所处的微微网的时钟产生的两次中断信号)的间隔内完成,如果否,执行步骤207,如果是,执行步骤210。

接续图8的示例,在第一电子设备与第二电子设备中同步产生中断信号ts0后,第一电子设备向第二电子设备发送第一电子设备针对ts0记录的处理器时钟值,供第二电子设备与针对第二电子设备中同步产生的中断信号ts0记录的时钟值进行比较,但是,此时第一电子设备与第二电子设备中又基于微微网1失踪同步产生了中断信号ts1,则会出现第二电子设备将针对中断信号ts1的处理器时钟值(针对中断信号ts1)与来自第一电子设备的处理器时钟值(针对中断信号ts0)求取差值,并基于差值进行处理器时钟同步的情况,导致同步出现较大偏差的情况。

因此,第一电子设备在接收到同步响应时,通过比较最近一次向第二电子设备发送的处理器时钟值与最近一次产生中断信号时记录的处理器时钟值是否一致,如果一致,确定第二电子设备的处理器时钟的同步是在两次中断信号的间隔内完成。

例如,接续图8的示例,第二电子设备在接收到来自第二电子设备的同步响应后,发现针对最近一次产生中断信号所记录的处理器时钟值(针对ts1的处理器时钟值)与最近一次向第二电子设备发送的处理器时钟值(针对中断信号ts0的处理器时钟值)不一致,即判定第二电子设备的处理器时钟同步未在两次中断信号的间隔内完成,后续将重新指令第二电子设备进行处理器时钟的同步。

步骤207,第一电子设备确定第二电子设备的处理器时钟未在两次中断信号的间隔内完成时,再次向第二电子设备发送同步指令。

再次发送的处理器时钟值,为在再次发送同步指令时,第一电子设备基于微微网1时钟最近一次产生中断信号时记录形成。

仍以图8为例,接续前述示例,第一电子设备在向第一电子设备发送针对中断信号ts0的处理器时钟值后,根据来自第二电子设备的同步响应确定同步未在两次中断信号的间隔内完成,再次向第二电子设备发送同步指令,携带第一电子设备中基于微微网1时钟最近一次产生的中断信号(ts1)时记录的处理器时钟值。

步骤208,第二电子设备根据第一电子设备再次发送的处理器时钟值、以及第二电子设备基于无线通信时钟最近一次产生中断信号(基于第二电子设备的处理器时钟)时记录的处理器时钟值的差值,调整第二电子设备的处理器时钟与第一电子设备的处理器时钟同步。

仍以图8为例,接续前述示例,第一电子设备根据在第一电子设备中基于微微网1时钟最近一次产生同步信号(ts1)记录形成的处理器时钟值、与第二电子设备中基于微微网1时钟最近一次产生的中断信号(ts1)的处理器时钟值进行比较,基于差值调整第二电子设备的处理器时钟与第一电子设备的处理器时钟同步。

步骤209,返回步骤205以向第一电子设备发送同步响应。

接续图8的示例,第一电子设备再次接收到来自第一电子设备的同步响应时,通过比较最近一次向第二电子设备发送的处理器时钟值、与第一电子设备中基于微微网1时钟最近一次产生中断信号时记录的处理器时钟值是否一致,如果一致,确定第二电子设备的处理器时钟的同步是在相邻两次中断信号的间隔时间内完成,如果不一致,确定第二电子设备的处理器时钟的同步是未在相邻两次中断信号的间隔时间内完成。

在图8中,第一电子设备向第二电子设备发送针对中断信号(ts1)记录的处理器时钟值后,第二电子设备在进行同步以及发送同步响应的过程中,第一电子设备以及第二电子设备基于微微网1时钟未同步产生新的中断信号,因此,当第二电子设备在接收到来自第二电子设备的同步响应后,发现基于微微网1时钟最近一次产生中断信号所记录的处理器时钟值(即针对ts1的处理器时钟值)与最近一次向第二电子设备发送的处理器时钟值(针对中断信号ts1的处理器时钟值)一致,即判定第二电子设备的处理器时钟同步是在相邻两侧中断信号的间隔时间内完成的。

步骤210,第一电子设备在确定第二电子设备的处理器时钟同步在相邻两次中断信号的间隔时间内完成时,向第二电子设备发送同步成功通知。

步骤211,第二电子设备向第一电子设备发送同步成功通知响应。

接续图8的示例继续进行说明,第一电子设备中再次产生新的中断信号(ts2)时,向第一电子设备发送同步成功通知响应,接收第二电子设备在第二电子设备中产生再次产生新的中断信号(ts3)之前向第一电子设备发送同步成功响应。

在步骤210和步骤211的一个实施例中,第一电子设备在同步成功通知中携带共同的任务时间,第二电子设备接收到第一电子设备在确定第二电子设备的处理器时钟同步在相邻两次中断信号间隔时间内而发送的同步成功通知时,由第一电子设备决定网络中电子设备的共同的任务时间,在同步成功通知中提取网络中电子设备的共同的任务时间。

例如,在图6-3中,对于基于蓝牙技术如a2dp连接形成微微网的蓝牙设备来说,作为主设备的麦克风1可以将同时播放音频流的开始时间和结束时间携带同步成功通知中发送给作为从设备的麦克风2,从而麦克风1和麦克风2能够同时开始播放音频流,同时结束播放音频流。

在步骤210和步骤211的另一个实施例中,由第二电子设备决定网络中电子设备共同的任务时间,第二电子设备接收第一电子设备发送的同步成功通知时,由第二电子设备决定网络中电子设备的共同的任务时间,并在同步成功响应中携带网络中电子设备的共同的任务时间。

仍以图6-3为例,对于基于蓝牙技术如a2dp连接形成微微网的蓝牙设备来说,作为从设备的麦克风2接收到来自作为主设备的蓝牙设备1的同步成功通知时,可以将同时播放音频流的开始时间和结束时间携带同步成功通知响应中发送给作为从设备的麦克风2,从而麦克风1和麦克风2能够同时开始播放音频流,同时结束播放音频流。

至此,已经对以第一电子设备的处理器时钟为基准,通过第一电子设备和第二电子设备之间的交互,由第二电子设备调整与第一电子设备的处理器时钟同步进行了说明,对于第二电子设备和第三电子设备的处理器时钟的同步来说,以第二电子设备的处理器时钟为基准,第二电子设备与第三电子设备基于同步的微微网2时钟记录最近一次同步产生中断信号的处理器时钟值,由第三电子设备根据记录的处理器时钟值的差值,调整自身的处理器时钟与第二电子设备的处理器时钟同步,其实现过程与前述第一电子设备、第二电子设备的处理器时钟同步是类似的,下面简要说明。

步骤212,第二电子设备向第三电子设备发送同步指令,携带在发送同步指令时第二电子设备中基于微微网2时钟最近一次产生的中断信号记录的处理器时钟值。

步骤213,第三电子设备基于第三电子设备基于微微网2时钟最近一次产生中断信号时记录的处理器时钟值、与第二电子设备发送的处理器时钟值的差值,调整第三电子设备的处理器时钟与第二电子设备的处理器时钟同步。

步骤214,第三电子设备向第二电子设备发送同步响应。

需要指出地,由于第三电子设备发送同步响应和进行处理器时钟的同步是在瞬间完成,因此步骤213与步骤214不区分先后顺序,也就是说,第三电子设备进行处理器时钟的同步处理,与向第二电子设备发送同步响应可以是同步的也可是异步的。

例如,第三电子设备在接收到来自第二电子设备的处理器时钟后可以进行处理器时钟的同步,然后向第三电子设备发送同步响应;再例如,第三电子设备首先向第二电子设备发送同步响应,然后根据来自第二电子设备的处理器时钟后进行处理器时钟的同步;又例如,第三电子设备一边向第二电子设备发送同步响应,一边根据来自第一电子设备的处理器时钟后可以进行处理器时钟的同步。

步骤215,第二电子设备确定第二电子设备的处理器时钟的同步是否在基于微微网2时钟产生的相邻两次中断信号的间隔内完成,如果否,执行步骤216,如果是,执行步骤218。

第二电子设备接收第三电子设备发送的同步响应时,通过比较最近一次向第二电子设备发送的处理器时钟值、与基于微微网2时钟最近一次产生中断信号时记录的处理器时钟值是否一致,如果一致,确定第三电子设备的处理器时钟的同步在相邻两次中断信号的间隔内完成,如果不一致,则第三电子设备的处理器同步未在相邻两次中断信号的间隔内完成。

步骤216,第二电子设备向第三电子设备的处理器时钟未在相邻两次中断信号的间隔内完成时,再次向第二电子设备发送同步指令。

再次发送的处理器时钟值,为在再次发送同步指令时,第二电子设备基于微微网2时钟最近一次产生中断信号时记录形成。

步骤217,第三电子设备基于第二电子设备再次发送的处理器时钟值,再次调整第三电子设备的处理器时钟与第二电子设备的处理器时钟同步。

第三电子设备根据第二电子设备再次发送的处理器时钟值、以及第二电子设备基于微微网2时钟最近一次产生中断信号时记录(使用第三电子设备的处理器时钟记录)的处理器时钟值的差值,调整第三电子设备的处理器时钟与第二电子设备的处理器时钟同步。

步骤218,第三电子设备向第二电子设备发送同步响应。

步骤219,第二电子设备确定第三电子设备的处理器时钟在相邻两次中断信号(基于)的间隔时间内完成时,向第三电子设备发送同步成功通知。

步骤220,第三电子设备接收到第二电子设备发送的同步成功通知时,向第三电子设备发送同步成功通知响应。

作为步骤219和步骤220的一个示例,第二电子设备在同步成功通知中携带共同的任务时间,第三电子设备接收到第一电子设备发送的同步成功通知时,由同步成功通知中提取网络中电子设备的共同的任务时间。

作为步骤219和步骤220的另一个示例,第三电子设备接收第二电子设备的同步成功通知时,由第三电子设备决定网络中电子设备的共同的任务时间,并在同步成功响应中携带网络中电子设备的共同的任务时间。

至此,通过前述步骤,网络中的第一电子设备、第二电子设备和第三电子设备已经完成了处理器时钟的同步,对于还存在与第三电子设备连接的第四电子设备的情况,可以参考第一电子设备与第二电子设备的处理器时钟同步、以及第二电子设备与第三电子设备的处理器时钟同步而实施。

在一个实施例中,网络中的电子设备能够基于同步的处理器时钟,在通过同步完成通知或同步完成通知响应中预先约定的任务时间执行以下操作;启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

可以理解地,通过同步完成通知或同步完成响应约定任务时间能够节省设备之间的指令交互,提升效率;但是本发明实施例不排除在设备之间增加额外的用于约定任务时间的交互方式,例如,第一电子设备可以向第二电子设备发送用于协商任务时间的指令,等待第二电子设备的反馈,第一电子设备确定第二电子设备指定的任务时间时向第二电子设备发送确认。

作为一个示例,对于微微网中的蓝牙设备(如智能音响设备)来说,可以在预先约定的起始播放时间(并根据音频流的数据包的时间戳)同步播放音频流,丢弃音频流的一个或多个数据包,或对接收的音频流解码后的发现的缺失的数据进行同步的填充,保证播放效果的同步。

在一个实施例中,网络中的电子设备在建立处理器时钟的同步之后,各电子设备还能根据获得的中断信号对处理器时钟进行校准,避免处理器时钟的抖动以保证处理器的时钟精度。

以第二电子设备举例来说,第二电子设备基于第二电子设备的处理器时钟至少两次记录第二电子设备产生相邻中断信号的间隔时间作为确定间隔时间的基准值,基于基准值对第二电子设备的处理器时钟进行校准。

例如,统计最近20次记录的第二电子设备中产生相邻中断信号的平均间隔时间作为间隔时间的基准值,将第二电子设备相邻两次产生中断信号时对应记录的处理器时钟值的差值与基准值进行比较,如果差值大于零,说明处理器时钟相对无线通信时钟向前发生抖动,将处理器时钟向后调整差值对应的时间,如差值为1s时,将处理器时钟调慢1s;如果差值小于零,说明处理器时钟相对于无线通信时钟向后发生抖动,根据差值将处理器时钟向前调整,如差值为-1s时,将处理器时钟调快1s。

对于网络中其他电子设备如第一电子设备和第二电子设备校准处理器时钟的处理可以参考第二电子设备校准的处理而实施,需要指出地,在网络中的电子设备完成处理器时钟的同步后,各电子设备可以基于自身产生的中断信号不断对处理器时钟进行校准,不再需要电子设备之间进行指令交互,实现上效率较高且节约设备之间的通信资源。

下面,再以微微网中的蓝牙设备进行处理器时钟的同步的处理过程进行说明,以图6-3为例,涉及便携式播放器、麦克风1至麦克风3,其中便携式播放器作为输出(src)设备用于向麦克风输出音频流,麦克风1至麦克风3组成微微网,作为输入(sink)设备接收即音频流。

麦克风1的蓝牙芯片与麦克风2的蓝牙芯片建立微微网1并取得基于微微网1时钟的同步,麦克风2的蓝牙芯片与麦克风3的蓝牙芯片建立微微网2并取得基于微微网2时钟的同步。

如果以麦克风1的处理器时钟作为基准,当麦克风1与麦克风2进行处理器时钟的同步时,麦克风1作为输入主(sinkmaster)设备,麦克风2作为输入从(sinkslave)设备,麦克风1与麦克风2基于微微网1时钟同步输出中断信号并记录基于微微网1时钟最近一次产生中断信号时记录处理器时钟值,麦克风2基于处理器时钟值的差值(麦克风2记录的处理器时钟值与麦克风13记录的处理器时钟值的差值),调整麦克风2的处理器时钟与麦克风1的处理器时钟同步。

当麦克风2与麦克风3进行处理器时钟的同步时,麦克风2作为输入主(sinkmaster)设备,麦克风3作为输入从(sinkslave)设备,麦克风2与麦克风3基于微微网2时钟同步输出中断信号并记录基于微微网2时钟最近一次产生中断信号时记录处理器时钟值,麦克风3基于处理器时钟值的差值(麦克风3记录的处理器时钟值与麦克风2记录的处理器时钟值的差值),调整麦克风3的处理器时钟与麦克风2的处理器时钟同步。

可见,总是将输入从(sinkslave)设备的处理器时钟调整至与输入主(sinkmaster)设备的处理器时钟调整至同步。

下面,以将输入从(sinkslave)设备的处理器时钟调整至与输入主(sinkmaster)设备的处理器时钟调整至同步为例进行说明。

结合图8提供的输入从(sinkslave)设备的处理器时钟调整至与输入主(sinkmaster)设备的处理器时钟调整至同步的一个可选的时序示意图,并参见图9,图9是本发明实施例提供的输入从(sinkslave)设备)的处理器时钟调整至与输入主(sinkmaster)设备的处理器时钟调整至同步的一个可选的流程示意图,主设备与从设备建立a2dp连接,主设备作为a2dp输出(source)设备,从设备作为a2dp输入(sink)设备,涉及下面的各个步骤。

步骤301,sinkmaster设备与sinkslave设备之间连接形成微微网(piconet),根据蓝牙协议建立微微网(piconet)时钟的同步,微微网时钟是电子设备自身的蓝牙芯片的本地时钟,独立于电子设备的处理器时钟。

步骤302,所有的输入设备,包括sinkmaster设备和sinkslave设备,每个电子设备的处理器(如mcu)向蓝牙芯片在发送到针对蓝牙芯片定制化的指令(customercmd,在蓝牙芯片中额外定义的指令,用于触发蓝牙芯片产生中断信号)后,蓝牙芯片开始每隔数个微微网时钟周期向处理器侧产生一个中断信号。

步骤303,对于sinkmaster设备与sinkslave设备来说,只要处理器接收到一个中断信号,便基于处理器自身的时钟(即处理器时钟)记录下接收到中断信号的时间,即处理器时钟值。

步骤304,输出(src)设备即便携式播放器通知sinkmaster设备音乐开始播放。

步骤305,sinkmaster设备发起与sinkslave设备的处理器时钟的同步,sinkmaster设备使用最近一次接收到中断信号(ts0)时对应记的处理器时钟值t2,作为参数携带在同步指令(synccommand)中发送给sinkslave设备。

步骤306,sinkslave设备收到同步指令后,根据自身记录的最近一次中断信号(ts0)的处理器时钟值t1,与收到的处理器时钟值t2进行比较,根据差值(t1-t2并将sinkslave设备自身的处理器时钟调整至sinkmaster设备的处理器时钟同步。

步骤307,sinkslave设备向sinkmaster设备发送同步响应。

需要指出的,发送的同步响应与同步处理器时钟可以是同步的也可以是异步的。

步骤308,sinkmaster设备在收到sinkslave设备的同步响应后,将sinkmaster设备最近一次产生中断信号记录的处理器时钟值,与向sinkslave设备发送的处理器时钟值比较,如果一致说明sinkslave设备的处理器时钟同步是在相邻两次中断信号的间隔时间内完成的,同步成功,继续执行步骤309;如果不一致,说明sinkslave设备的处理器时钟同步没有在相邻两次中断信号的间隔时间内完成的,返回步骤305以向sinkslave设备重新发送同步执行令,携带最近一次产生中断信号时记录的处理器时钟值作为参数,直至sinkslave设备的处理器时钟同步没有在相邻两次中断信号的间隔时间内完成。

例如,就图8而言,sinkmaster设备发现当前记录的最近一个中断信号(ts1)对应的系统时钟值t3和向sinkslave设备发送的处理器时钟值(针对中断信号ts0)t2不一致,说明sinkslave设备的处理器时钟同步时由产生了新的中断信号(ts1),同步不成功,继续同步;也就是:重复步骤305至步骤307直到在一个时间范围内,即在sinkslave设备在两次中断信号产生的间隔内完成处理器时钟的同步为止。

上述判断同步是否完成的方式,基于这样的原则,如果sinkslave设备在中断信号ts0之后接收到同步指令,如果此时sinkslave设备和sinkmaster设备恰好同步产生一个新的中断ts1,那么,sinkslave设备可能会利用记录中断信号(ts1)的处理器时钟值t4与接收到的同步指令中携带的处理器时钟值t2进行比较,以利用差值(t2-t4)调整sinkslave设备的处理器时钟,而本应利用(t2-t1)来调整处理器时钟,这就会导致错误地调整了sinkslave设备的处理器时钟,sinkmaster设备通过上述判断方式能够避免这种错误的情况。

步骤309,sinkmaster设备发送同步完成通知(notification)给sinkslave设备代表同步成功。

步骤310,sinkslave设备针对同步成功响应给sinkmaster设备。

在步骤309和步骤310中sinkmaster设备和sinkslave设备可以约定同时开始播放音频的起始时间,例如使用同步后的处理器时钟进行计时的任意时刻,或者可以是产生某一个中断信号(例如,在同步完成后产生的首个中断信号)的时刻。

步骤310,sinkmaster设备和sinkslave设备开始同步播放音频流。

例如,sinkmaster设备和sinkslave设备约定在偏离同步后的处理器时钟的一个时刻开始同步播放音频流,可以是在偏离处理器时钟的一个时刻开始同步播放音频流,作为一个特例,sinkmaster设备与sinkslave设备之间可以约定在后续同步产生的微微网中断信号时开始同步播放音频流。

同步的处理器时钟不仅能够保证sinkslave设备与sinkmaster设备同步开始播放音频流,由于sinkmaster设备与sinkslave设备之间完成了处理器时钟的同步,涉及保证播放相同的音频包时,可通过同步的处理器时钟,借由如图10所示音频包中的时间戳及sinkmaster设备与sinkslave设备之间的指令,来约定在某个特定的时刻之来实现同步丢包,或对接收到音频包解码后的数据(例如在发现数据缺失时)填充。

另外,sinkmaster设备和sinkslave设备的处理器时钟同步后,sinkmaster设备和sinkslave设备可以分别利用微微网时钟对各自的处理器时钟进行校准。例如,在处理器时钟同步后,sinkmaster设备根据自身蓝牙芯片产生的中断来校正处理器时钟,根据一段时间内,相邻两个中断之间的时间差值(也就说处理器时钟针对相邻两个中断之间的计时)调整系统时钟,如果多次针对两次中断的间隔时间的计时均为1s,而后发现相邻两次中断的间隔时间差为1.5s,说明处理器时钟快了0.5s,将处理器时钟向后调整0.5s。

下面对如图5-1、图5-2以及图6-1至图6-3示出的无线通信网络中电子设备在进行处理器时钟同步时的功能进行说明,由于涉及无线通信网络中电子设备的处理器时钟的同步,因此本发明实施例中也称为处理器时钟同步系统。

在图5-1、图5-2以及图6-1至图6-3示出的处理器时钟同步系统中,至少包括第一电子设备500、第二电子设备400以及第三电子设备300。以下采用第一电子设备的处理器时钟为基准时,各个电子设备的功能进行说明。

第一电子设备500,用于建立与网络中其他电子设备的无线通信时钟的同步,其他电子设备为网络中除第一电子设备500之外的电子设备;

基于无线通信时钟与其他电子设备同步产生中断信号,记录第一电子设备500中最近一次产生中断信号时的处理器时钟值;向其他电子设备发送同步指令,所发送的同步指令携带第一电子设备500记录的处理器时钟值;

第二电子设备400,用于基于第一电子设备500记录的处理器时钟值、与第二电子设备400记录的处理器时钟值的差值,调整第二电子设备400的处理器时钟与第一电子设备500的处理器时钟同步;

其中,第二电子设备400记录的处理器时钟值,为第二电子设备400最近一次产生中断信号时记录得到。

在一个实施例中,第一电子设备500还用于当网络为蓝牙网络时,在第一电子设备500中产生预定数量的蓝牙时钟周期后产生中断信号。

在一个实施例中,第一电子设备500还用于当网络为无线局域网时,在第一电子设备500侧接收到预定数量的信标后产生中断信号,其中,信标由网络的接入设备定时发送。

在一个实施例中,第一电子设备500还用于当网络为微微网,且存在至少两个与第一电子设备500连接的其他电子设备时,在第一电子设备500侧建立与其他电子设备建立同步的一个无线通信时钟;

以同步或异步方式向与第一电子设备500连接的其他电子设备发送同步指令。

在一个实施例中,第一电子设备500还用于当网络为散射网,且散射网的不同微微网中均存在至少一个与第一电子设备500连接的其他电子设备时,在第一电子设备500侧建立与其他电子设备同步的无线通信时钟,其中,与每个其他电子设备对应建立的无线通信时钟不同;

基于与其他电子设备对应建立的无线通信时钟而同步产生中断信号;

以同步或异步方式向与第一电子设备500连接的其他电子设备发送对应的同步指令,其中,向每个其他电子设备发送的同步指令中,携带与其他电子设备同步产生最近一次中断信号时记录的处理器时钟值。

在一个实施例中,第一电子设备500还用于当第一电子设备500与其他电子设备顺序连接时,向与第一电子设备500连接的第二电子设备400发送同步指令,以触发第二电子设备400进行处理器时钟同步后,向与第二电子设备400连接的第三电子设备300发送同步指令,直至其他电子设备依次全部完成处理器时钟同步。

在一个实施例中,第一电子设备500还用于判断其他电子设备是否在相邻两次中断信号的间隔内完成处理器时钟同步,如果否,则再次向其他电子设备发送同步指令,所再次发送的同步指令携带第一电子设备500再次记录最近一次产生中断信号时的处理器时钟值。

在一个实施例中,第一电子设备500还用于在接收到来自其他电子设备发送的同步响应时,通过比较向其他电子设备发送的处理器时钟值与第一电子设备500最近一次产生中断信号时记录的处理器时钟值是否一致,如果是,判定在相邻两次中断信号的间隔内完成处理器时钟同步;如果否,判定未在相邻两次中断信号的间隔内完成处理器时钟同步。

在一个实施例中,第一电子设备500还用于在确定其他电子设备在相邻两次中断信号的间隔内完成处理器时钟同步时,向其他电子设备发送同步成功通知,并接收第一电子设备500发送的同步成功通知响应。

在一个实施例中,第一电子设备500还用于同步成功通知携带网络中电子设备的共同的任务时间;或者,同步成功通知响应中携带网络中电子设备的共同的任务时间。

在一个实施例中,第一电子设备500还用于基于第一电子设备500的处理器时钟至少两次记录第一电子设备500产生相邻中断信号的间隔时间,确定间隔时间的基准值;将第一电子设备500相邻两次产生中断信号时对应的处理器时钟值的差值与基准值进行比较,将第一电子设备500的处理器时钟根据比较得到的差值进行调整。

在一个实施例中,第一电子设备500还用于第一电子设备500与网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

在一个实施例中,第二电子设备400还用于当网络为蓝牙网络时,在第二电子设备400中产生预定数量的蓝牙时钟周期后产生中断信号。

在一个实施例中,第二电子设备400还用于当网络为无线局域网时,在第二电子设备400侧接收到预定数量的信标后产生中断信号,其中,信标由网络的接入设备定时发送。

在一个实施例中,第二电子设备400还用于接收到第一电子设备500发送的同步指令之后,向第一电子设备500发送同步响应;

其中,同步响应用于供第一电子设备500在接收到同步响应时,通过比较同步指令中携带的处理器时钟值与第一电子设备500最近一次产生中断信号时记录的处理器时钟值是否一致,来判断第二电子设备400是否在相邻两次中断信号的间隔内完成处理器时钟同步。

在一个实施例中,第二电子设备400还用于当第二电子设备400未在相邻两次中断信号的间隔内完成处理器时钟同步时,接收第一电子设备500再次发送的同步指令,再次发送的同步指令携带第二电子设备400再次记录最近一次产生中断信号时的处理器时钟值;

根据第一电子设备500再次记录的处理器时钟值、与第二电子设备400中最近一次产生中断信号时再次记录的处理器时钟值的差值,调整第二电子设备400的处理器时钟与第一电子设备500的处理器时钟同步。

在一个实施例中,第二电子设备400还用于当第二电子设备400在相邻两次中断信号的间隔内完成处理器时钟同步时,接收第一电子设备500发送的同步成功通知,并向第一电子设备500发送同步成功通知响应。

在一个实施例中,第二电子设备400还用于同步成功通知携带网络中电子设备的共同的任务时间;或者,同步成功通知响应中携带网络中电子设备的共同的任务时间。

在一个实施例中,第二电子设备400还用于与第一电子设备500的处理器时钟同步之后,基于第二电子设备400的处理器时钟至少两次记录第二电子设备400产生相邻中断信号的间隔时间,确定间隔时间的基准值;

将第二电子设备400产生相邻中断信号时对应的处理器时钟值的差值与基准值进行比较,将第二电子设备400的处理器时钟根据比较得到的差值进行调整。

在一个实施例中,第二电子设备400还用于当第一电子设备500与网络中的其他电子设备顺序连接时,且第一电子设备500连接的第二电子设备400根据来自第二电子设备400的同步指令进行处理器时钟同步后,向与第二电子设备400连接的第三电子设备300发送同步指令。

在一个实施例中,第二电子设备400还用于与网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

对前述第一电子设备500的功能结构进行说明,参见图11示出的第一电子设备500的一个可选的功能结构示意图,包括:无线通信时钟单元510、中断信号单元520、处理器时钟单元530和处理器时钟同步单元540;另外,还可以包括计算任务单元550,对各单元的功能进行说明。

无线通信时钟单元510,用于在第一电子设备500侧建立与网络中其他电子设备同步的无线通信时钟,其他电子设备为网络中除第一电子设备500之外的电子设备;

中断信号单元520,用于在第一电子设备500中基于无线通信时钟与其他电子设备同步产生中断信号;

处理器时钟单元530,用于记录第一电子设备500中最近一次产生中断信号时的处理器时钟值;

处理器时钟同步单元540,用于向其他电子设备发送同步指令,所发送的同步指令携带处理器时钟单元530记录的处理器时钟值,用于触发其他电子设备基于第一电子设备500记录的处理器时钟值、与其他电子设备记录的处理器时钟值的差值,调整其他电子设备的处理器时钟与第一电子设备500的处理器时钟同步;

其中,其他电子设备记录的处理器时钟值,为其他电子设备最近一次产生中断信号时记录得到。

在一个实施例中,中断信号单元520,还用于当网络为蓝牙网络时,在第一电子设备500中产生预定数量的蓝牙时钟周期后产生中断信号。

在一个实施例中,中断信号单元520,还用于当网络为无线局域网时,在第一电子设备500侧接收到预定数量的信标后产生中断信号,其中,信标由网络的接入设备定时发送。

在一个实施例中,无线通信时钟单元510,还用于当网络为微微网,且存在至少两个与第一电子设备500连接的其他电子设备时,在第一电子设备500侧建立与其他电子设备建立同步的一个无线通信时钟;

处理器时钟同步单元540,还用于以同步或异步方式向与第一电子设备500连接的其他电子设备发送同步指令。

在一个实施例中,无线通信时钟单元510,还用于当网络为散射网,且散射网的不同微微网中均存在至少一个与第一电子设备500连接的其他电子设备时,在第一电子设备500侧建立与其他电子设备同步的无线通信时钟,其中,与每个其他电子设备对应建立的无线通信时钟不同;

中断信号单元520,还用于基于与其他电子设备对应建立的无线通信时钟而同步产生中断信号;

处理器时钟同步单元540,还用于以同步或异步方式向与第一电子设备500连接的其他电子设备发送对应的同步指令,其中,向每个其他电子设备发送的同步指令中,携带与其他电子设备同步产生最近一次中断信号时记录的处理器时钟值。

在一个实施例中,处理器时钟同步单元540,还用于当第一电子设备500与其他电子设备顺序连接时,向与第一电子设备500连接的第二电子设备400发送同步指令,以触发第二电子设备400进行处理器时钟同步后,向与第二电子设备400连接的第三电子设备300发送同步指令,直至其他电子设备依次全部完成处理器时钟同步。

在一个实施例中,处理器时钟同步单元540,还用于判断其他电子设备是否在相邻两次中断信号的间隔内完成处理器时钟同步,如果否,则再次向其他电子设备发送同步指令,所再次发送的同步指令携带第一电子设备500再次记录最近一次产生中断信号时的处理器时钟值。

在一个实施例中,处理器时钟同步单元540,还用于在接收到来自其他电子设备发送的同步响应时,通过比较向其他电子设备发送的处理器时钟值与第一电子设备500最近一次产生中断信号时记录的处理器时钟值是否一致,如果是,判定在相邻两次中断信号的间隔内完成处理器时钟同步;如果否,判定未在相邻两次中断信号的间隔内完成处理器时钟同步。

在一个实施例中,处理器时钟同步单元540,还用于在确定其他电子设备在相邻两次中断信号的间隔内完成处理器时钟同步时,向其他电子设备发送同步成功通知,并接收其他电子设备发送的同步成功通知响应。

在一个实施例中,处理器时钟同步单元540,还用于基于第一电子设备500的处理器时钟至少两次记录第一电子设备500产生相邻中断信号的间隔时间,确定间隔时间的基准值;

将第一电子设备500产生相邻中断信号时对应的处理器时钟值的差值与基准值进行比较,将第一电子设备500的处理器时钟根据比较得到的差值进行调整。

在一个实施例中,还包括:

计算任务单元550,用于与网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

对前述第二电子设备的功能结构进行说明,参见图12示出的第二电子设备400的一个可选的功能结构示意图,包括:无线通信时钟单元410、中断信号单元420、处理器时钟单元430和处理器时钟同步单元440;另外,还可以包括计算任务单元450。

无线通信时钟单元410,用于在第二电子设备400侧建立与网络中其他电子设备的同步的无线通信时钟,其他电子设备为网络中除第二电子设备400之外的电子设备;

中断信号单元420,用于基于无线通信时钟与其他电子设备同步产生中断信号,记录第二电子设备400中最近一次产生中断信号时的处理器时钟值;

处理器时钟单元430,用于接收第一电子设备500所发送的同步指令,所发送的同步指令携带第一电子设备500最近一次产生中断信号时记录的处理器时钟值;

处理器时钟同步单元440,用于基于第一电子设备500记录的处理器时钟值、与第二电子设备400记录的处理器时钟值的差值,调整第二电子设备400的处理器时钟与第一电子设备500的处理器时钟同步;

其中,第二电子设备400记录的处理器时钟值,为第二电子设备400最近一次产生中断信号时记录得到。

在一个实施例中,中断信号单元420,还用于当网络为蓝牙网络时,在第二电子设备400中产生预定数量的蓝牙时钟周期后产生中断信号。

在一个实施例中,中断信号单元420,还用于当网络为无线局域网时,在第二电子设备400侧接收到预定数量的信标后产生中断信号,其中,信标由网络的接入设备定时发送。

在一个实施例中,处理器时钟同步单元440,还用于接收到第一电子设备500发送的同步指令之后,向第一电子设备500发送同步响应;

其中,同步响应用于供第一电子设备500在接收到同步响应时,通过比较同步指令中携带的处理器时钟值与第一电子设备500最近一次产生中断信号时记录的处理器时钟值是否一致,来判断第二电子设备400是否在相邻两次中断信号的间隔内完成处理器时钟同步。

在一个实施例中,处理器时钟单元430,还用于当处理器时钟同步单元440未在相邻两次中断信号的间隔内完成处理器时钟同步时,接收第一电子设备500再次发送的同步指令,再次发送的同步指令携带第二电子设备400再次记录最近一次产生中断信号时的处理器时钟值;

处理器时钟同步单元440,还用于根据第一电子设备500再次记录的处理器时钟值、与第二电子设备400中最近一次产生中断信号时再次记录的处理器时钟值的差值,调整第二电子设备400的处理器时钟与第一电子设备500的处理器时钟同步。

在一个实施例中,处理器时钟同步单元440,还用于当第二电子设备400在相邻两次中断信号的间隔内完成处理器时钟同步时,接收第一电子设备500发送的同步成功通知,并向第一电子设备500发送同步成功通知响应。

在一个实施例中,处理器时钟同步单元440,还用于与第一电子设备500的处理器时钟同步之后,基于第二电子设备400的处理器时钟至少两次记录第二电子设备400产生相邻中断信号的间隔时间,确定间隔时间的基准值;

处理器时钟同步单元440,还用于将第二电子设备400产生相邻中断信号时对应的处理器时钟值的差值与基准值进行比较,将第二电子设备400的处理器时钟根据比较得到的差值进行调整。

在一个实施例中,还包括:

计算任务单元450,用于与网络中的其他电子设备基于同步的处理器时钟,在预定的任务时间执行以下操作至少之一:启动计算任务;丢弃计算任务;对所接收的同一计算任务进行修改。

需要指出地,上述针对第一电子设备500和第二电子设备400的功能结构的划分仅仅是示例性地,本领域技术人员可以根据前述的记载,轻易地对电子设备的功能结构进行变化,如对部分功能单元进行合并或者进一步的拆分,因此前述记载的电子设备的功能结构并构成对电子设备功能结构的限定。

本发明实施例提供一种存储介质,存储有可执行指令,用于执行本发明实施例如图4、图7提供的处理器时钟同步方法,本发明实施例提供的存储介质可为光盘、闪存或磁盘等非易失性存储介质。

综上,本发明实施例具有以下有益效果:

一方面,一旦第二电子设备使用自身的处理器时钟针对中断信号记录形成的处理器时钟值,与第一电子设备使用自身的处理器时钟针对中断信号记录形成的处理器时钟值比较形成差值,就能够精确得到第一电子设备的处理器时钟与第二电子设备的处理器时钟的偏离程度,从而能够进行处理器时钟的精确同步;

另一方面,第二电子设备基于处理器时钟值的差值来调整处理器时钟,与相关技术分别读取两个电子设备的处理器时钟、进行比较并调整而言,避免了直接读取处理器时钟带来的延时以及处理器时钟自身的抖动,实现上效率更高,且能够保证同步的精度。

本领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(ram,randomaccessmemory)、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ram、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1