时间同步及广播设定方法、芯片、电子设备及存储介质与流程

文档序号:22627608发布日期:2020-10-23 19:36阅读:259来源:国知局

本申请涉及通信技术领域,特别涉及一种时间同步及广播设定方法、芯片、电子设备及存储介质。



背景技术:

低功耗蓝牙设备(bluetoothlowenergy,ble)包含时间同步功能,即相连的两个ble设备可以进行时间同步。同步端设备可以在接收到被同步端设备发送的时间同步请求时,获取该同步端设备的当前时间并将其处理成数据包,以数据包的形式发送给被同步端设备;被同步端设备在该数据包后,从该数据包中解析出该同步端设备的当前时间,并将本地时间设定为该同步端设备的当前时间,以实现时间同步。

发明人发现现有技术至少存在以下问题:在时间同步过程中,同步端设备将该同步端设备的当前时间处理成数据包、将该数据包传输给被同步端设备、以及被同步端设备对该数据包进行解析以得到该同步端设备的当前时间,这些环节均需要消耗时间,在这段时间中,同步端设备的时间已经不再是数据包中的时间,而被同步端设备直接利用数据包中的时间进行时间同步的设定,会导致时间上的误差,造成时间同步不准确。例如:同步端设备的当前时间为15:30,同步端设备将包含当前时间的数据包传输给被同步端设备,被同步端设备解析数据包得到当前时间为15:30,立即将时间设定为15:30,而此时同步端设备的时间已经是15:32了,这样造成时间同步不准确。



技术实现要素:

本申请部分实施例的目的在于提供一种时间同步及广播设定方法、芯片、电子设备及存储介质,实现精准的时间同步。

本申请实施例提供了一种时间同步方法,包括:接收时间同步信息;其中,所述时间同步信息包括同步端的连接事件的第一计数值n和第一时间;所述第一时间是指第n个连接事件的发生时间;至少根据所述第一计数值n以及所述第一时间,确定连接事件的第二计数值k以及第二时间;其中,所述第二时间是指第k个连接事件的发生时间,n、k为自然数;在第k个连接事件发生时,基于所述第二时间进行时间同步。

本申请实施例还提供了一种时间同步方法,包括:确定连接事件的第一计数值n;其中,n为自然数;根据本地记录的连接事件的当前计数值z、当前时间以及预设的连接事件周期,确定第一时间;其中,所述第一时间是指第n个连接事件的发生时间,z为自然数;向被同步端发送时间同步信息,供所述被同步端根据所述时间同步信息进行时间同步;其中,所述时间同步信息包括所述第一计数值n和所述第一时间。通过这样的方法,使被同步端实现精准的时间同步。

相对于现有技术而言,被同步端从同步端接收的时间同步信息包括连接事件的第一计数值n和第一时间,其中第一时间是指第n个连接事件的发生时间;被同步端基于连接事件的计数值来确定时间同步执行时刻且根据执行时刻的连接事件的发生时间来同步本地时间。由于同步端和被同步端连接后会周期性地产生连接事件,且同步端和被同步端内连接事件的计数值是同步增加的,因此被同步端在时间同步执行时刻的连接事件的计数值与同步端内的连接事件的计数值相同,从而可以与同步端实现精准的时间同步。

例如,所述第一计数值n大于所述时间同步信息被发出时所述同步端本地记录的连接事件的当前计数值z;其中,z为自然数。由于数据传输和数据处理需要占用事件,所以第一计数值n取值大于当前计数值z更加的合理。

例如,所述至少根据所述第一计数值n以及所述第一时间,确定连接事件的第二计数值k以及第二时间,包括:若被同步端本地记录的连接事件的当前计数值m小于所述第一计数值n,确定所述第二计数值k的取值为n,所述第二时间为所述第一时间;其中,m为自然数。若当前计数值m小于第一计数值n,直接等到计数值为时间同步信息中的第一计数值n时,将时间同步信息中的第一时间进行设定,不用进行另外的计算过程,减轻了处理负担,提高了时间同步的效率。

例如,所述至少根据所述第一计数值n以及所述第一时间,确定连接事件的第二计数值k以及第二时间,包括:若被同步端本地记录的连接事件的当前计数值m大于或等于所述第一计数值n,确定所述第二计数值k的取值为大于或等于m,所述第二时间为所述第一时间与l个预设的连接事件周期之和;其中,l=k-n,l、m为自然数。若当前计数值m大于或等于第一目标计数值n,给出了一种确定第二目标计数值k以及第二时间的具体实现方式。

