RAIL 3 Power Amplifier (PA) PowerSetting tables Utility#

 

Overview#

The sl_rail_util_pa_tables component provides Power Amplifier (PA) powersetting mapping tables for RAIL (Radio Abstraction Interface Layer). This utility enables accurate conversion between dBm powers and hardware-specific PA power settings which is performed by RAIL 3 Power Amplifier (PA) Utility component.

Purpose#

This component provides:

  • Pre-characterized PA Tables: Device-specific powersetting tables mapping dBm values to PA power settings

  • Multi-Mode PA Support: Tables are available for multiple PA modes when supported.(2.4GHz, subGHz, Linear OFDM etc)

  • Multiple Powersetting table options: Different options of tables are provided to choose from when supported on a board (High Power(HP), Medium Power(MP), Low Power(LP), Low Low Power(LLP), automode)

  • Automatic PA Selection: Configuration support for automatic PA sub-mode selection based on power requirements

  • Hardware Abstraction: Unified interface across EFR32 Series 2 and Series 3 SoCs.

Supported Devices#

The component provides PA tables for the following device families:

Device

PA Variants

PA Sub-Modes

EFR32xG21

10 dBm, 20 dBm

LP, MP, HP

EFR32xG22

6 dBm

LP, HP

EFR32xG23

10 dBm, 14 dBm, 20 dBm

LLP, LP, MP, HP

EFR32xG24

10 dBm, 20 dBm

LP, HP

EFR32xG25

14 dBm

FSK or OFDM

EFR32xG26

10 dBm, 20 dBm

LP, HP

EFR32xG27

4 dBm*, 8 dBm

LP, HP

EFR32xG28

14 dBm, 20 dBm

LLP, LP, MP, HP

EFR32xG29

4 dBm*, 8 dBm

LP, HP

SIXG301

0 dBm, 10 dBm

HP, LP

  • means 4dBm variant is a power restricted 8dBm variant.

Configuration#

Universal Configurator (UC) Integration#

The component automatically selects the appropriate PA table based on:

  1. Device Series

  2. Device SDID

  3. PA Capability

  4. Package Type

  5. Frequency Band

Configuration File#

Each device variant includes a configuration file:

plugin/sl_rail_util_pa_tables/{device}/config/{variant}/sl_rail_util_pa_tables_config.h

Example configuration (EFR32xG24 20dBm):

#define SL_RAIL_UTIL_PA_TABLE_HEADER    "sl_rail_util_pa_dbm_powersetting_mapping_table_20dbm.h"

This header is included in the build via the SL_RAIL_UTIL_PA_TABLES_CONFIG_HEADER define.

PA Power Sub-Modes#

The component supports multiple PA sub-modes for power-optimized operation:

Sub-Mode Types#

Sub-Mode

Enum Value

Use Case

HP (High Power)

SL_RAIL_PA_POWER_SETTING_SUBMODE_HP

Maximum output power, higher current consumption

MP (Medium Power)

SL_RAIL_PA_POWER_SETTING_SUBMODE_MP

Balanced power and efficiency

LP (Low Power)

SL_RAIL_PA_POWER_SETTING_SUBMODE_LP

Lower power output, better efficiency

LLP (Low-Low Power)

SL_RAIL_PA_POWER_SETTING_SUBMODE_LLP

Minimal power output, maximum efficiency

Sub-Mode Availability#

Refer to the Supported Devices section above for sub-mode availability by device.

PA Table Format#

Table Structure#

PA tables map dBm power levels to hardware power settings. Here is an example of EFR32xG28 20dBm power setting table:

#define SL_RAIL_PA_TABLE_0_NUM_VALUES  (55U)
#define SL_RAIL_PA_TABLE_0_STEP_DDBM   (10U)         // Step size in deci-dBm (1.0 dBm)
#define SL_RAIL_PA_TABLE_0_MAX_POWER_DDBM     (200U) // Max: 20.0 dBm
#define SL_RAIL_PA_TABLE_0_MIN_POWER_DDBM     (-338) // Min: -33.8 dBm

#define SL_RAIL_PA_TABLE_0                        \
  {                                               \
    0x0 /* est_deci-dBm:-338 act_deci-dBm:-338*/, \
    0x0 /* est_deci-dBm:-328 act_deci-dBm:-338*/, \
    0x0 /* est_deci-dBm:-318 act_deci-dBm:-338*/, \
    ...                                           \
    0x1 /* est_deci-dBm:-188 act_deci-dBm:-192*/, \
    ...                                           \
    0x6d /* est_deci-dBm:182 act_deci-dBm:182*/,  \
    0x86 /* est_deci-dBm:192 act_deci-dBm:192*/,  \
    0xa5 /* est_deci-dBm:200 act_deci-dBm:200*/,  \
  }

