首页 / 资讯中心 / 文章详情

BLE 广播信道 37/38/39 选频设计解析:为什么 2402/2426/2480 MHz 专门避开 WiFi

BLE 广播信道 37/38/39 选频设计解析:为什么 2402/2426/2480 MHz 专门避开 WiFi ★ FEATURED ARTICLE
BLE 在 2.4GHz 划了 40 个 2MHz 信道广播却只占 3 个且编号是排在最后的 37/38/39频率分别落在 2402/2426/2480 MHz——正好卡在 WiFi 信道 1/6/11 的三处缝隙里。本文从频谱叠层、AFH 兜底差异、真实 HCI 抓包三个角度拆解这套躲位设计并给出广播可靠性场景的工程建议。1. 40 个信道的划分与广播信道的反直觉编号BLEBluetooth Low Energy的物理层在 2.4GHz ISM 频段24002483.5 MHz划出 40 个射频信道每个 2MHz数据信道 37 个编号 036用于连接后的跳频通信广播信道 3 个编号 37/38/39用于设备发现、连接建立、广播态传输信道编号与频率的对应关系RF 信道 k 的中心频率 2402 MHz k × 2 MHz广播信道的编号与频率对照广播信道编号中心频率对应频率序号372402 MHz0382426 MHz12392480 MHz39也就是说三个广播信道在频率轴上的位置是频段最底端、正中间、最顶端——近似均匀覆盖整个 2.4G 频段。2. 频谱叠层为什么是这三个位置2.4GHz 频段最大的占道者是 WiFi。WiFi 的 20MHz 信道理论上有十几个但全球实际部署几乎只使用互不重叠的信道 1、6、11WiFi 信道中心频率占用范围12412 MHz24012423 MHz62437 MHz24262448 MHz112462 MHz24512473 MHz把 BLE 三个广播频率放进去对照BLE 广播信道频率相对 WiFi 的位置3724022402 MHzWiFi ch1 下边缘2401之上处于 ch1 与 ch6 的间隙带3824262426 MHz正好落在 ch1 结束2423与 ch6 开始2426之间的缝隙3924802480 MHzch11 结束2473之后的频段顶端完全无 WiFi 占道结论三个广播信道全部避开 WiFi 1/6/11 的主占道区。这是协议设计时刻意的选择不是巧合。3. 为什么广播阶段没有 AFH 兜底连接建立后BLE 使用自适应跳频AFH控制器统计各数据信道的丢包率/RSI把质量差的信道从跳频表里剔除主机可通过HCI_LE_Set_Host_Channel_Classification参与指定。数据信道撞上 WiFi损失可控。广播态则完全不同单向无连接广播方不知道有没有人收到、质量如何没有反馈环路无跳频表可剔除三个广播信道是协议固定的不可重选是设备的第一面扫描发现、回连、信标全部依赖这三个信道因此设计者必须保证广播信道的频率在任何 WiFi 部署形态下都先天最干净。ch1/ch6/ch11 之间的两处缝隙 频段顶端是全频段仅有的三处永久保留地。协议同时做了冗余一个广播事件会在三个信道上各发一次任一信道被干扰另两个仍可收到——扫描发现的可靠性从选对位置和多次冗余两个维度保证。4. 真实 HCI 抓包验证以下摘自一份真实的 BLE SoC HCI 抓包btsnoop 格式1207 包覆盖上电初始化到建立连接全程。先看广播参数是怎么配的。主机下发HCI_LE_Set_Advertising_Parameters0x200615 字节参数原文a0 00 a0 00 00 00 00 00 00 00 00 00 00 07 00逐字段拆字节值含义a0 00 / a0 000x00A0广播间隔 160 × 0.625ms 100ms最小最大固定间隔000广播类型可连接广播000自身地址类型Public00 6 字节 0—对端地址类型 6 字节地址全 0只对定向广播有意义070x07广播信道掩码bit0/1/2 信道 37/38/39三个全开000过滤策略不过滤倒数第二个字节值得单独说——协议连用几个广播信道都做成了可配字段。这颗 SoC 配 0x07三信道全用配 0x01 就只发信道 37。有些方案为了省电只开单信道等于亲手扔掉协议给的三重冗余。参数配好后广播的开关序列[ 90] CMD HCI_LE_Set_Advertising_Enable (0x200A) param: 00 # 关广播 [100] CMD HCI_LE_Set_Advertising_Enable (0x200A) param: 01 # 开广播 [102] EVT LE Meta / Connection Complete (0x3E/0x01) # 对端发起连接 [105] EVT LE Meta / Long Term Key Request (0x3E/0x05) # 加密流程广播打开包 100后极短间隔内即出现 Connection Complete包 102——扫描方在三个广播信道之一上捕获到广播包随即在该信道发起CONNECT_IND链路切换到数据信道跳频序列。按 100ms 间隔算设备每秒广播 10 轮、每轮 37/38/39 各发一遍扫描方碰到其中任意一遍就能发起连接。值得注意的对比连接完成后连接参数interval/latency/supervision timeout由主机通过HCI_LE_Connection_Update动态调整本抓包中连接建立后紧跟着一串 ConnUpdate 事件跳频地图也可由主机侧更新——连接后的世界处处可调广播信道的三个频率则是协议焊死的。这一可调 vs 焊死的分界恰好说明广播阶段对这 3 个先天位置的依赖。5. 现场排查搜不到设备先分清没发和被压遇到设备就在旁边手机搜不到的现场第一件事不是猜是用一条 HCI 抓包把两种故障分开找HCI_LE_Set_Advertising_Enable——没有这条命令协议栈压根没开广播问题在软件配置命令发出后看 Command Complete 的 Status——非零如 0x07 内存不足、命令被拒绝问题在协议栈或命令时序HCI 上一切正常但对端搜不到——才轮到射频环境扫现场 WiFi 占用1/6/11 之外注意非标信道 2/3/8/13查微波炉、USB3.0 hub 近距辐射没有 HCI 抓包条件时的旁证手机装 nRF Connect 扫描看该设备广播包是否出现、RSSI 是否正常。广播正常但 RSSI 异常低多半是天线或发射端问题广播时有时无环境压制嫌疑最大。6. 工程含义与建议这套设计有效但非无敌。WiFi 的边带泄漏、微波炉~2450 MHz恰在信道 38/39 之间仍会伤及广播信道。实际产品中的表现规律连接后吞吐AFH 剔除坏信道速率损失有限扫描发现 / 回连撞上强干扰源时明显变慢因为广播信道不可绕工程建议对发现/回连延迟敏感的产品定位标签、快速回连耳机广播间隔适当调密并确保三个信道全部启用——协议给的冗余用满对应抓包里那个掩码字节 0x07排查设备搜不到问题时先按第 5 节的三步分清没发和被压再扫现场 WiFi 信道占用与 2.4G 干扰源共存设计SoC 内部 WiFi/BLE 共存机制请求/仲裁信号只优化共存时的时域避让频域上的躲位依然靠这 3 个固定频率7. 总结数据信道靠 AFH 跳频躲 WiFi广播信道靠生在缝隙里躲 WiFi。2402 / 2426 / 2480 MHz 是 2.4G 频谱上仅有的、任何 WiFi 1/6/11 部署都占不到的三个角落——BLE 把设备发现这件最早期、最脆弱的事托付给了这三个被算计出来的数字。BLE 低功耗蓝牙 广播信道 2402MHz 2426MHz 2480MHz WiFi 干扰 2.4GHz HCI 抓包
阅读完成 · 觉得有帮助?
咨询建站