Wi-Fi 与蓝牙

本页目录

路由器标称几千兆,下载却可能被百兆上行限制;蓝牙连接标称 2 Mbit/s,传感器通知也未必每秒送出 250 kB。无线性能首先取决于空口时间怎样分配,再受协议开销、信号条件、主机与应用影响。本篇用 Wi-Fi 空口预算和 BLE 属性传输,解释吞吐、延迟与功耗的取舍。

要判断的事项本篇入口先区分什么
Wi-Fi 为什么没跑到标称值PHY 与 airtime物理层速率、共享时间、应用吞吐
OFDMA/MIMO/MLO 有何不同无线资源的三个维度频率、空间与多链路
BLE 连上后怎样传数据GAP、GATT 与 ATT链路连接、安全和服务操作
蓝牙设备能否低延迟、省电连接事件与占空比峰值电流、平均电流、业务频率
Wi-Fi 打满时蓝牙断音共存与隔离频谱冲突、近端压制、调度与软件

Wi-Fi 世代提供能力集合,不是单终端保证值

名称对应主要技术体系代表性变化
Wi-Fi 4802.11nMIMO、较宽信道等
Wi-Fi 5802.11ac5 GHz、更高阶调制及下行 MU-MIMO
Wi-Fi 6 / 6E802.11axOFDMA、上下行多用户能力、TWT;6E 表示扩展到 6 GHz
Wi-Fi 7802.11beMLO、320 MHz 等能力与 4096-QAM

实际功能由 AP、客户端、驱动、固件和可用频段共同决定。320 MHz 及 6 GHz 功能尤其依赖地区和设备支持,不能把一个世代名称当作所有模式已经开启。官方产品规格也分别列空间流、带宽和调制,不能把多频段 AP 的合计速率当作一部手机的可用速率。Intel:Wi-Fi 7 能力说明

2.4 GHz 常与蓝牙、802.15.4 和其他设备共享环境;5/6 GHz 可提供不同信道资源,但不是“没有干扰”的干净频谱。覆盖由发射功率、天线、接收灵敏度、障碍物和噪声共同决定。更高频率通常对传播与遮挡提出不同要求,不能只凭频段判断某个房间的效果;可用信道和功率必须以当地适用配置及设备规则为准,不在此给出通用跨地区信道表。

PHY 速率高,为什么应用仍可能慢

PHY 速率取决于信道宽度、空间流数、调制编码、保护间隔等。高阶 QAM 每个符号承载更多 bit,但要求更好的信噪条件;信号变差时速率适配会降低调制/编码档位,或因重传消耗额外时间。RSSI 高也可能因干扰大而信噪比不足。

Wi-Fi 还需要竞争信道、退避、前导、帧头、确认等。用一个简化例子:1500 B 有效数据在假设 600 Mbit/s PHY 下仅需 20 μs,若一次交换另有 100 μs 固定开销,应用有效率只有 100 Mbit/s。若十包聚合共摊这份假定固定成本,可到 400 Mbit/s;实际开销不完全固定,这个例子说明聚合减少重复开销的机制,并非测试结果。

单包假设固定开销 100 μs20 μs1500 B / 120 μs = 100 Mbit/s聚合100 μs10 包载荷共 200 μs15000 B / 300 μs = 400 Mbit/sPHY 很快,小包仍可能把时间花在等待与控制上两行分别按各自总时长缩放;固定开销为教学假设,实际聚合仍有包头、确认、重试与调度成本。

一个慢速或重传很多的客户端可能消耗大量 airtime,即使它传的字节不多。吞吐分析应同时看占用时间、重试、协商档位和有线上行;单独看“连接速率”或“信号满格”都不足。上网速度还会受 WAN、服务器和路由性能影响,不能把一次互联网测速直接归因于无线 PHY。

速率翻倍,吞吐为什么没翻倍?

默认一包在600 Mbit/s下只需20 μs数据时间,但总交换需要120 μs。把PHY翻倍,固定100 μs并不缩短;再把十包放进同一次交换,就能看到聚合为何有不同的收益。条带表示时间占比,不是频谱宽度。

正在呈现知识画面
速率翻倍,吞吐为什么没翻倍?

提高PHY只缩短传数据的时间;聚合可以摊薄每次交换固定成本。

OFDMA、MU-MIMO、MLO 各自解决什么

