低功耗WIFI系统中定时同步功能定时器的更新系统及方法与流程

文档序号:15626385发布日期:2018-10-09 23:04阅读:1101来源:国知局

本发明涉及无线网络通信领域,具体涉及一种低功耗802.11wifi(wirelessfidelity,无线保真)系统中tsftimer(定时同步功能定时器)的更新系统及方法。



背景技术:

802.11协议为无线局域网的标准,该标准定义了ap(accesspoint,无线接入点)和sta(station,站点,每一个连接到无线网络中的终端都可成为一个站点)之间的数据交互模式,在低功耗的wifi系统中,当ap和sta之间没有数据传输时,sta可以进入低功耗模式,如图1所示的睡眠阶段。ap需要周期性的发送beacon帧,这个周期在协议中被定义为tbtt(targetbeacontransmissiontime,信标预定传送时间),图1中的a、b、c和d均为信标(beacon)包,sta需要在每一个tbtt的周期醒来一次接收ap发送的beacon帧,为了保证ap和sta的时间同步,协议中用定时同步功能(tsf-timingsynchronizationfunction)机制来描述。

在协议中tsftimer位宽为64,单位是μs,如图1所示,当sta处于收发状态时,tsftimer可以用高速时钟(大于10mhz)进行计数,即每1μstsftimer加1,当sta处于睡眠状态时,为了降低整个系统的功耗,高速时钟被关闭,整个系统运行在低速时钟(小于100khz)上,由于低速时钟的周期大于10μs,在低速时钟状态下,tsftimer不可能按照1μs的时间间隔进行更新,同时其每次更新值的单位也将从μs变成ns,在数字实现时,这种切换需要进行除法运算,存在一定的实现复杂度。



技术实现要素:

本发明的目的是提供一种低功耗wifi系统中tsftimer的更新系统及方法,用于实现解决当低功耗wifi系统从高速时钟切换到低速时钟时,低功耗wifi系统如何进行易于数字实现的tsftimer更新的问题的目的。

为了实现以上目的,本发明通过以下技术方案实现:

一种低功耗wifi系统中tsftimer的更新系统,包含:位数扩展单元、累加运算单元、时钟切换单元和移位单元;

所述位数扩展单元用于对原始的定时同步功能定时器进行位数扩展,得到新的定时同步功能定时器;

所述时钟切换单元用于根据站点在一个信标预定传送时间周期内的状态控制wifi系统中的高速时钟和低速时钟之间进行切换;

所述累加运算单元用于对新的定时同步功能定时器进行不同数值的累加运算,直至当前信标预定传送时间周期结束;

当前信标预定传送时间周期结束下一个信标预定传送时间周期开始前,所述移位单元用于对新的定时同步功能定时器的位宽进行截取,得到位数还原的定时同步功能定时器。

优选地,当站点在每个信标预定传送时间的周期结束或下一个信标预定传送时间的周期开始时,所述位数扩展单元通过如下算式得到新的定时同步功能定时器,new_tsf_timer={tsf_timer,{z{1’b0}}},z表示在定时同步功能定时器的低位扩展位数的个数,新的定时同步功能定时器单位从μs变成ns。

优选地,站点处于收发阶段时,所述时钟切换单元将wifi系统从低速时钟切换至高速时钟,高速时钟可以产生1μs的脉冲,每隔1μs,所述累加运算单元通过如下算式对新的定时同步功能定时器进行不同数值的累加运算:new_tsf_timer=new_tsf_timer+pow(2,z),其中pow(2,z)表示2的z次幂运算。

优选地,站点处于睡眠阶段时,所述时钟切换单元将wifi系统从高速时钟切换至低速时钟,此时低速时钟开始计数,在每一个低速时钟的上升沿,所述累加运算单元通过如下算式对新的定时同步功能定时器继续进行不同数值的累加运算:new_tsf_timer=new_tsf_timer+deltat,其中deltat=t×pow(2,z)/1000,t为低速时钟的周期。

优选地,当站点处于睡眠阶段结束,下一个信标预定传送时间的周期开始前时,所述移位单元对新的定时同步功能定时器进行右移z位运算,将新的定时同步功能定时器的位数还原,同时将其单位从ns还原成μs。

本发明另一个技术方案为一种利用如上文所述的低功耗wifi系统中定时同步功能定时器的更新系统的定时同步功能定时器的更新方法,其特征在于,包含以下过程:

步骤s1:对定时同步功能定时器的位宽进行位数扩展得到新的定时同步功能定时器,则new_tsf_timer={tsf_timer,{z{1’b0}}},z表示在定时同步功能定时器的低位扩展位数的个数,新的定时同步功能定时器单位从μs变成ns;

步骤s2:在高速时钟的情况下,高速时钟可以产生1μs的脉冲,每隔1μs,new_tsf_timer=new_tsf_timer+pow(2,z),其中pow(2,z)表示2的z次幂运算;

步骤s3:当系统切换到低速时候后,高速时钟被关闭,此时低速时钟开始计数,在每一个低速时钟的上升沿,new_tsf_timer=new_tsf_timer+deltat,其中deltat=t×pow(2,z)/1000,t为低速时钟的周期;

步骤s4:对新的定时同步功能定时器进行右移z位运算,将新的定时同步功能定时器的位数还原,同时将其单位从ns还原成μs。

优选地,当z=10且t的位宽为16时,所述deltat通过以下算式进行计算:deltat=t+t×0.024=t+t[15:6]+t[15:7]+t[15:11]+t[15:14]。

