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:
Device Series
Device SDID
PA Capability
Package Type
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) |
| Maximum output power, higher current consumption |
MP (Medium Power) |
| Balanced power and efficiency |
LP (Low Power) |
| Lower power output, better efficiency |
LLP (Low-Low Power) |
| 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:
Add the
sl_rail_util_pa_tablescomponentThe appropriate PA table is automatically selected based on device configuration
The component provides the
sl_rail_util_pa_tables.hheader
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:
Detects device family and capabilities
Selects appropriate config file based on conditions
Includes device-specific PA table headers
Defines
SL_RAIL_UTIL_PA_TABLES_CONFIG_HEADERmacro
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