OFDM 用多个正交子载波承载一次传输;OFDMA 在调度中把子载波划为资源单元 RU,让不同用户共享同一次多用户传输的频率资源。它不是把 OFDM 从“单车道”变成多车道,因为 OFDM 本身已经有多个子载波;关键是把资源分配给多个用户。AP 还需要相应调度信息和控制开销,不能保证任何流量下都自动降低延迟。Cisco:OFDMA RU 分配

MIMO 利用空间路径传输或改善接收,天线数量不必等于可用独立数据流数。MU-MIMO 则在空间维度同时服务多个用户,效果依赖信道可分离性、估计与调度。OFDMA 与 MU-MIMO 可配合使用,分别利用频率和空间资源,并不是必须二选一。

MLO 把多条链路纳入一个多链路设备的协调中,可用于吞吐、调度和可靠性改善。是否可以多链路同时收发、使用哪些频段、共享多少射频资源,取决于具体模式;不能一概写成“2.4+5+6 GHz 三频同时叠加”或“任何干扰都无缝切换”。移动到另一个 AP 的漫游也不是同一个概念。

TWT 允许安排唤醒时间,减少无谓监听,但双方需要支持并匹配业务周期。省电模式、缓冲和唤醒延迟存在取舍;持续大流量或严格低延迟任务未必能获得同样节能收益。

BR/EDR 与 LE:同在蓝牙体系,不是同一条无线链路

特征Bluetooth BR/EDRBluetooth LE
典型物理组织2.4 GHz,79 个 1 MHz 信道2.4 GHz,40 个 2 MHz 信道,按角色承担广播/数据用途
常见 PHY 数据率BR 1 Mbit/s,EDR 2/3 Mbit/sLE 1M、可选 2M、可选 Coded 等
常见功能模型A2DP、HFP 等经典 ProfileGATT 数据、广播,以及相应 LE Audio 等体系
功耗与延迟由业务、实现和调度决定同样不能用一个固定瓦数或毫秒值概括

LE Coded 用更多编码冗余改善接收能力,在传统 S=2/S=8 模式中得到相应 500/125 kbit/s 级数据率,交换了速率与覆盖;它不让同一 PHY 同时获得最高速率和最远距离。实际距离还取决于天线、环境、功率与接收器。

Bluetooth Core 已继续演进到 6.x,具体能力应以对应版本的规范和产品声明为准。但版本并非所有可选功能的套餐:选择设备应逐项确认 PHY、数据长度扩展、广播、测距、音频和系统 API 支持,而非简单说“4.2 足够”或“5.0 更省电”。Bluetooth SIG:核心版本与产品开发

BLE:发现、连接、配对和业务访问分开看

Peripheral 可通过可连接广播让 Central 发现。主动扫描的 Scan Request/Scan Response 用于获取额外广播数据,但不是建立连接前必须经过的步骤;还有不可连接或不可扫描等广播类型。建立连接后按连接事件交换数据,广播时序与连接时序是两种组织方式。Bluetooth SIG:LE 入门

PeripheralCentral可连接广播:供对端发现发起连接:并非必须先 Scan Request发现服务/特征,按需要建立安全连接写 CCCD:订阅支持的通知Notification:按连接事件发送属性值BLE:发现、连接、安全与业务订阅是不同阶段图为常见 GATT 用法;Central/Peripheral 是链路角色,GATT Client/Server 不由角色名称强制决定。

GAP 描述发现、连接与角色等通用过程;GATT 用服务、特征和描述符组织属性访问,ATT 承担底层属性操作。温度服务可包含温度特征,特征有 UUID、值和权限;UUID 描述类型,不是每次访问时使用的所有寻址信息,实际 ATT 还使用 attribute handle。

Central/Peripheral 是链路角色,GATT Client/Server 是发起属性操作与提供属性的角色,两组不能画等号。常见传感器为 Peripheral 加 GATT Server,但协议并不强制所有应用采用这个组合。

配对建立相应安全关系,bonding 表示保存后续可复用的密钥等信息,连接本身不自动等于已配对或加密。具体特征还可以要求认证、加密或应用授权。Just Works 不提供与有认证交互方式同等的中间人防护;敏感业务应按威胁和设备交互能力选择适合的安全机制,不能因“蓝牙配对成功”就认定所有操作已获授权。

Notification、Indication 和应用确认不同

Notification 不要求对应的 ATT confirmation,但通常仍有连接链路层的确认/重传机制;“无 ATT 确认”不是“完全不可靠的裸广播”。Indication 需要客户端 confirmation,不过这个确认仍不等于应用已执行、保存或展示数据。若要保证业务处理,应设计序号、状态或应用确认。