例如,所述第二计数值k的取值为m+1,且l=m-n+1。在当前连接事件的下一次连接事件发生时进行时间同步,可以精确且尽可能快地实现时间同步。

例如,所述在第k个连接事件发生时,基于所述实际同步时间进行时间同步之后,还包括:向所述同步端反馈应答信息,供所述同步端根据所述应答信息确认时间同步是否成功;其中,所述应答信息包括连接事件的校验计数值q和校验时间,所述校验时间是指第q个连接事件的发生时间,q为自然数。通过这样的方法,可以确认时间同步是否成功,提高了时间同步的准确性。

例如,所述校验计数值q大于所述第二计数值k。给出了一种具体实现方式。

本申请实施例还提供了一种广播设定方法,各网络节点基于上述所述的时间同步方法完成了时间同步,各所述网络节点的数量小于或等于预设的广播周期与所述网络节点的单次数据最大发送时长的商;所述方法包括:为各所述网络节点配置所述广播周期;根据所述广播周期、单次数据最大发送时长以及各所述网络节点的数量,确定各所述网络节点在每个所述广播周期内的广播时间点。通过这样的方法,降低了各网络节点之间产生相互影响的广播干扰的几率。

例如,所述根据所述广播周期、所述单次数据最大发送时长以及各所述网络节点的数量,确定各所述网络节点在每个所述广播周期内的广播时间点,包括:根据所述广播周期和所述单次数据最大发送时长,确定各所述网络节点在所述广播周期内的发送数据总条数;根据所述发送数据总条数和各所述网络节点的数量,确定每个所述网络节点在所述广播周期内的发送数据条数;根据所述广播周期和所述发送数据条数,确定所有的所述网络节点依次完成一条数据发送的总时长;将第x个所述网络节点在所述广播周期中的第y次广播时间点设定为(y-1)个所述总时长加上(x-1)个所述单次数据最大发送时长;其中,x小于或等于各所述网络节点的数量,y小于或等于所述发送数据条数,x、y为自然数。给出了一种确定各网络节点对应的广播时间点的具体实现方式。

例如,在所述向被同步端发送时间同步信息,供所述被同步端根据所述时间同步信息进行时间同步之后,还包括:接收所述被同步端反馈的应答信息;其中,所述应答信息包括连接事件的校验计数值q和校验时间,q为自然数;

至少根据本地记录的连接事件的当前计数值h,确定第q个连接事件的发生时间;其中,h为自然数,且h大于z;若所述第q个连接事件的发生时间为所述校验时间,确认同步成功。通过这样的方法,可以确认时间同步是否成功,提高了时间同步的准确性。

例如,所述至少根据本地记录的连接事件的当前计数值h,确定第q个连接事件的发生时间,包括:若所述当前计数值h小于或等于所述校验计数值q,在第q个连接事件发生时,获取本地的当前时间,作为第q个连接事件的发生时间。给出了一种确定第q个连接事件的发生时间的具体实现方式。

例如,所述至少根据本地记录的连接事件的当前计数值h,确定第q个连接事件的发生时间,包括:若所述当前计数值h大于所述校验计数值q,获取本地的当前时间,确定第q个连接事件的发生时间为所述本地的当前时间减去(h-q)个所述连接事件周期。给出了一种确定第q个连接事件的发生时间的具体实现方式。

本申请实施例还提供了一种芯片,与至少一存储器连接,所述存储器存储有可被所述芯片执行的指令,所述指令被所述芯片执行,以使所述芯片能够执行上述所述的时间同步方法,或上述所述的广播设定方法。

本申请实施例还提供了一种电子设备,包括上述所述的芯片。

本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的时间同步方法,或上述所述的广播设定方法。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

图1是根据本申请第一实施例中的时间同步方法的流程图;

图2是根据本申请第二实施例中的时间同步方法的流程图;

图3是根据本申请第三实施例中的时间同步方法的流程图;

图4是根据本申请第四实施例中的时间同步方法的流程图。

图5是根据本申请第五实施例中的广播设定方法的流程图;

图6是根据本申请第五实施例中的步骤502的一种具体实现方式的流程图;

图7是根据本申请第五实施例中的网络节点对应的广播时间点的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请部分实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请第一实施例涉及一种时间同步方法,应用于蓝牙设备。时间同步信息的接收端为被同步端,时间同步信息的发送端为同步端,同步端和被同步端进行蓝牙连接后,会不断发生跳频,每产生一次跳频,两端的连接事件计数器的计数值(connectioneventcounter)就会同时增加一次;计数器的计数值从两端建立蓝牙连接开始计数,且在一次蓝牙连接中,两端的计数值在每次连接事件发生时都是一致的;而且,两次连接事件之间存在时间间隔,该时间间隔称为连接事件周期(connectioninterval),两端的连接事件周期也是相同的。本实施例中的时间同步方法的具体流程图如图1所示,包括:

步骤101,接收时间同步信息;其中,时间同步信息包括同步端的连接事件的第一计数值n和第一时间;第一时间是指第n个连接事件的发生时间。

具体地说,被同步端向同步端发送时间同步的请求,同步端在接收到时间同步请求后,确定连接事件的第一计数值n,第一计数值n可以任意取值,本实施例不做具体限定。同步端将包括同步端的连接事件的第一计数值n和第一时间的时间同步信息发送给被同步端,被同步端在接收到同步端下发的时间同步信息后,进行解析得到时间同步信息中的连接事件的第一计数值n和第一时间,第一时间是指第n个连接事件的发生时间。

在一个例子中,第一计数值n大于时间同步信息被发出时同步端本地记录的连接事件的当前计数值z;其中,z为自然数。例如:若时间同步信息被发出时同步端本地记录的连接事件的当前计数值z为10,则第一计数值n可以为12、14等。

在一个例子中,同步端和被同步端之间以数据包的形式传输信息,数据包中的字段可以用于记录时间同步信息,即被同步端接收的为包括时间同步信息的数据包,被同步端解析数据包得到时间同步信息中的连接事件的第一计数值n和第一时间。该数据包是在原有数据包新增了一个第一字段,例如:第一字段可以为2byte,该第一字段用于存储连接事件的第一计数值n,而原有数据包的第二字段用于存储第一时间。需要说明的是,第一字段的长度与毫秒级的时间长度匹配,即第一字段的长度可以记录到毫秒级的时间。

在另一个例子中,还可以在原有数据包中再新增一个第三字段,例如:第三字段可以为2byte,记作tus,用于记录微秒级的时间,即第一时间被记录在第二字段和第三字段中,第二字段用于记录第一时间的精确度为毫秒级的数值,第三字段用于记录第一时间的微秒数值。通过这样的方法,增加记录时间字段的长度,使得第一时间的精确度可以达到微秒级,进一步提高了时间同步精确性。

步骤102,至少根据第一计数值n以及第一时间,确定连接事件的第二计数值k以及第二时间;其中,第二时间是指第k个连接事件的发生时间,n、k为自然数。

步骤103,在第k个连接事件发生时,基于第二时间进行时间同步。

具体地说,被同步端本地记录的连接事件的当前计数值m为计数器的当前计数值。本实施例中,当前计数值m小于第一计数值n,确定第二计数值k的取值为n,第二时间为第一时间。此时,同步端的连接事件的计数值也为n,当前时间也为第一时间,实现精准的时间同步。即,若当前计数值小于第一计数值,说明此时的连接事件的计数值还未到达第一计数值n,则直接等到第n个连接事件发生时,基于第一时间进行时间同步,不用进行另外的计算过程,减轻了处理负担,提高了时间同步的效率。例如:同步端的本地记录的连接事件的当前计数值z为8,确定的第一计数值为12;若被同步端的本地记录的连接事件的当前计数值m为10,则等到第12个连接事件发生时,将时间设定为第一时间;此时,发送端的连接事件的计数值也为12,时间为第一步时间,被同步端的时间与发送端的时间一致,实现精准的时间同步。

在另一个例子中,若当前计数值m小于第一计数值n,第二计数值k的取值也可以大于或等于当前计数值m且小于第一计数值n,第二时间为第一时间与l个预设的连接事件周期之差,l=n-k;即第k个连接事件发生时的第二时间=第一时间-(n-k)*预设的连接事件周期。例如:被同步端的本地记录的连接事件的当前计数值m为10,第一计数值为12,第二计数值k的取值可以为11,则等到第11个连接事件发生时,将时间设定为第二时间,此时,发送端的连接事件的计数值也为11,时间为第二时间,被同步端的时间与发送端的时间一致,实现精准的时间同步。

