一种802.11n发送聚合帧的调速方法

文档序号:7765386阅读:1735来源:国知局
专利名称:一种802.11n发送聚合帧的调速方法
技术领域
本发明涉及无线局域网领域,作为一种灵活实用的聚合帧调速方法,特别适用于用硬件实现帧聚合功能的高吞吐率的无线局域网网卡和接入点芯片的实现中。
背景技术
为了提高无线网络的信道利用率,802. 11国际标准采用了帧聚合技术。帧聚合技术就是把多个MAC协议帧(以下简称MPDU)按照序列号递增的顺序聚合成一个聚合帧(以下简称AMPDU),MPDU称为AMPDU的子帧。发送AMPDU后若没有收到应答帧BA,则AMPDU中所有子帧发送失败,MAC需要重传发送失败的子帧;若收到BA,则MAC可以清除BA成功应答的子帧,继续重传没有应答的子帧。USB主机接口的无线网卡和接入点芯片的设计中,MPDU聚合成AMPDU的功能用硬件实现。为了实现帧聚合,片上有一个很大的帧缓存器,用来存储驱动通过USB接口下发到片上的MPDU,还有帧缓存控制器,用来控制帧缓存器的读写,并把MPDU聚合成AMPDU。驱动为每个子帧确定发送速率,并和MPDU —起下发到片上的帧缓存器中。在比较恶劣的空中信道工作的无线设备采用比较高的速率发送AMPDU,成功的概率比较小。为了提高成功的概率,设备将根据帧发送失败的次数降低发送速率。设备发送了 AMPDU,若没有收到应答帧BA,则帧缓存控制器把发送失败的MPDU和刚刚下发到帧缓存器的MPDU —起打包成新的AMPDU进行重传,重传的速率根据传输失败次数和MPDU的初始发送速率确定。由于AMPDU中的MPDU的传输失败次数不同,所以需要提出一种方法确定 AMPDU的传输失败次数,并确定重传降速的方法。降速发送成功或失败的结果都需要告知驱动,驱动根据发送结果和发送速率进行调速。本发明提出了一种灵活实用的AMPDU的调速方法,包括确定AMPDU的传输失败次数的方法、重传降速的方法和驱动调速的方法。

发明内容
本发明提出了一种灵活实用的AMPDU的调速方法,包括确定AMPDU的传输失败次数的方法、重传降速的方法和驱动调速的方法。USB主机接口的WLAN芯片的设计中,帧聚合的功能用硬件实现。帧缓存控制器实现帧聚合功能,为了实现重传降速,帧缓存控制器需要为每个MPDU维护一个发送失败次数。实现步骤如下1)每个从USB接口下发的MPDU发送失败次数初始化为0 ;2)发送AMPDU后若没有收到BA,则AMPDU中每个子帧的发送失败次数递增1。3)发送AMPDU后若收到BA,则清除帧缓存控制器中的BA成功应答的子帧,BA没有成功应答的子帧的重传失败次数递增1。聚合帧中的子帧可能包含从USB接口刚下发的MPDU和之前发送聚合帧没有成功应答的MPDU。从USB接口刚下发的MPDU的传输失败次数为0,之前没有成功应答的MPDU的传输失败次数> 1。驱动为聚合帧中的每个子帧下发的速率也可能不同。本发明规定AMPDU的传输失败次数等于第一个子帧的传输失败次数,AMPDU的驱动下发的速率等于第一个子帧的驱动下发速率。 MAC根据AMPDU的发送失败次数进行降速,降速的快慢可由驱动控制。为了实现灵活可配的自动降速功能,MAC需要定义重传控制寄存器retry_Ctrl和AMPDU支持的发送速率集寄存器rate_bitmap。实现步骤如下1)驱动把两个自然数fail_times和fall_level配置到Retry_ctrl中,表示MAC 每发送失败fail_timeS次后发送速率降速falljevel档;把芯片支持的AMPDU的发送速率集配置至|J rate_bitmap。2)若聚合帧的发送失败次数小于fail_timeS,则发送速率等于驱动下发的速率; 若大于等于fail_times,但小于2*fail_timeS,则发送速率比驱动配置的速率降fall_ level档;以此递推;3)发送速率降速到最低速率后不再降速,发送速率等于最低速率;AMPDU降速发送的结果和发送速率告知驱动,驱动通过统计一段时间内的每个发送速率的成功概率进行调速。实现步骤如下1)统计一段时间内的每个发送速率的成功概率,概率最高的速率是最优速率;2)如果下发速率的成功概率大于某个阈值high_limit,则发送速率调高,直到调至最高档位;3)如果下发速率的成功概率小于某个阈值low_limit,则发送速率降低为最优速率;4)如果下发速率的成功概率在low_limit和high_limit之间,则下发速率不变。本发明的硬件自动降速和软件调速的方法简单实用,在信道质量发生变化时能快速搜索到最佳发送速率。


