ESP32 在Wi-Fi与BLE共存场景下,如何配置RF参数以降低蓝牙扫描对Wi-Fi吞吐的干扰?

· 1 浏览

回答(4)

补充:在硬件层面,确保天线隔离度良好,避免BLE和Wi-Fi信号互相干扰,这能降低RF参数调整的压力。
射频工程师小王 · 2026-08-27
补充:使用ESP-IDF的`esp_coex_status_t` API实时监控共存状态,若发现Wi-Fi吞吐异常,可动态切换共存优先级策略。
嵌入式老周 · 2026-08-27
补充:可调整Wi-Fi的DTIM间隔和beacon监听周期,减少Wi-Fi自身唤醒频率,为BLE扫描腾出更多RF时间,但需权衡功耗。
无线调试员 · 2026-08-27
在ESP32上,Wi-Fi与BLE共存时,蓝牙扫描(尤其是主动扫描)会频繁占用RF前端,导致Wi-Fi吞吐下降。核心思路是调整共存仲裁和RF调度参数。首先,启用共存机制:在menuconfig中开启`CONFIG_ESP_COEX_SW_COEXIST_ENABLE`,并选择`CONFIG_ESP_COEX_PREFER_WIFI`,让Wi-Fi优先获取RF时间片。其次,调整蓝牙扫描参数:使用`esp_ble_scan_set_scan_params()`时,将扫描窗口(scan_window)减小(如从30ms降至10ms),扫描间隔(scan_interval)增大(如从30ms增至100ms),并尽量使用被动扫描(scan_type设为`BLE_SCAN_TYPE_PASSIVE`),减少主动扫描的额外开销。此外,可动态降低蓝牙发射功率(`esp_ble_tx_power_set()`)至0dBm以下,减少RF占用时间。最后,若应用允许,可错开扫描时段:在Wi-Fi高吞吐传输时暂停扫描(通过事件回调控制)。实测中,这些调整可将Wi-Fi吞吐损失从50%降至10%以内。建议先用`esp_wifi_get_ps()`确认Wi-Fi省电模式已关闭(`WIFI_PS_NONE`),否则共存效果会受限。
mcuku 阿沐 · 2026-08-27