WiFi低功è€

WiFi低功è€

STA的两���的功耗工作模�

总的�说,STA包�有两���的功耗工作模�:

Active Mode:在这ç§�状æ€�下,WiFiçš„æ— çº¿ä¿¡å�·æŽ¥æ”¶ç”µè·¯RX始终处于打开状æ€�ï¼Œå› æ­¤å�¯ä»¥åœ¨ä»»ä½•时间接收APå�‘过æ�¥çš„æ•°æ�®å¸§ã€‚

å› ä¸ºSTAçš„RXè¦�ä¿�æŒ�打开状æ€�,这ç§�模å¼�下自然功耗较大;

PS(Power Saving) Mode:这�状�下,STA的RX大多数时间�存关闭状�,�需�定时�步打开RX并监�AP�出的Beacon Frame,以此达到尽�能节约能耗的目的;

注æ„�:å�ªæœ‰STAæ‰�有低功耗模å¼�,对于APè€Œè¨€å› ä¸ºè¦�实时的对所连接的STA设备进行状æ€�管ç�†å’ŒåŒ…转å�‘ï¼Œå› æ­¤ä¸€å®šæ˜¯å¤„äºŽActive Mode下;

连接在å�Œä¸€ä¸ªAP上的STAæ—¢å�¯ä»¥å¤„于active mode下,也å�¯ä»¥å¤„于PS mode下,AP需è¦�对æ¯�一个STA是在Active mode还是PS mode有清晰的管ç�†ï¼Œè¿™æ ·æ‰�知é�“是å�¦éœ€è¦�为æŸ�个特定的STA缓存数æ�®ï¼ˆPS mode)还是直接å�‘é€�出去(Active Mode);

STA处于Active Mode:

当STA处于Active Mode的情况下,STA的RX会始终��打开状�,此时AP�以�时把需��给这个STA的数�包直接��给STA;

当STA处于Active Mode的情况下,STA�AP��的所有数�包的MAC Header Frame Control中的Power Management bit应��为0;

STA进入PS低功耗模�:

当STA需�进入低功耗�行模�的时候,STA通过设置MAC Header Frame Control中的Power Management bit为1,�通知AP自己将�进入低功耗待机模�;

当STA处于低功耗模��行时,其�出的所有包的Power Management bit�应该��设置为1;

当AP接收到STA�出的数�包的MAC Header Frame Control中的Power Management bit为1,表示这个STA将会进入低功耗�行模�,此�AP在收到�给这个STA的数�包时,就会把这个数�包暂时缓存起�;

STA低功耗模�的�行逻辑

AP会以固定的Beacon Interval周期(一般为100ms或者200ms)å�‘外å�‘出自己的Beacon Frame,在这个Beacon Frame中包å�«æœ‰TIM Field,这个Tim Field以bitmap(å�³è¿žæŽ¥åˆ°APçš„æ¯�个STA对应于其中的一个bit)的形å¼�包å�«æœ‰AP是å�¦ä¸ºè¿™ä¸ªSTA缓存数æ�®çš„æ ‡è®°ï¼›

当AP有为�个处于PS mode的STA缓存数�的情况下,bitmap中与该STA对应的bit会被设置为1;�则为0;

当�个STA进入低功耗模�以�,在AP收到其他(外部)设备�给这个STA的包�,就会暂时为这个STA缓存这个数�,然�通过Beacon Frame的TIM信�中的bitmap�通知STA有缓冲数�;

当STA处于低功耗模��行时,STA的RX�大多数时间处于关闭状�,以Listen Interval(�个STA�以�独设置自己的listen interval,以beacon interval为��)为周期唤醒,等待接收�自AP�出的Beacon Frame;

Listen Interval越大,STA越�电,但是STA接收到外部数�的延迟越大;

Listen Intervalè¶Šå°�,STA接收到外部数æ�®çš„延迟越å°�ï¼Œä½†æ˜¯å› ä¸ºè¦�频ç¹�醒æ�¥ç›‘å�¬Beacon Frameï¼Œå› æ­¤æ›´è€—ç”µï¼›

当STA处于低功耗模��行时,STA按照预先设定的Listen interval周期性唤醒接收到Beacon Frame,对其中的TIM信�进行解�,了解到AP中有自己的缓存数�;

如果AP中没有自己的缓存数æ�®ï¼ŒSTA关闭RXç»§ç»­ä¼‘çœ ï¼Œç­‰å¾…Listen Intervalå�Žé‡�新唤醒检查,å��å¤�执行以上è¿�行逻辑;

如果AP中有自己的缓存数�,STA会主动通过以下PS-Poll的机制�获�这个数�;

STA�AP�出一个PS-Poll Frame,请求AP�回自己的缓存数�包;

AP收到PS-Poll Frame以�,会把这个STA缓存的一个数�帧�给STA;

如果AP上有针对这个STA的多个数æ�®å¸§ï¼Œé‚£ä¹ˆä¼šæŠŠè¿”回的数æ�®å¸§çš„MAC Header中的more data bit设置为1ï¼Œè¿™æ ·STA就知é�“AP上还有它的缓冲帧;然å�ŽSTA回继续以上过程,é‡�å¤�å�‘APå�‘出PS-Poll Frame,直到把所有的数æ�®å¸§å…¨éƒ¨æŽ¥æ”¶å®Œæ¯•ï¼›

STA退出PS低功耗模�

当STA需�退出低功耗�行模�的时候,STA通过设置MAC Header Frame Control中的Power Management bit为0,�通知AP自己将�退出低功耗待机模�,进入Active mode;

当STA处于Active模��行时,其�出的所有包的Power Management bit�应该��设置为0;

当AP接收到STA�出的数�包的MAC Header Frame Control中的Power Management bit为0,表示这个STA退出低功耗�行模�进入Active mode,此�AP在收到�给这个STA的数�包时,就会把这个数�包直接转�给STA;

当�个STA退出PS mode时,AP会检查自己当�是�有为这个STA缓存数�包,如果有的�就立�把这些缓存的数�全部�给这个STA;

�考资料

Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, 2007ï¼›

相关文章