附图中的虚线划分驱动和硬件,上面是驱动完成的功能,下面是硬件完成的功能。 Generate_MPDU是MAC协议帧的组帧模块,Select_rate为MPDU选择下发速率,并根据硬件返回的AMPDU的发送速率和发送结果进行调速。驱动产生的MPDU及其速率通过USB_ interface下发到硬件。Frame_buffer_contro 11 er维护Frame_buffer中帧的存储信息和控制信息,为 USBjnterface下发的MPDU分配存储空间、完成MPDU的聚合、控制重传降速等。从USB_ interface下发的MPDU及其控制信息保存到Frame_buffer中,聚合成AMPDU后输出第一个子帧的速率给fall_rate模块,fall_rate模块根据第一个子帧的速率和传输失败次数计算AMPDU的速率。AMPDU发送后可能收到BA,也可能没有收到BA。MAC把BA收到与否及BA中的信息返回failcounter,fail_counter根据返回的BA信息计算每帧MPDU的发送失败次数, 用作下一帧AMPDU的速率选择的依据。Frame_buffer_controller把AMPDU的发送速率和 BA接收的相关信息通过USB_interface返回select_rate模块,select_rate根据返回的信息更新下发速率。
具体实施例方式驱动建立块传输机制时,确定AMPDU的调速方法,并通过USB接口把参数fail_ times、fall_level和rate_bitmap下发到硬件中的fall_rate功能模块。驱动下发MPDU 时,为每个MPDU分配一个发送速率。刚建立块传输机制,开始发送AMPDU时,驱动无法预知采用哪个发送速率成功的概率最大,一般klectjate会为可聚合的MPDU分配最高发送速率。MPDU和发送速率通过USB接口下发到硬件中的帧缓存器中,帧缓存控制器聚合 MPDU生成AMPDU,AMPDU的驱动下发速率等于第一个子帧的驱动下发速率,所以刚建立块传输机制时AMPDU采用驱动下发速率发送。根据返回的AMPDU发送的结果,发送后没有成功应答的MPDU的发送失败次数递加 1。帧缓存控制器把没有成功应答的MPDU和刚从USB接口下发时MPDU再次聚合成AMPDU, AMPDU的速率根据发送失败次数降速发送。降速的方法是每发送失败fail_timeS次,发送速率在驱动下发速率的基础上降速falljevel档,直到降至最低速率。再次返回AMPDU发送的结果,fail_counter再次更新没有成功应答的MPDU的发送失败次数,帧缓存器再次聚合,AMPDU再次降速发送。按照上述方法反复发送,如果信道质量不好,AMPDU的速率会快速降低,直到降至比较合适的发送速率。每次发送AMPDU后,硬件都把BA的应答结果返回给驱动,驱动通过统计一段时间内各个速率的成功概率。如果下发速率的成功概率较低,则kleCt_rate降低下发速率,选择成功概率最高的速率作为后续帧的下发速率;如果成功概率很高,则提高下发速率;如果成功概率在合适的范围内,则下发速率不变。通过上述的暂定最高速率、降速重传、调整速率三个步骤的一个循环,就能找到比较合适的发送速率,几个循环后发送速率将收敛于最佳速率。通过上述的方法,在开始发送聚合帧和信道质量改变时,能快速找到最佳速率。
权利要求
1.一种802. Iln发送聚合帧的调速方法,其特征在于发送聚合帧的速率由MAC自动降速和驱动调速相结合的方式确定,步骤如下(1)MAC协议帧和发送速率通过USB接口下发到硬件中的帧缓存器中,帧缓存控制器聚合MAC协议帧生成聚合帧并发送;(2)根据返回的聚合帧发送的结果,发送后没有成功应答的MAC协议帧的发送失败次数递加1,帧缓存控制器把没有成功应答的MAC协议帧和刚从USB接口下发的MAC协议帧再次聚合成聚合帧,聚合帧的速率根据发送失败次数降速发送;(3)硬件再次返回聚合帧发送的结果,更新没有成功应答的MAC协议帧的发送失败次数,帧缓存控制器再次聚合没有成功应答的MAC协议帧和刚从USB接口下发的MAC协议帧, 聚合帧再次降速发送,按照(幻-03)步骤反复发送,直到降至合适的发送速率;(4)每次发送聚合帧后,硬件都把应答帧的应答结果返回给驱动,驱动统计一段时间内各个速率的成功概率,如果下发速率的成功概率较低,则降低聚合帧的下发速率,选择成功概率最高的速率作为后续聚合帧的下发速率;如果成功概率很高,则提高下发速率;如果成功概率在合适的范围内,则下发速率不变。
2.如权利要求1所述的一种802.Iln发送聚合帧的调速方法,其特征在于帧缓存控制器维护聚合帧中每一子帧的发送失败次数,从USB接口下发时每帧MAC协议帧发送失败次数初始化为0 ;每发送一次,未收到成功应答,子帧的发送失败次数递加1 ;开始发送时驱动为每个MAC协议帧分配最高发送速率,MAC协议帧每发送失败规定的次数,发送速率在驱动下发速率的基础上降低规定的速率,直到降至最低速率。
3.如权利要求1所述的一种802.Iln发送聚合帧的调速方法,其特征在于聚合帧的发送失败次数等于聚合帧第一子帧的发送失败次数,聚合帧的驱动下发速率等于聚合帧第一子帧的驱动下发速率。
4.如权利要求1所述的一种802.Iln发送聚合帧的调速方法,其特征在于MAC发送聚合帧的发送速率和发送结果告知驱动,驱动利用返回的速率调速,实现步骤如下(1)统计一段时间内每个发送速率的成功概率,成功概率最高的速率是最优速率;(2)如果下发速率的成功概率大于最高阈值,则发送速率调高,直到调至最高档位;(3)如果下发速率的成功概率小于最低阈值,则发送速率降低为最优速率;(4)如果下发速率的成功概率在最低阈值和最高阈值之间,则下发速率不变;(5)驱动把更新后的下发速率定为后续帧的下发速率。
全文摘要
本发明提出了一种802.11n发送聚合帧的调速方法,内容包括确定AMPDU的传输失败次数的方法、重传降速的方法和驱动调速的方法。通过暂定最高发送速率、降速重传、调整速率三个步骤的一个循环,就能找到比较合适的发送速率,几个循环后发送速率将收敛于最佳速率。本发明通过硬件自动降速和软件调速的方法相结合,实现方式简单,资源开销很小,在开始发送聚合帧和信道质量改变时,能快速找到最佳速率。
文档编号H04W28/06GK102468883SQ20101054682
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者周朝显, 张树华, 李霞 申请人:北京中电华大电子设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1