esp-idf/docs/zh_CN/api-guides/RF_calibration.rst

59 lines
2.7 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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