一种无线网络信标帧同步的方法

技术领域

[0001] 本发明涉及无线通信技术领域,具体的说是一种无线网络信标帧同步的方法。

背景技术

[0002] 在星形无线网络中,中心点为主机,其余为从机。例如zigbee协调器和终端节点的关系,WIFI路由器和WIFI设备(例如手机,笔记本)的关系,NB-IOT基站和设备的关系。

[0003] 在一些情况下,从机是电池供电设备,无线接收机一直打开接收是不允许的,就使用了信标技术,主机定时发送信标,从机定时醒来接收信标,根据信标决定后续接收机是否工作。例如zigbee的信标模式,WIFI的省电模式,NB-IOT的DRX模式。

[0004] 这里从机定时醒来启动接收机接收主机发送的信标,时机很重要,早了浪费电,迟了收不到信标。由于主机和从机CPU震荡频率的固有偏差和随温度变化震荡频率也会随之产生微小变化,控制从机启动无线接收机的算法需要同时适应这两种变化。现有技术方案一般是先让从机和主机周期同步,然后从机收到上一个信标后,根据信标周期得到下一个信标接收时间。

[0005] 现有技术方案的着眼点在周期同步上,而我们的实际需求是接收信标的时间尽量短以达到省电的目的。

发明内容

[0006] 针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种无线网络信标帧同步的方法。

[0007] 本发明为实现上述目的所采用的技术方案是:一种无线网络信标帧同步的方法,所述方法用于主机和若干个从机之间的信标报文传输,包括以下步骤:

步骤1,计算某次信标报文传输中,从机接收信标报文的时间提前量;

步骤2,根据所述时间提前量与时间提前量标准值的比较结果确定从机接收下一个信标报文较步骤1的信标报文的延时;

步骤3,根据步骤2所述的延时,计算再下一个信标报文的接收时间;

步骤4,返回步骤1进行迭代。

[0008] 所述步骤1中的时间提前量为:

T1=t1-t0-T0

其中,t1表示从机接收到主机发送的信标报文的时刻,t0表示从机启动接收信标报文的时刻,T0表示所述信标报文的理论传输时间。

[0009] 所述步骤1中的时间提前量为:

T1=t1-t0-T0-T5

其中,t1表示从机接收到主机发送的信标报文的时刻,t0表示从机启动接收信标报文的时刻,T0表示所述信标报文的理论传输时间,T5表示主机发送信标报文的延迟时间。

[0010] 当所述时间提前量大于所述时间提前量标准值时,所述从机接收下一个信标报文较步骤1的信标报文的延时T3=T3+T4;

否则,所述从机接收下一个信标报文较步骤1的信标报文的延时T3=T3-T4;

其中T4表示调整步长,为预设固定值,T4小于时间提前量标准值。

[0011] 所述步骤3中的再下一个信标报文的接收时间为:

t0=t0+T3

其中,t0表示从机启动接收信标报文的时刻,T3表示从机接收下一个信标报文较步骤1的信标报文的延时。

[0012] 本发明的优点和有益效果是:

1. 不需要主机和从机先校正时钟,实现简单,实用于资源很少的CPU使用。

[0013] 2. 调整接收时间的反馈量是只以从机时钟计时的接收提前时间,测量简单可靠,保障接收提前时间最短。直接保障达到省电的效果。

[0014] 3. 信标中可带发送延迟时间,适应主机信标发送延迟和发送多信标。

附图说明

[0015] 图1为星形无线网络结构图;

图2为本发明一个实施例的方法流程图;

图3为本发明的从机接收信标报文的时间提前量的计算示意图;

图4为本发明的含有主机发送延时的时间提前量的计算示意图;

图5为从机接收延迟情况下从机接收提前的示意图;

图6为从机接收延迟情况下从机正常接收的示意图。

具体实施方式

[0016] 下面结合附图及实施例对本发明做进一步的详细说明。

[0017] 本发明中,主机和从机的CPU振荡器频率误差在允许范围内。例如主机采用50ppm的晶体振荡器,从机采用1%误差的RC震荡期,主机和从机的振荡器误差可认为在1%左右,设计可按1%误差设计。主机以自己的时钟以周期T周期性发送信标报文。

[0018] 如图2所示,本发明的一个实施例包括以下步骤:

1)某次接收信标报文,从机在t0时刻启动接收机接收信标报文。如图3所示,在时刻t1从机收到一个主机的信标报文,该信标报文的传输理论时间是T0,则主机发送信标报文的时刻是t2=t1-T0。从机接收信标报文的时间提前量是T1=t2-t0=t1-t0-T0。对t0和t1时间差值的测量,以从机的CPU时钟为准。

[0019] T1=t1-t0-T0                               (1)

2)从机接收下一个信标报文的时刻根据T1的大小与一个时间提前量标准值T2相比较,若T1>T2,下一个信标报文较上一个信标报文的延时为:

T3=T3+T4                                (2)

T2的选取要足够短但保证每次都能收到信标为准(可实验方式确定T2)。由于各种因素会导致每次实际接收提前量会有跳动,这个跳动可实际测量,并且要大于后文提到的T4。为了防止跳动导致接收时间在发送时间后而接收失败,所以需要这个提前量T2,保证即使接收时间有跳动,但仍然在发送时间之前。同时T2不能太大,太大了就造成了接收较发送的较大提前量,就不省电了。

[0020] 若T1<=T2,下一个信标报文较上一个信标报文的延时为:

T3=T3-T4                               (3)

其中,T3为上一次启动接收信标到下一次启动接收信标的延时,T3由公式(2)或公式(3)一直迭代调整,初始值为T减去一个固定值。这里初始值要减去固定值而不直接用T的原因是防止从机第二次接收信标的实际时间较主机发送信标时间延后。减去的固定值大小等于主机和从机在周期T时间内时钟可能的最大偏差。减去固定值是因为丛机的时钟与主机有偏差。主机以主机时钟度量的T周期发送信标,如果丛机一开始以丛机时钟度量的T间隔接收,会导致下次可能实际接收时间较主机发送时间延后而收不到信标。减去的固定时间就是一个周期主机和丛机的实际时间差值。此处的固定时间不是T4,没有用符号表示。T4是每次迭代调整增加或减少的量。T4应小于时间提前量标准值,即一次调整量不要太大,使得T3调整更平滑。

[0021] 每次调整的时间T4为一固定值,循环迭代调整最终使得接收提前量T1达到正常工作的最小值,从而达到省电的目的。当T1达到最小值后,T3就是以从机CPU时钟度量的信标发送周期。

[0022] 3)从机根据调整后的T3得到下一次信标的接收时间t0=t0+T3,然后从第1)步继续执行,一直迭代。

[0023] 第一次接收信标的时刻t0可以很多方式决定,比如先发一个报文去询问主机下一个信标在什么时间发,只要大致时间就可以了,然后收到信标后,由上述算法迭代出精确的信标报文接收时刻。

[0024] 本发明实施例的一种改善方案是:如图4所示,由于主机CPU可能处理很多任务,来不及准时发送信标。这时可在信标报文中增加发送的延迟时间T5。从机在收到信标后,计算时间的提前量(公式1)就变成了:

T1=t1-t0-T0-T5                         (4)

这样就排除了主机由于其他原因导致的延迟发送信标对从机时间计算的干扰。同时,信标中带了发送延迟时间后,主机可在一个周期发送多个信标,每个信标的延迟不一样,从机只要收到任意一个信标,就能正常工作,提高了可靠性。

[0025] 如图5、6所示,若某些情况下导致从机接收延迟,多信标方式同样能收到信标。该情况下T1为负数,T1<T2成立。由公式(3),周期T3会变短,从机接收会提前,经过几个周期的迭代,能正常收到第一个信标。