概述
copy from nordic官方论坛文章:https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/pa-lna-support-in-s132
BLE MCU:nrf52840
PA:RFX2401C
用于 nRF52 的 S132 SoftDevice 支持使用 GPIO 引脚启用/禁用外部功率放大器 (PA) 和低噪声放大器 (LNA) 的切换。这是在 S132 版本 2.0.0-7.alpha 中引入的。
在 nRF51 中有一个选项可以使用 VDD_PA 引脚来检测无线电何时处于 TX 模式,但这不是 nRF52 的选项,因此需要 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;
// Configure SoftDevice PA/LNA assist
ble_opt_t opt;
memset(&opt, 0, sizeof(ble_opt_t));
// Common PA/LNA config
opt.common_opt.pa_lna.gpiote_ch_id = gpio_toggle_ch; // GPIOTE channel
opt.common_opt.pa_lna.ppi_ch_id_clr = ppi_clr_ch; // PPI channel for pin clearing
opt.common_opt.pa_lna.ppi_ch_id_set = ppi_set_ch; // PPI channel for pin setting
// PA config
opt.common_opt.pa_lna.pa_cfg.active_high = 1; // Set the pin to be active high
opt.common_opt.pa_lna.pa_cfg.enable = 1; // Enable toggling
opt.common_opt.pa_lna.pa_cfg.gpio_pin = gpio_pa_pin; // The GPIO pin to toggle
// LNA config
opt.common_opt.pa_lna.lna_cfg.active_high = 1; // Set the pin to be active high
opt.common_opt.pa_lna.lna_cfg.enable = 1; // Enable toggling
opt.common_opt.pa_lna.lna_cfg.gpio_pin = gpio_lna_pin; // The GPIO pin to toggle
err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &opt);
APP_ERROR_CHECK(err_code);
}
其实nordic自家已经有一款前端PA+LNA芯片nRF21540,据官方资料描述以及网上调过的说法是比RFX2401C的PA更强大,具有+21 dBm TX 输出功率和 13 dB RX 增益,覆盖距离扩大16倍,但遗憾的是2019年12月发布的,直到当前2021年7月还拿不到货,缺芯危机恐怖如斯,只能使用老而靠谱的2401了。
据现看到的资料显示RFX2401C只是单PA,对接收灵敏度而言并没有改善,所以这个方案跟21540似乎没有比较的意义
最后
以上就是故意黑米为你收集整理的nrf52+RFX2401的PA+LNA方案,基于softdevice驱动的全部内容,希望文章能够帮你解决nrf52+RFX2401的PA+LNA方案,基于softdevice驱动所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复