Skip to content

Latest commit

 

History

History
58 lines (33 loc) · 2.69 KB

RF_calibration.rst

File metadata and controls

58 lines (33 loc) · 2.69 KB

RF 校准

:link_to_translation:`en:[English]`

{IDF_TARGET_NAME} 在 RF 初始化过程中支持以下三种 RF 校准:

  1. 部分校准
  2. 全面校准
  3. 不校准

部分校准

在 RF 初始化期间,默认使用部分校准,该方法基于存储在 NVS 中的完全校准数据实现。要使用此校准方法,请前往 menuconfig 并启用 :ref:`CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE`

全面校准

在以下几种情况下,使用全面校准:

  1. NVS 不存在。
  2. 存储校准数据的 NVS 分区已擦除。
  3. 硬件 MAC 地址变更。
  4. PHY 库版本变更。
  5. 从 NVS 分区加载的 RF 校准数据损坏。

全面校准耗时比部分校准长约 100 ms。当启动时长的重要性不高时,建议使用全面校准。要切换到全面校准,请前往 menuconfig 并禁用 :ref:`CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE`。如果使用了默认的部分校准,作为最后补救措施,可以使用以下两种方法添加函数,触发全面校准:

  1. 如果不介意擦除 NVS 分区中的所有数据,那么擦除 NVS 分区是最简单的方法。
  2. 在初始化 Wi-Fi 和 Bluetooth®/Bluetooth Low Energy 前,根据某些条件(例如,在某些诊断模式下提供的选项)调用 API :cpp:func:`esp_phy_erase_cal_data_in_nvs`,此时仅会擦除 NVS 分区的 PHY 命名空间。

不校准

设备从 Deep-sleep 模式中唤醒时,可以不校准。

PHY 初始化数据

PHY 初始化数据用于 RF 校准,通过以下两种方法,可以获取 PHY 初始化数据。

一是使用默认初始化数据,该数据位于头文件 :idf_file:`components/esp_phy/{IDF_TARGET_PATH_NAME}/include/phy_init_data.h` 中。默认初始化数据会在编译后嵌入到应用程序的二进制文件,然后存储在只读存储器 (DROM) 中。要使用默认的初始化数据,请前往 menuconfig 并禁用 :ref:`CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION`

二是将初始化数据存储在 PHY 数据分区中。默认的分区表中已经包含了 PHY 数据分区,但是使用自定义分区表时,请确保在自定义分区表中包含一个 PHY 数据分区(类型:data,子类型:phy)。无论使用自定义分区表还是默认分区表,只要初始化数据存储在分区中,就需要将其烧录到相应的分区中,否则运行时可能会出现错误。如果想要使用存储在分区中的初始化数据,请前往 menuconfig 并启用选项 :ref:`CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION`

API 参考

.. include-build-file:: inc/esp_phy_init.inc
.. include-build-file:: inc/esp_phy_cert_test.inc