ESP32 官方文件(十四)RF 校準
阿新 • • 發佈:2019-01-02
RF 校準
RF 校準
ESP32 在 RF 初始化期間支援三種 RF 校準方法:
- 部分校準
- 完全校準
- 沒有校準
部分校準
在 RF 初始化期間,預設情況下使用部分校準方法進行 RF 校準。 它基於儲存在 NVS 中的完整校準資料完成。 要使用此方法,請到 menuconfig
並啟用 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE
。
完全校準
在以下條件下觸發完全校準:
- NVS 不存在。
- 用於儲存校準資料的 NVS 分割槽被擦除。
- 硬體 MAC 地址已更改。
- PHY 庫版本已更改。
- 從 NVS 分割槽載入的 RF 校準資料被破壞。
需要大約 100 ms, 比部分校準用的時間多。如果啟動持續時間不重要,建議使用完整的校準方法。要切換到完整校準方法,請轉到 menuconfig
並禁用 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE
。如果使用 RF 校準的預設方法,有兩種方法可以新增觸發完全校準功能作為最後的補救措施。
- 如果您不介意刪除儲存在 NVS 分割槽中的所有資料,請擦除 NVS 分割槽。
- 在基於某些條件(例如,在某些診斷模式中提供的選項)初始化 WiFi 和 BT/BLE 之前呼叫
esp_phy_erase_cal_data_in_nvs()
。在這種情況下,僅擦除 NVS 分割槽的 phy 名稱空間。
沒有校準
ESP32 從深度睡眠中醒來時,不會使用校準方法。
PHY 初始化資料
PHY 初始化資料用於 RF 校準。 有兩種方法可以獲得 PHY 初始化資料。
- 一個是預設的初始化資料,它位於標頭檔案
components/esp32/phy_init_data.h
中。 它在編譯後嵌入到應用程式二進位制檔案中,然後儲存到只讀儲存器(DROM)中。 要使用預設初始化資料,請到menuconfig
CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION
。 - 另一種是儲存在分割槽中的初始化資料。 使用自定義分割槽表時,請確保包含 PHY 資料分割槽(型別:資料,子型別:phy)。 使用預設分割槽表,這是自動完成的。 如果初始化資料儲存在分割槽中,則必須在那裡快閃記憶體,否則將發生執行時錯誤。 要切換到儲存在分割槽中的初始化資料,請到
menuconfig
並啟用CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION
。