本文详细介绍了nRF21540的特性、PIN脚、优势功能,及设备树配置详解、配置示例及软件配置。
nRF21540 的主要特性如下:
• 集成射频功率放大器(PA)和低噪声放大器(LNA)
• 支持协议:Bluetooth® Low Energy、Bluetooth® mesh、Thread、Zigbee (IEEE 802.15.4) 以及 2.4 GHz 私有协议
• 最大输出功率:可调节,最高可达 +21 dBm(部分文档提及 +22 dBm)
• 可调节输出增益:5 ±1 dB 到 21 ±1 dB,支持小步进动态调节
• 接收增益:+13 dB
• 低噪声系数:2.5~2.7 dB,提升接收灵敏度
• 双天线端口:支持天线分集(Antenna Diversity)
• 控制接口:支持 GPIO、SPI 或两者结合进行 TX 功率、天线切换等控制
• 非易失性存储器:可存储增益设置,便于出厂校准
• 电源电压范围:1.7 V ~ 3.6 V,适用于 1.8 V ±5% 系统
• 封装:QFN16 4x4 mm
• 工作温度范围:-40°C ~ 105°C
• 功耗:+20 dBm 输出时 110 mA,+10 dBm 输出时 38 mA,RX 模式 2.9 mA,掉电模式 45 nA
• 与 nRF52、nRF53 、nRF54 系列 SoC 搭配使用时,可实现 6.3~10 倍的理论通信距离提升
• 典型应用:智能家居、资产追踪、工业自动化、音频、医疗、运动与健身、信标等

nRF21540 的PIN脚如下:
1. nRF21540 的 PDN(Power Down)Pin
PDN用于控制芯片的上电和下电状态:
当 PDN 脚为低电平(0)时,nRF21540 处于 Power-down(掉电)状态,芯片内部电路关闭,功耗最低。
当 PDN 脚为高电平(1)时,芯片被激活,进入 Program(配置)状态,可以进一步通过引脚或 SPI 接口设置为接收、发送等工作状态。
简单来说,PDN 脚主要用于控制 nRF21540 的电源管理,实现芯片的开关机和低功耗控制.
2. nRF21540 的 MODE Pin
MODE脚用于选择发射功率的两种预设增益(TX Gain)模式:
MODE 脚为低电平时,FEM(前端模块)工作在 POUTA(如 +20 dBm)模式。
MODE 脚为高电平时,FEM 工作在 POUTB(如 +10 dBm)模式。
通过控制 MODE 脚的高低,可以在两种不同的发射功率之间切换,实现动态功率控制。需要注意的是,不能在发射(TX)状态下切换 MODE 脚,否则会影响射频性能,必须在非发射状态下切换.
3. nRF21540 的 ANT_SEL Pin
nRF21540 的 ANT_SEL 脚用于选择射频前端模块(FEM)连接的天线端口。在收发(RX/TX)状态下:
ANT_SEL = 0 时,启用 ANT1 端口,ANT2 端口关闭。
ANT_SEL = 1 时,启用 ANT2 端口,ANT1 端口关闭。
在掉电(Power-down)、编程(Program)等非工作状态下,天线开关处于隔离状态,不连接任何天线端口简而言之,ANT_SEL 脚让你可以通过引脚电平选择 nRF21540 使用哪一个天线端口(ANT1 或 ANT2),以支持天线分集或不同的射频路径。
4. nRF21540 的 TX_EN(Transmit Enable) Pin
TX_EN脚用于控制前端模块(FEM)进入发射(TX)状态。当 TX_EN 脚被拉高(高电平)时,nRF21540 的功率放大器(PA)被激活,FEM 进入发射模式,允许射频信号通过并进行功率放大;当 TX_EN 脚为低电平时,发射通路关闭,PA 关闭,FEM 不处于发射状态
5. nRF21540 的 RX_EN Pin
RX_EN(Receive Enable)脚用于控制前端模块(FEM)进入接收(RX)状态。当 RX_EN 脚被拉高(高电平)时,nRF21540 的低噪声放大器(LNA)被激活,FEM 进入接收模式,从而提升接收灵敏度;当 RX_EN 脚为低电平时,接收通路关闭,LNA 关闭,FEM 不处于接收状态。
6. nRF21540 的 SPI 接口
MCK,MISO,MOSI,CNS
nRF21540支持双天线ANT1和ANT2
nRF21540的天线分集(Antenna diversity)是一种提高无线通信可靠性的技术,通过在两个天线之间切换来减少多径传播效应和提高链路质量, nRF21540 RF FEM(射频前端模块)包含两个天线端口(ANT1和ANT2),支持天线分集功能:
· Tinghy53中,通过RF开关(U17)控制天线选择
- 天线A1连接到nRF21540 RF FEM的ANT1端口,支持高达+20 dBm的TX输出功率
- 天线A2直接连接到RF开关的RF2端口,最大TX输出功率为+3 dBm的TX输出功率
- 天线选择通过P1.10引脚(SEL同时也是PDN脚)控制
- 当你把thingy53当做5340dk板使用时,使用的是A2天线