优选地,所述步骤s4还包含:对新的定时同步功能定时器进行移位运算后,tsf_timer=new_tsf_timer>>z。

本发明与现有技术相比具有以下优点:

本发明通过先对tsftimer进行位数扩展,将其单位从μs变成ns,最后进行移位,将tsftimer的位数还原,同时将其单位从ns还原成μs。对于本申请中出现的固定小数乘法,将其转换成加法运算。因此本发明仅需要进行加法和移位运算,降低了实现的复杂度,且本发明能够满足协议规定的精度,降低芯片的开发成本和生产成本。

附图说明

图1为现有技术中ap和sta之间的数据交互模式示意图;

图2为本发明一种低功耗wifi系统中tsftimer的更新方法的流程图;

图3为本发明tsftimer更新系统的结构示意图。

具体实施方式

以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。

如图3所示,本发明一种低功耗wifi系统中tsftimer的更新系统,包含:位数扩展单元、累加运算单元、时钟切换单元和移位单元。所述位数扩展单元用于对原始的tsftimer进行位数扩展,得到新的tsftimer;所述时钟切换单元用于根据sta在一个tbtt周期内的状态控制wifi系统中的高速时钟和低速时钟之间进行切换;所述累加运算单元用于对新的tsftimer进行不同数值的累加运算,直至当前tbtt周期结束;当前tbtt周期结束下一个tbtt周期开始前,所述移位单元用于对新的tsftimer的位宽进行截取,得到位数还原的tsftimer。

当sta在每个tbtt的周期结束或下一个tbtt的周期开始时,所述位数扩展单元通过如下算式得到新的tsftimer,

new_tsf_timer={tsf_timer,{z{1’b0}}},z表示在tsftimer的低位扩展位数的个数,新的tsftimer单位从μs变成ns。

sta处于收发阶段时,所述时钟切换单元将wifi系统从低速时钟切换至高速时钟,高速时钟可以产生1μs的脉冲,每隔1μs,所述累加运算单元通过如下算式对新的tsftimer进行不同数值的累加运算:new_tsf_timer=new_tsf_timer+pow(2,z),其中pow(2,z)表示2的z次幂运算。

sta处于睡眠阶段时,所述时钟切换单元将wifi系统从高速时钟切换至低速时钟,此时低速时钟开始计数,在每一个低速时钟的上升沿,所述累加运算单元通过如下算式对新的tsftimer继续进行不同数值的累加运算:new_tsf_timer=new_tsf_timer+deltat,其中deltat=t×pow(2,z)/1000,t为低速时钟的周期。

当sta处于睡眠阶段结束,下一个tbtt的周期开始前时,所述移位单元对新的tsftimer进行右移z位运算,将新的tsftimer的位数还原,同时将其单位从ns还原成μs。

一种利用如上文所述的低功耗wifi系统中tsftimer的更新系统的tsftimer的更新方法,包含以下过程:

步骤s1:对tsftimer的位宽进行位数扩展得到新的tsftimer,则new_tsf_timer={tsf_timer,{z{1’b0}}},z表示在tsftimer的低位扩展位数的个数,新的tsftimer单位从μs变成ns。

步骤s2:在高速时钟的情况下,高速时钟可以产生1μs的脉冲,每隔1μs,new_tsf_timer=new_tsf_timer+pow(2,z),其中pow(2,z)表示2的z次幂运算。

步骤s3:当系统切换到低速时候后,高速时钟被关闭,此时低速时钟开始计数,在每一个低速时钟的上升沿,new_tsf_timer=new_tsf_timer+deltat;

其中deltat=t×pow(2,z)/1000,t为低速时钟的周期。

步骤s4:对新的tsftimer进行右移z位运算,将新的tsftimer的位数还原,同时将其单位从ns还原成μs。

在本实施例中,当z=10且t的位宽为16时,所述deltat通过以下算式进行计算:deltat=t+t×0.024=t+t[15:6]+t[15:7]+t[15:11]+t[15:14]。

所述步骤s4还包含:对新的tsftimer进行移位运算后,tsf_timer=new_tsf_timer>>z。

如图2所示,当z=10时,本发明一种低功耗wifi系统中tsftimer的更新方法,包含以下过程:

步骤s1:将位宽为64位的tsftimer低位补10个0,将其位宽扩展为74位,得到新的tsftimer,即new_tsf_timer={tsf_timer,10’d0},此时新的tsftimer的单位也由μs变成了ns。

步骤s2:在高速时钟的情况下,高速时钟可以产生1μs的脉冲,每隔1μs,new_tsf_timer=new_tsf_timer+1024;

步骤s3:当系统切换到低速时钟后,高速时钟被关闭,此时低速时钟开始计数,在每一个低速时钟的上升沿,new_tsf_timer=new_tsf_timer+t+t×0.024,其中t为低速时钟的周期。

t×0.024的实现方法通过以下算式进行计算:

t×0.024=t[15:6]+t[15:7]+t[15:11]+t[15:14],其中t的位宽为16。

步骤s4:将位宽为74位的new_tsf_timer右移10位,得到64位的tsf_timer,即tsf_timer=new_tsf_timer>>10,此时的tsf_timer的单位从ns重新变成μs。

综上所述,本发明通过先对tsftimer进行位数扩展,将其单位从μs变成ns,最后进行移位,将tsftimer的位数还原,同时将其单位从ns还原成μs。对于现有技术中出现的固定小数乘法,将其转换成加法运算。因此本发明仅需要进行加法和移位运算,降低了实现的复杂度,且本发明能够满足协议规定的精度,降低芯片的开发成本和生产成本。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

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