在一个例子中,若当前计数值m大于或等于第一计数值n,确定第二计数值k的取值为大于或等于m,第二时间为第一时间与l个预设的连接事件周期之和;其中,l=k-n。即第k个连接事件发生时的第二时间=(k-n)*预设的连接事件周期+第一时间。此时,同步端的连接事件的计数值也为k,当前时间也为第二时间,实现精准的时间同步。在一个例子中,第二计数值k的取值为m+1,且l=m-n+1,在当前连接事件的下一次连接事件发生时进行时间同步,可以精确且尽可能快地实现时间同步。例如:本地记录的连接事件的当前计数值m为14,第一计数值n为12,则k为15,l为3,即等到第15个连接事件发生时,将时间设定为第二时间。另外,如上述例子,第二计数值k的取值也可以为14,则等到第14个连接事件发生时,将时间设定为第二时间。

本实施例相对于现有技术而言,由于同步端和被同步端连接后会周期性地产生连接事件,且同步端和被同步端内连接事件的计数值是同步增加的,因此被同步端在时间同步执行时刻的连接事件的计数值与同步端内的连接事件的计数值相同,从而可以与同步端实现精准的时间同步。

本申请第二实施例涉及一种时间同步方法,第二实施例与第一实施例大致相同,不同之处在于:通过向时间同步信息的发送端反馈应答信息,供发送端根据应答信息确认时间同步是否成功。本实施例中的时间同步方法的具体流程图如图2所示,包括:

步骤201,接收时间同步信息;其中,时间同步信息包括同步端的连接事件的第一计数值n和第一时间;第一时间是指第n个连接事件的发生时间。

步骤202,至少根据第一计数值n以及第一时间,确定连接事件的第二计数值k以及第二时间;其中,第二时间是指第k个连接事件的发生时间,n、k为自然数。

步骤203,在第k个连接事件发生时,基于第二时间进行时间同步。

步骤201-203与步骤101-103类似,在此不再赘述。

步骤204,向同步端反馈应答信息,供同步端根据应答信息确认时间同步是否成功;其中,应答信息包括连接事件的校验计数值q和校验时间,校验时间是指第q个连接事件的发生时间,q为自然数。

具体地说,连接事件的校验计数值q可以根据实际需要进行取值,本实施方式不做具体限定;校验时间是指第q个连接事件的发生时间。由于发送应答信息和处理应答信息需要占用时间,所以当同步端进行校验时,连接事件的计数值大于第二计数值k,所以可以将校验计数值q设定为大于当前计数值k,即在当前计数值k的基础上加上一个预测的连接事件的计数值得到校验计数值q,校验计数值q=当前计数值k+预测的连接事件的计数值;预测的连接事件的计数值为数据传输和数据处理占用时间时可能发生的连接事件的计数值。此时,校验时间=第二时间+(q-k)*预设的连接事件周期。在一个例子中,校验计数值q也可以小于或等于第二计数值k,则校验时间=第二时间-(k-q)*预设的连接事件周期。

在一个例子中,包含应答信息的数据包与包含时间同步信息的数据包的格式一致,该数据包是在原有数据包新增了一个第一字段,例如:新增字段可以为2byte,该第一字段用于存储连接事件的校验计数值q,而原有数据包的第二字段用于存储校验时间。需要说明的是,第一字段的长度与毫秒级的时间长度匹配,即第一字段的长度可以记录到毫秒级的时间。

在另一个例子中,还可以在原有数据包中再新增一个第三字段,例如:新增字段可以为2byte,记作tus,用于记录微秒级的时间,即校验时间被记录在第二字段和第三字段中,第二字段用于记录校验时间的精确度为毫秒级的数值,第三字段用于记录校验时间的微秒数值。通过这样的方法,增加记录时间字段的长度,使得校验时间的精确度可以达到微秒级,进一步提高了时间同步精确性。

本实施例中,通过向时间同步信息的发送端反馈应答信息,供发送端根据应答信息确认时间同步是否成功,提高了时间同步的准确性。

本申请第三实施例涉及一种时间同步方法,应用于蓝牙设备。本实施例中的时间同步方法的具体流程图如图3所示,包括:

步骤301,确定连接事件的第一计数值n;其中,n为自然数。

步骤302,根据本地记录的连接事件的当前计数值z、当前时间以及预设的连接事件周期,确定第一时间;其中,第一时间是指第n个连接事件的发生时间,z为自然数。

步骤303,向被同步端发送时间同步信息,供被同步端根据时间同步信息进行时间同步;其中,时间同步信息包括第一计数值n和第一时间。