· nRF21540DK中,天线选择通过ANT_SEL引脚控制
- 天线A1连接到nRF21540 RF FEM的ANT1端口,支持高达+20 dBm的TX输出功率
- 天线A2连接到nRF21540 RF FEM的ANT2端口,支持达+20 dBm的TX输出功率
- 天线选择通过P0.20引脚(ANSEL)控制

nRF21540的接收增益13db和噪声系数2.7db
nRF21540的接收增益(receive gain)13 dB和噪声系数(noise figure)2.7 dB是两个不同但相关的参数,它们共同决定了低噪声放大器(LNA)的性能和整体接收质量。
接收增益与噪声系数的关系
接收增益13 dB表示nRF21540的LNA将输入信号放大13倍(以分贝计),而噪声系数2.7 dB表示LNA在放大过程中引入的额外噪声量。这两个参数之间的关系如下:
- 信噪比影响:
- 接收增益(13 dB)放大了有用信号
- 噪声系数(2.7 dB)表示LNA引入的额外噪声
- 较低的噪声系数意味着在提供13 dB增益的同时,引入的噪声较少
- 接收灵敏度:
- 高增益(13 dB)提高了接收微弱信号的能力
- 低噪声系数(2.7 dB)确保放大过程中信号质量不会显著降低
- 这两个参数共同改善了接收灵敏度
- 链路预算改善:
- 这两个参数共同贡献了nRF21540提供的16-20 dB链路预算改善
- 这转化为与nRF52或nRF53系列SoC结合使用时的6.3-10倍理论范围扩展
实际应用意义
在实际应用中,nRF21540的13 dB接收增益和2.7 dB噪声系数意味着:
- 能够接收更远距离的信号(因为13 dB的增益)
- 保持较高的信号质量(因为2.7 dB的低噪声系数)
- 提高在嘈杂环境中的通信可靠性
- 在不显著增加功耗的情况下扩展通信范围
nRF21540 设备树配置详解:
GPIO模式:
• 只用几个GPIO引脚(如TX-EN、RX-EN、PDN等)即可实现基本的FEM控制,比如收发切换和上电/下电。
• 最小配置:
tx-en-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
rx-en-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
pdn-gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
• ant-sel-gpio可以不配置,直接置高或者置低,选择对应ANT.
• mode-gpio可以不配置,那么对应只能是10db或者20db,不可选
• nRF21540 在 GPIO 模式下不能实现真正的动态输出功率调整。GPIO 模式下,输出功率(增益)只能在两个预设值之间切换,通常是通过 MODE 引脚选择,比如 +10 dB 和 +20
GPIO+SPI模式:
• 在设备树上再加上SPI接口的配置,
• 需要配置supply-voltage-mv 参数
这个配置项用于在设备树(DeviceTree)中指定 nRF21540 前端模块(FEM)的电源电压,单位为毫伏(mV),这里的 <3000> 表示 3.0V。
在 Nordic 的 nRF Connect SDK 中,nRF21540 的内置功率模型(power model)会根据这个 supply-voltage-mv 的值来补偿外部条件变化, 如温度、 电源电压、 载波频率、 输入功率, 以保持 nRF21540 的增益尽可能恒定。也就是说,正确设置 supply-voltage-mv 能让 SDK 更准确地控制和补偿 FEM 的性能,提升射频链路的稳定性和一致性。
因此,supply-voltage-mv = <3000> 就是告诉系统 nRF21540 的供电电压为 3.0V,SDK 会据此进行相关的性能补偿和控制。
• 只配置GPIO模式的几个pin脚,那么编译完CONFIG_MPSL_FEM_NRF21540_GPIO=y
• 如果配置了SPI的几个pin脚,那么编译完CONFIG_MPSL_FEM_NRF21540_GPIO_SPI=y
需要配置supply-voltage-mv 参数
这个配置项用于在设备树(DeviceTree)中指定 nRF21540 前端模块(FEM)的电源电压,单位为毫伏(mV),这里的 <3000> 表示 3.0V。
• 在54L15配置nrf21540对应的接口的时候,需要注意,我们不能使用P2,因为P2没有GPIOTE功能,不支持task 和event.
GPIO模式:只用几个GPIO引脚(如TX-EN、RX-EN、PDN等)即可实现基本的FEM控制,比如收发切换和上电/下电。适合对增益要求不高、环境变化不大、只需固定增益(如10dB或20dB)的简单应用。增益切换依赖于MODE引脚的高低电平,不能在运行时灵活调整,且无法补偿温度、电压等外部条件的变化。如果MODE引脚悬空,增益状态不确定,需硬件拉高或拉低
GPIO+SPI模式:在GPIO基础上增加SPI接口,可以通过SPI命令动态配置nRF21540的增益、天线切换等高级功能。更重要的是,SPI模式支持内置功率模型,可以根据温度、电源电压、频率等外部条件自动补偿,保证增益恒定且接近设定值,提升射频性能和一致性。SPI模式还支持更细粒度的增益调节和更丰富的功能
GPIO模式适合简单、固定增益的场景,SPI模式则适合对射频性能有更高要求、需要动态调节和补偿的应用。 SPI模式能让nRF21540在不同环境下表现更稳定,支持更多高级特性。
nRF21540 RF FEM的设备树配置示例:
nRF21540 shield设备树配置中:\nrf\boards\shields\nrf21540ek\common\arduino_compatible.overlay

