作者:MICH泪的矿脉AEI | 来源:互联网 | 2023-10-13 12:07
CC2530 CC2592 PA LNA HGM增强信号
PA 功率放大器 一般使能用于发送端,使发送功率放大
LNA 低噪音放大器 一般使能用于接收端 ,因为在放大微弱信号的场合,放大器自身的噪声对信号
的干扰可能很严重,因此希望减小这种噪声,以提高输出的信噪比
HGM 网上资料对这个HGM描述比较少,根据HGM设置对收发的影响,应该是设置1为高增益接收模式,设置0为低增益接收模式(具体什么是高增益低增益,我的理解也许是对信噪比的一个设置(也许有误,这里没必要纠结,以后如果接触了,再去研究))
PA,LNA 以及HGM 在不同场合的逻辑图:
我们可以知道,当发送端,PA_EN为1,LNA_EN为0;接收端,LNA_EN为1。
如果要实现两个ZIGBEE的通信,一般都是用官方例程(跑ZSTACK协议栈或者简单封装的非ZSTACK的协议栈),一般官方例程非ZSTACK的协议栈例程,发送端发送数据,一般接受端接收到发送端的数据,会返回ACK的确认信息,发送端要确认ACK是否正确,才确定发送是否完成,这种情况,发送端接受端要切换PA_EN LNA_EN。我尝试着去切换,往往会出现错误,这里如果非十分必要,不建议采纳用点对点非ZSTACK协议栈例程去实现信号增强。
.打开《广播组网-无线数据传输》例程(不一定是广播,点播,组播都可以,只要是STACK协议栈的例程都可以)在STACK协议栈例程里,从物理层到应用层,都封装好了,官方也考虑到CC2592的使用,预留了宏定义以及修改引脚的方式,来进行信号接收增强。
说明:我这里PA_EN 对应 P1.1 , LNA_EN 对应P1.0 ,HGM对应P0.7,如果你引脚不同,后会说明
修改如下:
修改hal_board_cfg.h文件里的#define xHAL_PA_LNA 去掉x
该文件在MAC/Low Level/System/mac_radio_defs.c
我的PA_EN为 P1.1 , LNA_EN为P1.0(HGM不在这里修改,只修改PA_EN,LNA_EN引脚)
只用修改OBSSELx ,以及引脚IO属性设置。比如,我修改PA_EN为P1.5,只用修改OBSSEL1为OBSSEL5,以及P1SEL &= ~0X20,P1DIR |= 0X20,其他不动。
在MAC/Low Level/Common下的mac_radio.c位置,在macRadioUpdateTxPower函数中,添加reqTxPower = 0xF5.(该值为最大功率,具体值对应的功率的小,可看下方参考文章链接里的文章)
在mac_radio_defs.h,找到该位置,将HGM硬件对应pin脚进行更改(我这里,HGM对应的是P0.7,根据你实际线路进行更改)
将HGM引脚,进行属性设置。根据你具体硬件所连位置而定。
将以上操作完成后,会明显感觉到传输距离以及信号强度变得理想。
参考文章:
1:https://blog.csdn.net/qq_34572705/article/details/80019556?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164733222216780269897031%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164733222216780269897031&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-3-80019556.142v2pc_search_result_control_group,143v4control&utm_term=CC2530HGM&spm=1018.2226.3001.4187
2:https://blog.csdn.net/menghuanbeike/article/details/70756551
如果有问题,请多多指教