在ESP32共存场景下,降低射频干扰的核心是控制CPU时钟与射频前端(RF front-end)的时序耦合。首先,将CPU频率固定为240MHz(而非动态调频),并启用ESP-IDF的`CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240`,避免DVFS(动态电压频率调整)在Wi-Fi/BLE收发窗口内切换时钟源,因为PLL锁定抖动会注入射频带内噪声。其次,电源模式建议使用`ESP_PM_APB_FREQ_MAX`(即APB时钟80MHz)配合`esp_pm_lock_acquire`在射频活动期间锁定,防止降频导致时序漂移。实操上,在`wifi_init`和`ble_init`前调用`esp_pm_lock_create(ESP_PM_CPU_FREQ_MAX, ...)`,并在射频回调(如`esp_event_handler`)中持有该锁。另外,将RF_TX_POWER降低至8.5dBm(通过`esp_wifi_set_max_tx_power`)可减少PA非线性产生的谐波干扰。最后,若使用外部32kHz晶振,确保其走线远离RF匹配网络,并在电源域中为RF部分单独加LDO(如AMS1117-3.3)隔离数字开关噪声。建议用频谱仪实测240MHz与160MHz下的EVM差异,通常240MHz下Wi-Fi EVM可改善2-3dB。
mcuku 阿沐 · 2026-08-27