具体地说,同步端在收到被同步端的时间同步请求后,确定连接事件的第一计数值n以及第一时间。在一个例子中,第一计数值n大于本地记录的连接事件的当前计数值z,第一计数值n由同步端根据本地记录的连接事件的当前计数值z进行确定,由于数据传输和数据处理需要占用时间,所以当被同步端进行时间设定时,连接事件的计数值一定大于当前计数值z,所以可以将第一计数值n设定为大于当前计数值z,即在当前计数值z的基础上加上一个预测的连接事件的计数值得到第一计数值,第一计数值n=本地记录的连接事件的当前计数值z+预测的连接事件的计数值;预测的连接事件的计数值为数据传输和数据处理占用时间时可能发生的连接事件的计数值。例如:本地记录的连接事件的当前计数值z为8,若预测的连接事件的计数值为4,则第一计数值n为12。此时,第一时间由同步端根据本地记录的连接事件的当前计数值z、当前时间以及预设的连接事件周期进行计算得到,即,第一时间=当前时间+(n-z)*预设的连接事件周期。在另一个例子中,第一计数值n小于本地记录的连接事件的当前计数值z,此时,第一时间=当前时间-(z-n)*预设的连接事件周期。在另一个例子中,第一计数值n等于本地记录的连接事件的当前计数值z,此时,第一时间=当前时间。

在一个例子中,同步端和被同步端之间以数据包的形式传输信息,数据包中的字段可以用于记录时间同步信息,即向被同步端发送包括时间同步信息的数据包,供被同步端根据时间同步信息进行时间同步;其中,时间同步信息包括第一计数值n和第一时间。

本实施例中,由于同步端和被同步端连接后会周期性地产生连接事件,且同步端和被同步端内连接事件的计数值是同步增加的,因此被同步端在时间同步执行时刻的连接事件的计数值与同步端内的连接事件的计数值相同,从而可以与同步端实现精准的时间同步。

本申请第四实施例涉及一种时间同步方法,第四实施例与第三实施例大致相同,不同之处在于:根据接收的被同步端反馈的应答信息,确认是否同步成功。本实施例中的时间同步方法的具体流程图如图4所示,包括:

步骤401,确定连接事件的第一计数值n;其中,n为自然数。

步骤402,根据本地记录的连接事件的当前计数值z、当前时间以及预设的连接事件周期,确定第一时间;其中,第一时间是指第n个连接事件的发生时间,z为自然数,且z小于n。

步骤403,向被同步端发送时间同步信息,供被同步端根据时间同步信息进行时间同步;其中,时间同步信息包括第一计数值n和第一时间。

步骤401-403与步骤301-303类似,在此不再赘述。

步骤404,接收被同步端反馈的应答信息;其中,应答信息包括连接事件的校验计数值q和校验时间,q为自然数。

具体地说,发送端对接收的应答信息进行解析,得到连接事件的校验计数值q和校验时间。校验时间是指第q个连接事件的发生时间,在一个例子中,校验计数值q大于第二计数值k,则校验时间=第二时间+(q-k)*预设的连接事件周期。在另一个例子中,校验计数值q小于或等于第二计数值k,则校验时间=第二时间-(k-q)*预设的连接事件周期。

步骤405,至少根据本地记录的连接事件的计数值h,确定第q个连接事件的发生时间;其中,h为自然数,且h大于z。

步骤406,若第q个连接事件的发生时间为校验时间,确认同步成功。

具体地说,本地记录的连接事件的计数值h是指接收被同步端反馈的应答信息时的连接事件的计数值。在一个例子中,若当前连接事件计数值h小于或等于校验计数值q,在第q个连接事件发生时,获取本地的当前时间,作为第q个连接事件的发生时间。在一个例子中,若当前连接事件计数值h大于校验计数值q,获取本地的当前时间,确定第q个连接事件的发生时间为本地的当前时间减去(h-q)个连接事件周期。此时本地的当前时间为连接事件计数值为h时的时间,第q个连接事件的发生时间=本地的当前时间-(h-q)个连接事件周期。若第q个连接事件的发生时间为校验时间,确认同步成功;若第q个连接事件的发生时间不是校验时间,确认同步未成功,则重新进行时间同步。

本实施例中,根据第q个连接事件的发生时间以及校验时间,可以确认时间同步是否成功,提高了时间同步的准确性。

本申请第五实施例涉及一种广播设定方法,应用于网络节点。互相连接的网络中包括多个网络节点,网络为mesh网络,且各网络节点基于上述的时间同步方法完成了时间同步,各网络节点的数量小于或等于预设的广播周期与网络节点的单次数据最大发送时长的商。本实施例中的广播设定方法的具体流程图如图5所示,包括:

步骤501,为各网络节点配置广播周期。

