nRF52与RFX2401C的PA+LNA优化方案:基于SoftDevice的高效驱动实现
1. 为什么需要PA和LNA优化方案如果你正在用nRF52开发BLE设备可能会遇到这样的困扰明明参数配置没问题但通信距离就是达不到预期。这时候就该请出我们今天的主角——RFX2401C这颗PA/LNA芯片了。我去年做智能牧场项⽬时就踩过这个坑牛项圈上的nRF52840在开阔场地实测只有80米通信距离加了RFX2401C后直接提升到300米以上。PA功率放大器和LNA低噪声放大器就像蓝牙信号的扩音器和助听器。前者让发射信号更强后者让接收更灵敏。但nRF52系列有个设计特点它的射频前端是开放式的不像某些集成方案那样自带PA/LNA。这种设计给了我们灵活性但也需要开发者自己处理信号增强方案。2. 硬件设计关键点2.1 芯片选型对比市面上常见的射频前端芯片主要有两款RFX2401C老牌稳定方案集成PA和LNAnRF21540Nordic自家方案性能更强但供货不稳定我做了一张实测对比表参数RFX2401CnRF21540TX输出功率20dBm21dBmRX增益无13dB供货周期现货长期缺货成本约$1.5约$3.22.2 电路设计注意事项画原理图时要特别注意这几个点天线匹配电路建议用π型网络我用过的最佳参数是L3.3nHC1pF供电滤波PA芯片旁边必须加10μF100nF组合电容布局布线射频走线控制在50Ω阻抗PA输出到天线距离最好10mm避免直角走线去年有个血泪教训某批板子因为把PA放在背面导致输出功率少了3dBm。后来改版把PA和nRF52放同面并缩短距离问题立刻解决。3. 软件驱动实现3.1 SoftDevice配置要点nRF52的S132 SoftDevice从v2.0.0-7.alpha开始支持外部PA/LNA控制关键是要配置好这个结构体ble_opt_t opt; memset(opt, 0, sizeof(opt)); // 共用配置 opt.common_opt.pa_lna.gpiote_ch_id 0; // 使用GPIOTE通道0 opt.common_opt.pa_lna.ppi_ch_id_clr 1; // PPI清除通道 opt.common_opt.pa_lna.ppi_ch_id_set 0; // PPI设置通道 // PA配置 opt.common_opt.pa_lna.pa_cfg.active_high 1; // 高电平有效 opt.common_opt.pa_lna.pa_cfg.enable 1; // 使能PA opt.common_opt.pa_lna.pa_cfg.gpio_pin 12; // PA控制引脚 // LNA配置 opt.common_opt.pa_lna.lna_cfg.active_high 1; // 高电平有效 opt.common_opt.pa_lna.lna_cfg.enable 1; // 使能LNA opt.common_opt.pa_lna.lna_cfg.gpio_pin 11; // LNA控制引脚 sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, opt);3.2 实际调试技巧在项目中发现几个容易出错的地方时序问题PA/LNA使能信号需要比射频活动提前至少20μsGPIO冲突避免使用被SoftDevice占用的引脚可以参考nRF52的IO矩阵表电流突变PA开启瞬间会有100mA左右的电流突变电源要能承受建议在sd_ble_opt_set()后添加这段检查代码uint32_t is_enabled; sd_ble_opt_get(BLE_COMMON_OPT_PA_LNA, opt); APP_ERROR_CHECK_BOOL(opt.common_opt.pa_lna.pa_cfg.enable 1);4. 性能优化实战4.1 功率校准方法nRF52的输出功率可以在-20dBm到8dBm之间调整配合PA使用时建议先将nRF52本身设为0dBm输出用频谱仪测量PA输出逐步调整nRF52输出功率使PA输出不超过20dBm实测发现nRF52设为4dBm时经过RFX2401C能达到最佳20.3dBm输出再高就会导致信号失真。4.2 接收灵敏度提升虽然RFX2401C的LNA不能像nRF21540那样提供增益但我们可以通过以下方法优化接收将nRF52的接收带宽设为1MHz启用DCDC转换器降低电源噪声在代码中添加这些配置NRF_RADIO-MODECNF0 (RADIO_MODECNF0_RU_Fast RADIO_MODECNF0_RU_Pos); NRF_RADIO-PCNF1 (1 RADIO_PCNF1_WHITEEN_Pos);在智能家居网关项目中使用这套配置后接收灵敏度从-93dBm提升到-96dBm相当于通信距离增加了约20%。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2468421.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!