nRF21540DK 设备树配置中:
\zephyr\boards\nordic\nrf21540dk\nrf21540dk_nrf52840-pinctrl.dtsi<img width="344" height="166" alt="A screen shot of a computer code
AI-generated content may be incorrect." src="file:///C:/Users/WINGPC~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg" /> \zephyr\boards\nordic\nrf21540dk\nrf21540dk_nrf52840.dts

nRF5340DK 中21540在设备树配置中:
5340在配置 nRF21540 相关的设备树(devicetree)配置中,gpio_fwd(全称为 nrf-gpio-forwarder)节点的作用是将应用核(App core)的 GPIO 控制权转发给网络核(Net core)。这样,网络核就可以直接控制 nRF21540 所需的 GPIO 引脚,实现对 FEM(前端模块)的控制
Thingy53:
\zephyr\boards\nordic\thingy53\thingy53_nrf5340_comm.dtsi

nRF21540 RF FEM的软件配置
• 设置固定的TX_POWER和固定的GAIN_DB
CONFIG_BT_CTLR_TX_PWR_ANTENNA=0
CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=10
如前面所说,如果没有配置mode select,那么这里选择的TX_GAIN_DB=10或者TX_GAIN_DB=20必须要与你的引脚相对应.
• 在发送模式(Transmit mode)下,PIN_TRX引脚的RF I/O输入功率最大值为+5 dBm
意思就是下面的配置方式是错误的:
CONFIG_BT_CTLR_TX_PWR_ANTENNA=20
CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=10
+5 dBm 是transmit_mode绝对最大额定值,长时间暴露在这些极限条件下可能会影响设备的可靠性
• 动态调整输出功率:
CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y
bt_hci_cmd_send_sync(BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL, buf, &rsp);
• 查看整板对应的输出功率呢?
MODE 脚为高电平时,FEM 工作在 POUTB(如 +10 dBm)模式
通过读相应的寄存器,查看SOC输出的total power。
以52840为例:nrfjprog --memrd 0x4000150c --n 4
