无线模块的功率是一个很重要的参数,它对模块的工作性能有很大的影响。开发人员有必要在合适的时候选择适当的功率,以便于在模块工作时间和性能之间取得平衡。
本文讲述如何对无线模块的功率进行设置。
一般来说,调制功率可以从软件入手,也可以从硬件入手。从软件入手,就是修改相应的寄存器。通常芯片的参考手册都会有关于调整功率的描述。以SX1262为例,该芯片与输出功率有关的命令有两条,一条是SetPaConfig,另一条是SetTxParams。SetPaConfig设置的参数有paDutyCycle 、hpMax、deviceSel。其中,paDutyCycle 控制芯片功放的占空比,并且最大输出功率,功率消耗,谐波会随着功率周期的变化而急剧变化。应根据推荐的值进行设置。hpMax则是控制芯片的输出功率上限,有四个值可以选。deviceSel是选择使用的设备类型。在设置好输出功率的的功率等级之后,我们应该用命令SetTxParams设置具体的输出功率值。该命令有两个参数,一个是power,一个是RampTime。其中power代表具体的输出功率值。根据选择的功率范围不同,power也有不同的取值范围。当选择低功率上限时,power取值的范围在- 17 (0xEF) t到+14 (0x0E) dBm之间;当选择大功率的上限时,power取值的范围在- 9 (0xF7) 到 +22 (0x16) dBm之间。RampTime可以根据推荐的值进行选择。
最后应该通过设置寄存器进行设置功率。以下参考的设置:
voidSX1262SetPaConfig(void)
{
uint8_t CmdBuf[5];
CmdBuf[0] = SetPaConfig;
CmdBuf[1] = 0x04;//paDutyCycle
CmdBuf[2] = 0x07;//hpMax
CmdBuf[3] = 0x00;//deviceSel
CmdBuf[4] = 0x01;paLut reserved and always0x01
SPIWriteCmd(5, CmdBuf);
}
voidSX1262SetTxParams(void)
{
uint8_t CmdBuf[3];
CmdBuf[0] = SetTxParams;
CmdBuf[1] = 0x16; //22DBM
CmdBuf[2] = 0x00;//RampTime
SPIWriteCmd(3, CmdBuf);
}
不同芯片修改功率的方法各不相同。请参考对应芯片对应的手册进行修改功率。
除了软件设置,我们还可以从硬件方面入手。比如说某些应用场景下要求较远的传输距离,一般的小功率模块的输出功率可能不足。此时我们应考虑大功率的模块。例如,思为无线根据客户的不同需求,生产了很多不同功率的模块,以Lora系列的数传模块为例,有100mW、1W、5W、30W的模块可供客户选择。此时,无线模块的最大输出功率尤其自身硬件决定。用户可以根据自己的实际需求选择合适的无线模块。
以上就是对无线模块功率调整的一些总结,希望能对您有所帮助。