Icbank半导体行业观察

文章数:25239 被阅读:103424336

账号入驻

涨知识了!Wi-Fi背后的原理揭秘!

最新更新时间:2022-05-09 19:21
    阅读数:

来源:内容由半导体行业观察(ID:icbank)转载自公众号鲜枣课堂,作者:唐欣,谢谢。


Wi-Fi和4G/5G蜂窝网络,是我们上网时最常用的两种接入方式。

这两种接入方式,平时在上网时似乎没感觉到有什么区别。然而,它们却是完全不同的设计哲学

蜂窝网络以基站为小区中心,基站承担了小区的中央控制、用户授权和调度。

以5G为例,基站在每个帧中广播同步信号块SSB。SSB包含了小区的PCI(物理小区标识)、基站的同步时间信息、空口信息、接入控制等参数。

手机在确认同步信号后,通过随机接入信道PRACH,发送接入前导序列Preamble,以此获取基站授权接入。不同的用户,采用不同的ZC正交序列来区分。

在接入后,无线信道分配好上下行时隙(这里特指TDD网络),基站和所有终端都在固定的时间内进行数据发送或接收。这种设计理念以基站作为小区中心,采用中心规划的设计哲学。

而Wi-Fi网络则不同。

Wi-Fi在设计时,将AP接入点(这里AP的功能等同于5G中的基站)和用户终端放在同等的位置考虑。基于802.11协议的AP和终端,采用了载波侦听多路访问/碰撞避免(CSMA/CA)的方式,来平等竞争占用无线信道。

AP和终端、终端与终端之间,在接入网络时先进行无线信道侦听。在确保信道没被占用的情况下,接入网络。设备之间并不分层级,而是采用自协调竞争接入的模式,访问网络。

从某种意义上,Wi-Fi网络是一种去中心化的设计哲学

这两种设计哲学,各有千秋。

蜂窝网络考虑的侧重点,是多设备接入时的容量和效率。而Wi-Fi,由于其使用非授权频谱以及成本上考量,设计时更加侧重于抗干扰、低成本等特性。

两种方案都能让信道得到充分的利用。参考Aruba Networks发布的测试结果可以看出,LTE和Wi-Fi 6在MAC层面的频谱使用效率非常接近,单流、256QAM的情况下,都能到5bps/Hz以上的频谱使用效率。

图 1 LTE与Wi-Fi在频谱使用效率上的对比(勘误:图中Mbps应为bps)

接入过程与漫游


那么,没有中心控制的Wi-Fi,具体是怎么协作接入的呢?

首先第一步,是寻找Wi-Fi网络。

由于Wi-Fi网络中AP没有广播功能,终端是不可能预先知道是否有可用的网络资源以及AP参数的。

这里,终端采用了一种主动探针的方式来进行请求。

终端会在Wi-Fi的第一个20MHz频道上,发送一系列探针序列,然后等待AP回应。

如果20ms后AP没有回应的话,终端将切换到下一个20MHz频道,重复上述动作,直到收到AP的回应,确认AP的工作频段和接入参数才能接入网络。

图 2 手机进行主动扫探针搜寻信道过程

写到这里,你可能会想到,如果室内有多个Wi-Fi AP,当用户在移动,终端从一个AP切换到另一个AP时,还要重复上述的AP搜寻过程吗?

每个频道20ms,搜索一圈信道下来,需要较长时间,连接岂不是会中断?那还怎么确保视频会议或者微信语音的通信质量呢?

现在的办公室甚至现在很多家庭无线局域网,都会采用多AP mesh组网的方式,来提高网络覆盖性能。

如果每次终端切换AP时,都重新做上述的主动探针搜寻信道过程,将是会非常低效的。好在802.11工作组考虑到了小区切换的问题,在802.11k中开发了“邻居报告”的协议。

设备在接入AP后,该AP会将其附近AP的BSSID和频道信息发送给用户。这样一来,用户在需要切换到另一个AP时,就不用再扫描一遍频道了。

这样做的好处,一来是极大节省了切换时间,保证通信不出现中断。二来是给用户设备省电,设备不再需要发送一个个探针。第三,就是无线信道也得到了更加有效的利用,AP不需要频繁占用无线信道来不断回应终端的请求。
图 3 AP通过802.11k协议回应终端设备其邻近AP的信息

自我协调,信道竞争接入,避免冲突


接入网络后,AP和终端们便开始竞争无线信道的使用。

在Wi-Fi系统中,终端和AP的空口时间统一被分为空闲(Idle)和机会发送(TXOP)时段。没有数据时,设备属于空闲期,不会发送任何信息。

当设备收到数据发送请求时,设备开始进入争夺无线信道的“仲裁”(Arbitration)过程。没有中央调度器,所有设备按照数据优先级采用“公平竞争”模式来赢得信道仲裁。赢得信道的设备,将会得到6ms的机会发送窗,然后进入下一个仲裁期。

图 4 802.11中的空口时间分配

进入仲裁过程的Wi-Fi设备,首先开启信道侦听模式,RF接收机对无线信道中的802.11信号进行监测(Signal Detection)。如果侦听到的信号强度低于其SD阈值(以下图思科的方案为例,阈值为-82dBm)时,设备判定目前信道没有其他Wi-Fi设备在使用。

由于Wi-Fi使用的频段属于免授权频段,需要与非802.11设备共享使用,比如蓝牙,遥控器,微波炉等等。那么,在判断信道占用情况时,不仅仅需要能对自身802.11协议的信号进行监测,还需要对不明通信协议的功率进行检测。

这里就引出了第二个检测机制——能量检测(Energy Detection)

ED的作用,是判断无线信道没有被其他非Wi-Fi设备占用,防止发送的有用Wi-Fi信号被淹没在噪声中,通常ED的门限比SD高20dB。

图 5 思科无线设备的SD,ED设定

细心的用户可能会发现,在网络环境不好的情况下,视频通话时经常有能听到声音但图像被卡住的现象。这其实是Wi-Fi的一种发送优化措施,用于保障最基本的服务。

Wi-Fi将数据分为四种不同的优先级,从上到下分别为语音(VO),视频(VI),最大努力(BE)和背景(BK)。每一个级别,都会附上不同的AIFS值。AIFS值越低,发送优先级越高。

在AIFS时间结束之后,设备便进入了竞争窗口(CW),设备开始侦听无线信道,同时开始倒计时准备发送。

当CW倒计时结束时,如果设备发现信道正在占用,设备便自动进入下一个仲裁期。如果设备发现信道处于空闲状态,便开始占用信道,发送数据。

下图这个例子,在第一个仲裁期中,IPad的CW时间最短,竞争信道成功,获得了发送权。在IPad数据发送后,一轮新的仲裁开始,手机在CW结束后,发现信道没有被占用,获得了发送权。最终,无线AP赢得了第三轮仲裁,获得发送权。

图 6 多设备信道竞争过程

读到这里,你可能会发现,这个竞争过程在设备增多的情况下,效率会明显降低,每个设备的等待发送时间将会变长很多。

实际体验中,你可能也注意到了,在Wi-Fi设备多的公共环境,比如商场、学校中,经常需要等待很长时间,才能发送或接收数据。

那么,很有可能是网络还没有升级到最新的Wi-Fi 6。

Wi-Fi 6可以说是Wi-Fi行业过去十多年中最大的一次革新。具体Wi-Fi 6是通过哪些新特性来解决多设备下网络阻塞的问题呢?我会在下一期的文章中给大家一一道来。

(全文完)

本文作者唐欣博士,目前担任Spectrum Lab技术总监。

参考文献
[1] Aruba Networks Blog – Understanding 802.11 medium contention.
[2] Cisco White Paper- IEEE 802.11ax: The Sixth Generation of Wi-Fi.
[3] Extreme Networks – The Road to AP discovery


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第3035内容,欢迎关注。

推荐阅读