常见订阅通过写 CCCD 开启设备支持的通知或指示。连接完成后只发现服务而未订阅,可能一直收不到主动更新,不能直接判断无线连接故障。属性操作也受到权限和设备应用状态限制。

BLE 吞吐:MTU、链路数据长度和事件预算分别计算

传统 ATT notification 的值长度上限为 ATT_MTU−3,三个字节用于 opcode 和 handle。MTU=23 时每条最多 20 B,MTU=247 时最多 244 B;ATT MTU、链路层数据长度和 PHY 速率是不同参数,较大的 ATT PDU 可能需要链路层分片。Bluetooth Core:ATT 格式

假设双方已协商 MTU=247,应用每个 30 ms 连接事件成功传四条满长通知,则有效数据为 4×244/0.03≈32533 B/s,即 260.27 kbit/s。能否在事件内排入四条,还取决于 PHY、数据长度、确认/间隔、控制器事件长度、重试与系统调度,这不是 2M PHY 的固定效率。

每 30 ms 一次事件也意味着刚错过服务机会的数据需要等待;更短间隔可改善某些响应,但会增加唤醒成本或占用。Peripheral latency 允许满足条件时跳过一些事件,监督超时用于判断链路失联,不能直接等同于应用允许延迟。新版本可有额外调度能力,具体最小/最大参数需查双方控制器和系统支持。

平均功耗应按活动时间积分

假设某传感器每 100 ms 活动 2 ms、电流 8 mA,其余 98 ms 为 5 μA,则平均电流约 0.1649 mA。220 mAh 理想容量除以该电流约为 1334 h;这只是极简电量账,未包含采样、CPU、稳压损耗、重传、连接建立、电池自放电与容量变化,不能作为产品续航承诺。

更长间隔未必总省电:若增加重连或积压处理,整体能量反而上升。应测完整使用周期的电流轨迹,而不是把无线发送瞬时功率填进“BLE 常用功耗”表。

音频与定位要查功能,不仅查 Core 版本

Classic Audio 常使用 A2DP/HFP;LE Audio 有自己的音频架构、LC3、等时传输和服务/配置要求。Bluetooth 5.2 引入所需核心机制之一,但不代表每个 5.2 及以上设备都具备完整 LE Audio,也不代表所有 TWS 耳机都使用 LE Audio。手机、耳机、控制器、驱动和系统音频栈必须配合。Bluetooth SIG:LE Audio FAQ

AoA/AoD 依赖天线阵列和角度处理,Channel Sounding 属于另一类测距能力;不能用“Bluetooth 5.1”直接保证厘米级定位。角度、距离、最终位置精度是不同输出,环境多径、校准与布设都会影响结果。

同设备共存:不仅是两个软件进程轮流发包

Wi-Fi 与蓝牙共用或邻近天线时,本机强发射可使另一接收器受压制,即使链路自己的远端信号并不弱。改善手段包括天线隔离、频段安排、跳频适配以及 PTA 等协调机制;PTA 根据请求、优先级和授权安排收发窗口,不是任意蓝牙包都无条件让 Wi-Fi 停止。Silicon Labs:无线共存

组合模块可能让 Wi-Fi 经 PCIe/SDIO/USB 接主机、蓝牙经 USB/UART 暴露 HCI,但具体连接按模块设计。驱动、固件、射频、电源和天线问题都可能造成断连,不能未经证据把某个型号的故障写成共存机制已失效。

观察有帮助的对照想分离的因素
蓝牙在 Wi-Fi 负载下丢音空闲与本地负载、不同可用频段同频竞争与主机处理压力
信号强但 Wi-Fi 慢重试、信道占用、上行速率干扰和系统瓶颈
BLE 可连接但无通知服务权限、CCCD、MTU 与事件日志业务配置和空口问题
近距离正常,远处异常速率适配、重试和天线位置链路预算而非单纯版本差异

复算吞吐与平均电流

from math import isclose

packet_bits = 1500*8
single_time = packet_bits/600e6 + 100e-6
aggregate_time = packet_bits*10/600e6 + 100e-6
assert isclose(packet_bits/single_time, 100e6)
assert isclose(packet_bits*10/aggregate_time, 400e6)
assert (23-3, 247-3) == (20, 244)
ble_bytes_per_s = 4*(247-3)/0.030
assert isclose(ble_bytes_per_s*8, 260266.6666666667)
avg_ma = 8*(2/100)+0.005*(98/100)
assert isclose(avg_ma, 0.1649)
assert 1334 < 220/avg_ma < 1335
print('空口开销、ATT 通知与平均电流教学预算检查通过')

继续查阅