ESP32 RF Tx power 조정 방법 : How to adjust RF Tx power ?

ESPRESSIF|2021. 8. 3. 16:18

ESP32의 RF Target power는 API와 Phy Init에서 조정이 가능합니다.

 

**** 주의 ****

1) RF Target power는 기본 SDK값을 사용하는 것을 권하여 드리며, 변경하는 것은 추천하지 않습니다.

2) RF Power 변경에 따라서 인증 및 성능에 영향이 있을 수 있으며, 충분한 검토 및 시험이 필요 합니다.

 

Phy Init는 리셋시 기본값이고, Booting이 완료된 후에는 API로 조정을 할수 있습니다.

Phy Init를 적용하는 방법은 별도의 bin을 만들어 Partition table에서 지정된 offset address에 라이팅을 하거나, Header파일 형태로 별도 bin을 만들지 않아도 됩니다.(유져 선택 option) 

 

먼저 Phy init 를 저장하는 방법에 대하여 아래 참고 바랍니다.

- Phy init관련 아래 참고 

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/RF_calibration.html

- 파티션 테이블 관련 아래 참고 

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html

 

Phy_init 의 수정

아래 header파일에서 Target power limit를 수정해 주면 됩니다. (ESP32, Master branch 기준) 

https://github.com/espressif/esp-idf/blob/master/components/esp_phy/esp32/include/phy_init_data.h

예로, 78은 19.5dBm 입니다. (단위, 0.25dB)

이 값은 아래와 같이 6단계로 되어 있습니다.

각 단계별로, 담당하는 모드가 있습니다. 

 

 

API에서 변경하는 방법

WiFi 및 BT 각각 TX power값 설정에 대한  API를 제공합니다. 

자세한 사항은 아래 참고 바랍니다. 

 

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv425esp_wifi_set_max_tx_power6int8_t

 

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/bluetooth/controller_vhci.html#_CPPv420esp_ble_tx_power_set20esp_ble_power_type_t17esp_power_level_t