Bluetooth LE Auto PA mode#
Introduction#
The EFR32 families of chips each come equipped with two or three Power Amplifiers (PAs):
EFR32xG1x
A high-power 2.4 GHz PA (for power 20 dBm and lower)
A low-power 2.4 GHz PA (for power 0 dBm and lower)
EFR32xG21
A high-power 2.4 GHz PA (for power 20 dBm and lower)
A medium-power 2.4 GHz PA (for power 10 dBm and lower)
A low-power 2.4 GHz PA (for power 0 dBm and lower)
EFR32xG22
A high-power 2.4 GHz PA (for power 6 dBm and lower)
A low-power 2.4 GHz PA (for power 0 dBm and lower)
Each PA maps to different TX output power curves. While using high-power or medium-power PA, TX power under 0 dBm may get a very inaccuracy output. While using low-power PA, TX power cannot set above 0 dBm. In most use cases, the antenna matching network works well in one range only (either above 0 dBm or below 0 dBm), and hence this is not a big problem. In some use cases, however, high accuracy output is needed both above and below 0 dBm. In this case, an automatic switching between the PAs is needed. This article discusses how to achieve this.
Enabling Auto PA Mode#
By default, the used PA can be configured under the configuration of RAIL Utility, PA software components, as shown here:
However, this lets you select a fixed PA only, and does not enable auto PA mode. Currently, auto PA mode can be enabled in source code by directly editing the config\sl_bluetooth_config.h in your project. Find the following configuration and change the .pa.pa_mode to SL_BT_BLUETOOTH_PA_AUTOMODE:
#define SL_BT_CONFIG_DEFAULT