具体地说,各网络节点均加入了mesh网络,并组网完成,各网络节点均基于上述的时间同步方法完成了时间同步。广播周期为根据实际需要进行预设的,各网络节点的数量小于或等于预设的广播周期与网络节点的单次数据最大发送时长的商。例如:广播周期为20ms,网络节点的单次数据最大发送时长为1ms,则最多可以选定20个网络节点。

步骤502,根据广播周期、单次数据最大发送时长以及各网络节点的数量,确定各网络节点在每个广播周期内的广播时间点。

需要说明的是,在确定了各网络节点在每个广播周期内的广播时间点之后,将确定的各网络节点对应的广播时间点分发给对应的网络节点,在一个广播周期内,各网络节点在对应的广播时间点进行数据的发送,这样各网络节点均在不同的时刻进行数据的发送。

在一个例子中,根据广播周期、单次数据最大发送时长以及各网络节点的数量,确定各网络节点在每个广播周期内的广播时间点的具体流程图如图6所示,包括:

步骤5021,根据广播周期和单次数据最大发送时长,确定各网络节点在广播周期内的发送数据总条数。

步骤5022,根据发送数据总条数和各网络节点的数量,确定每个网络节点在广播周期内的发送数据条数。

步骤5023,根据广播周期和发送数据条数,确定所有的网络节点依次完成一条数据发送的总时长。

具体地说,所有的网络节点在广播周期内的发送数据总条数=广播周期/单次数据最大发送时长;各网络节点在广播周期内的发送数据条数=发送数据总条数/网络节点的数量;所有的网络节点完成一条数据发送的总时长=广播周期/发送数据条数。

步骤5024,将第x个网络节点在广播周期中的第y次广播时间点设定为(y-1)个总时长加上(x-1)个单次数据最大发送时长;其中,x小于或等于网络节点的数量,y小于或等于发送数据条数,x、y为自然数。

具体地说,第x个网络节点在广播周期中的第y次广播时间点=(y-1)个总时长+(x-1)个单次数据最大发送时长;x小于或等于网络节点的数量,y小于或等于发送数据条数,x、y为自然数。

在一个例子中,若广播周期为20ms,单次数据最大发送时长为1ms,此时最多可选择20个网络节点。若各网络节点的数量为20个,则所有的各网络节点在广播周期内的发送数据总条数为20条,各网络节点在广播周期内的发送数据条数为1条,所有的各网络节点依次完成一条数据发送的总时长为20ms,则节点1在广播周期的第0ms发送数据,节点2在广播周期的第1ms发送数据,……,节点20在广播周期的第20ms发送数据;需要说明的是,若节点2在第8ms收到数据,则等到下一个广播周期的第1ms发送数据。

在另一个例子中,若广播周期为20ms,单次数据最大发送时长为1ms,若各网络节点的数量为5个,则所有的网络节点在广播周期内的发送数据总条数为20条,各网络节点在广播周期内的发送数据条数为4条,所有的网络节点完成一条数据发送的总时长为5ms,如图7所示,为5个网络节点对应的广播时间点的示意图,则节点1在广播周期中的第0ms发送数据,第5ms发送数据,第10ms发送数据,第15ms发送数据,……,节点5在广播周期的第4ms发送数据,第9ms发送数据,第14ms发送数据,第19ms发送数据。需要说明的是,若在一个广播周期内,一个网络节点有两个或以上的广播时间点,则选择最近的一个广播时间点发送数据。如上述例子,若网络节点2在第8ms收到数据,则在该广播周期的第11ms发送数据。

现有技术中,为了避免多个网络节点同时收到数据时,立即将数据发送出去会造成的广播干扰问题,各网络节点在收到数据后,会延时一个随机时长再进行数据的发送,但是这个随机时长不可控,若随机时长偏长,则影响数据数据传输的速率,若随机时长偏短,则会增加造成广播干扰的几率。本实施例相对于现有技术,网络节点在收到需要发送的数据后,只有在到达对应的广播时间点时才会进行数据的发送,通过这样的方法,在保证数据传输速率的同时,网络节点之间一定不会产生相互影响的广播干扰。

本申请第六实施例涉及一种芯片,与至少一存储器连接,存储器存储有可被芯片执行的指令,指令被芯片执行,以使芯片能够执行上述的时间同步方法,或上述的广播设定方法。

本申请第七实施例涉及一种电子设备,包括上述的芯片。

本申请第八实施例涉及一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的时间同步方法,或上述的广播设定方法。

本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

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