1. 程式人生 > >ESP32 官方文件(十四)RF 校準

ESP32 官方文件(十四)RF 校準

RF 校準

RF 校準

ESP32 在 RF 初始化期間支援三種 RF 校準方法:

  1. 部分校準
  2. 完全校準
  3. 沒有校準

部分校準

在 RF 初始化期間,預設情況下使用部分校準方法進行 RF 校準。 它基於儲存在 NVS 中的完整校準資料完成。 要使用此方法,請到 menuconfig 並啟用 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE

完全校準

在以下條件下觸發完全校準:

  1. NVS 不存在。
  2. 用於儲存校準資料的 NVS 分割槽被擦除。
  3. 硬體 MAC 地址已更改。
  4. PHY 庫版本已更改。
  5. 從 NVS 分割槽載入的 RF 校準資料被破壞。

需要大約 100 ms, 比部分校準用的時間多。如果啟動持續時間不重要,建議使用完整的校準方法。要切換到完整校準方法,請轉到 menuconfig 並禁用 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE。如果使用 RF 校準的預設方法,有兩種方法可以新增觸發完全校準功能作為最後的補救措施。

  1. 如果您不介意刪除儲存在 NVS 分割槽中的所有資料,請擦除 NVS 分割槽。
  2. 在基於某些條件(例如,在某些診斷模式中提供的選項)初始化 WiFi 和 BT/BLE 之前呼叫 esp_phy_erase_cal_data_in_nvs()。在這種情況下,僅擦除 NVS 分割槽的 phy 名稱空間。

沒有校準

ESP32 從深度睡眠中醒來時,不會使用校準方法。

PHY 初始化資料

PHY 初始化資料用於 RF 校準。 有兩種方法可以獲得 PHY 初始化資料。

  1. 一個是預設的初始化資料,它位於標頭檔案 components/esp32/phy_init_data.h 中。 它在編譯後嵌入到應用程式二進位制檔案中,然後儲存到只讀儲存器(DROM)中。 要使用預設初始化資料,請到 menuconfig
    並禁用 CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION
  2. 另一種是儲存在分割槽中的初始化資料。 使用自定義分割槽表時,請確保包含 PHY 資料分割槽(型別:資料,子型別:phy)。 使用預設分割槽表,這是自動完成的。 如果初始化資料儲存在分割槽中,則必須在那裡快閃記憶體,否則將發生執行時錯誤。 要切換到儲存在分割槽中的初始化資料,請到 menuconfig 並啟用 CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION