S132SoftDevice для серии чипов nRF52 имеет поддержку включения/выключения внешнего усилителя мощности (Power Amplifier, PA) и малошумящего усилителя (Low Noise Amplifier, LNA) с использованием ножек GPIO. Это было добавлено в S132 версии 2.0.0-7.alpha. В серии nRF51 была опция использовать ножку VDD_PA, чтобы определить, когда радиотракт находится в режиме передачи (TX), однако этот вариант не подходит для nRF52, что сделало необходимым поддержку управления PA/LNA в SoftDevice.
Следующая функция может использоваться для формирования сигнала PA/LNA. Адаптируйте её для изменения количества выводов управления (1 или 2), используемых для управления портов, полярности и т. п.
static void pa_lna_assist(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin)
{
ret_code_t err_code;
static const uint32_t gpio_toggle_ch = 0;
static const uint32_t ppi_set_ch = 0;
static const uint32_t ppi_clr_ch = 1;
// Конфигурирование поддержки SoftDevice PA/LNA
ble_opt_t opt;
memset(&opt, 0, sizeof(ble_opt_t));
// Общая конфигурация PA/LNA
opt.common_opt.pa_lna.gpiote_ch_id = gpio_toggle_ch; // Канал GPIOTE
opt.common_opt.pa_lna.ppi_ch_id_clr = ppi_clr_ch; // Канал PPI для сброса уровня
opt.common_opt.pa_lna.ppi_ch_id_set = ppi_set_ch; // Канал PPI для установки уровня
// Конфигурация PA
opt.common_opt.pa_lna.pa_cfg.active_high = 1; // Установка вывода в активную лог. 1
opt.common_opt.pa_lna.pa_cfg.enable = 1; // Разрешение переключения
opt.common_opt.pa_lna.pa_cfg.gpio_pin = gpio_pa_pin; // Вывод GPIO для переключения
// Конфигурация LNA
opt.common_opt.pa_lna.lna_cfg.active_high = 1; // Установка вывода в активную лог. 1
opt.common_opt.pa_lna.lna_cfg.enable = 1; // Разрешение переключения
opt.common_opt.pa_lna.lna_cfg.gpio_pin = gpio_lna_pin; // Вывод GPIO для переключения
err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &opt);
APP_ERROR_CHECK(err_code);
}
Ниже на графике показана осциллограмма использования сигнала PA/LNA, когда радиотракт запускает режим передачи. На графике M2 это момент, где анализатор срабатывает от сигнала PA на выводе GPIO. Этот момент наступает на ~7.6 мкс после включения радиотракта (M1) и на ~5.8 мкс перед тем, как радиотракт начнет модулировать сигнал данными (M3). Анализ был проведен с использованием S132 версии 2.0.0-7.alpha.
[Ссылки]
1. PA / LNA support in S132 site:nordicsemi.com. 2. RFX2401C CMOS 2.4GHZ ZIGBEE/ISM TRANSMIT/RECEIVE RFeIC site:skyworksinc.com. |