For custom table, make sure these parameters exist.

Power Units#

  • deci-dBm: Power values in tenths of dBm (e.g., 200 deci-dBm = 20.0 dBm)

  • Step Size: Typically 1.0 dBm (10 deci-dBm) between entries

  • Power Setting: Hardware-specific raw value for PA registers

Usage#

Including the Component#

In your Universal Configurator project:

  1. Add the sl_rail_util_pa_tables component

  2. The appropriate PA table is automatically selected based on device configuration

  3. The component provides the sl_rail_util_pa_tables.h header

API Usage#

The component provides enumeration types used by RAIL power conversion APIs:

#include "sl_rail_util_pa_tables.h"

// PA sub-modes are defined for use with power APIs
sl_rail_pa_power_setting_submode_t submode = SL_RAIL_PA_POWER_SETTING_SUBMODE_HP;

Integration with PA Conversion Plugin#

This component works in conjunction with sl_rail_util_pa_conversions:

// PA conversions plugin uses these tables internally
sl_rail_status_t status = sl_rail_set_tx_power_ddbm(rail_handle, 
                                                     power_ddbm);

// The conversion is handled automatically:
// 1. Current PA mode is determined
// 2. Appropriate PA table is selected
// 3. dBm value is converted to PA power setting
// 4. PA hardware is configured

Automode PA Tables#

Some devices support automatic PA mode switching:

Automode Configurations#

  • EFR32xG21: Automode tables for 0/10 dBm, 0/10/20 dBm, 10/20 dBm

  • EFR32xG22: Automode tables for 0/6 dBm

  • EFR32xG24: Automode tables for 0/10 dBm

  • EFR32xG26: Automode tables for 0/10 dBm (QFN and BGA)

  • EFR32xG27: Automode tables for 0/4 dBm (CSP), 0/8 dBm (QFN)

  • EFR32xG29: Automode tables for 0/8 dBm (CSP and QFN)

  • SixG301: Automode tables for 0/10 dBm

Benefits of Automode#

  • Automatic switching between low-power and high-power PAs

  • Optimized current consumption at lower power levels

  • Seamless power ramping across PA mode boundaries

Device-Specific Notes#

EFR32xG23/xG28 Sub-Modes#

These devices support four PA sub-modes (HP, MP, LP, LLP) for fine-grained power/efficiency tuning:

  • HP (High Power): Best linearity, highest current

  • MP (Medium Power): Balanced performance

  • LP (Low Power): Good efficiency, lower harmonic distortion

  • LLP (Low-Low Power): Maximum efficiency for low-power applications

EFR32xG25 Board-Specific Tables#

The xG25 includes a board-specific table for BRD4276A:

// Board-specific PA table selection
condition:
  - device_series_2
  - device_sdid_220
  - brd4276a

EFR32xG28 Frequency Bands#

The xG28 provides separate PA tables for different frequency bands:

  • 868 MHz: European ISM band optimization

  • 915 MHz: North American ISM band optimization

The correct table is selected based on hardware_board_supports_rf_band_868.

EFR32xG26 Package Variants#

The xG26 supports different PA tables for package types in addition to PA sub-modes:

  • QFN Package: Standard power tables

  • BGA Package (EFR32MG26B510F3200IL136): Optimized for BGA thermal characteristics

Series 3 (SIXG301)#

Series 3 devices use simplified PA table structure:

  • 0 dBm Table: Low-power mode

  • 10 dBm Table: High-power mode

  • Automode Table: Automatic switching between 0/10 dBm

Requirements#

Component Dependencies#

  • rail_lib: Core RAIL library (required)

  • sl_rail_util_pa: PA plugin(required)

Build System Integration#

The build system automatically:

  1. Detects device family and capabilities

  2. Selects appropriate config file based on conditions

  3. Includes device-specific PA table headers

  4. Defines SL_RAIL_UTIL_PA_TABLES_CONFIG_HEADER macro

Troubleshooting#

Common Issues#

Issue: PA table not found at build time

  • Solution: Verify device conditions match (SDID, PA capability, package type)

  • Check: Component configuration in .slcp file

Issue: Incorrect power output

  • Solution: Ensure correct PA mode is selected for channel configuration

  • Check: Board files and hardware_board_supports_* conditions