半导体行业观察

半导体第一垂直媒体

实时 专业 原创 深度


识别二维码,回复下方关键词,阅读更多

晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装

回复 投稿,看《如何成为“半导体行业观察”的一员 》

回复 搜索,还能轻松找到其他你感兴趣的文章!

推荐帖子

DSP2812的软件锁相方法
1.锁相锁相的意义是相位同步的自动控制,能够完成两个电信号相位同步的自动控制闭环系统叫做锁相环,简称PLL.3种软件锁相的方法:指针归零法,先调频后调相法,调频调相同时进行法。2.指针归零法:指针归零法是最简单的软件锁相方法,在捕获输入电压信号过零点的Cap1中断内,直接将发正弦点的指针归零,以保证在输入电压信号过零时DSP发出的输出基准也正好过零,从而实现相位同步。指针归零法适用于输入频率稳定的情况。3.先调频后调相法:正弦基准表由n
灞波儿奔 微控制器 MCU
求助无线发送接收
我毕业设计做一个无线接收检测温度和压力信号,可不知道无线模块怎么做,有大侠帮忙吗?求助无线发送接收去市场买个433M的无线模块,有串口形式的,直接像操作串口一样的操作。也可以自己买芯片,一般用的都是SPI接口,看看资料就行,其实不难,但是传输的数据量不大,而且距离也不远,最多几百米;如果距离很远,数据量很大那就只能用GPRS/CDMA了NRF2401NRF24L01NRF905CC1100CC2500无线收发模块编程指南RF903特点:(1)433Mhz开放ISM频
sucuiqin 嵌入式系统
嵌入式ARM开发环境下,设置堆栈指针和清理BSS段的意义
以前稍微写过操作系统上的C程序,感受不出来:BSS段,堆栈的意义。到了在单片机上写程序也没有考虑这些问题。但是到了ARM上环境似乎没有那么简单了,C的环境要自己来创建,不然就不能用。这也深刻的感受到了C语言中原来难以理解的概念。裸机建立C语言环境-设置堆栈指针这个是使用C语言的首要条件,不过这个就是指定一个sp指针就可以了,很简单的。ldrsp,=4096。裸机建立C语言环境-清理BSS段如果C语言中用到的全局变量或者静态变量,这个编译的时候是把它们放到了BSS段,这个段在内存
xyd2018 嵌入式系统
io端口lvbo
modulexc609_in_lvbo(clk_in,pin_n,pin_n_lvbo);//inputclk_in,pin_n;outputregpin_n_lvbo;reglvbo_cont;always@(posedgeclk_in)beginlvbo_cont={lvbo_cont,pin_n};case(lvbo_cont)4'b1111:pin_n_lvbo=1'b1;
gotofly21 FPGA/CPLD
altera soc hps-to-fpga 操作问题
#./led_testUnhandledfault:externalabortonnon-linefetch(0x018)at0x76101040Buserrorarm端执行程序出现以上错误,求指导。C程序在gsrdfpga工程中能正常使用,自己新建fpga工程测试错误。alterasochps-to-fpga操作问题总线错误,是不是地址访问错了?检查自已的设备树 谢谢,你好设备树需要做什么设置吗 这个地址是根据手册上映射的,就是很简单的
tc317891209 Altera SoC
集成电路基础知识
++集成电路++   自本世纪初,真空电子管发明后,至今电子器件至今已经历了五代的发展过程。集成电路(IC)的诞生,使电子技术出现了划时代的革命,它是现代电子技术和计算机发展的基础,也是微电子技术发展的标志。  集成电路规模的划分,目前在国际上尚无严格、确切的定义。在发展过程中,人们逐渐形成一种似乎比较一致的划分意见,按芯片上所含逻辑门电路或晶体管的个数作为划分标志。一般人们将单块芯片上包含100个元件或10个逻辑门以下的集成电路称为小规模集成电路;而将元件数在100个以上、1000
zdr 嵌入式系统

最新有关Icbank半导体行业观察的文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved