QQ2355892364的个人空间 https://www.eechina.com/space-uid-157723.html [收藏] [复制] [RSS]

博客

2.4G无线射频芯片CC2530发射功率的资料分享

已有 426 次阅读2019-10-12 17:18

CC2530发射功率的一些资料

CC2530发射功率可编程范围:4.5dBm~-27.5dBm,Z-Stack可设置范围:-22dBm~+3dBm,发射功率和设置值的对应关系在工程文件mac\low_level下的mac_radio_defs.c中的 const uint8 CODE macRadioDefsTxPwrBare[]中定义,该常量数组并只包含部分建议值,只要取值在最大值0xF5和最小值0x05之间均有效。注意:发射功率与消耗功率不同,消耗功率远大于发射功率(射频输出功率),因为RF发射器(CC2520)本身要消耗能量以产生射频信号,比如输出0dBm的无线信号需要29mA电流,3.3V下约为100mW,而0dBm=1mW。

不同版本的ZStack发射功率设置方式及默认值不同:
1)ZStack-CC2530-2.3.0-1.4.0及以前版本设定方法:在工程文件COMPONENTS\mac\low_level下的mac_radio_defs.h文件中设置初始值
#define MAC_RADIO_CHANNEL_DEFAULT               11  //2440HZ
#define MAC_RADIO_TX_POWER_DEFAULT              0x32 //约为-17dBm

一般在协议栈初始化的时候会按初始值配置发射功率,如果程序里面需要修改发射功率,可按以下方式:
并在工程文件mac\low_level下的mac_radio.c的MAC_INTERNAL_API void macRadioSetTxPower(uint8 txPower) 函数中完成赋值设置,该函数调用被封装屏蔽,函数中在临界区通过语句reqTxPower = txPower;将txPower赋值给reqTxPower,然后调用macRadioUpdateTxPower()函数更新发射功率,操作语句为:
macPhyTxPower = reqTxPower;
MAC_RADIO_SET_TX_POWER(macPhyTxPower);//设置寄存器TXPOWER为macPhyTxPower

所以调整发射功率三种方法:
1.修改初始值#define MAC_RADIO_TX_POWER_DEFAULT              0x32
2.修改macRadioSetTxPower()函数中的 reqTxPower为欲设定值,协议栈会自动调用该函数设定发射功率
3.在应用中自行调用macRadioSetTxPower()函数设置发射功率。
2)ZStack-CC2530-2.3.0-1.4.0以后的高版本增加了对CC2533芯片的支持,其发射功率范围为-21dBm~+4dBm,

设定方法为:
新版本中工程文件mac\high_level下多了mac_pib.c文件,用以设置发射功率初始值,并去掉了MAC_RADIO_TX_POWER_DEFAULT变量。mac_pib.c文件中的static CODE const macPib_t macPibDefaults变量有以下 语句:
#IF defined (HAL_PA_LNA)
19,                                         /* phyTransmitPower for CC2591 */
#elif defined (HAL_PA_LNA_CC2590)
11,                                         /* phyTransmitPower for CC2590 */
#else
0,
分别19、11、0对应功放CC2591、CC2590、不带功放的默认发射功率,单位为dBm值,可在这里完成初始值的修改。
此外新版本仍可以通过调用macRadioSetTxPower函数来修改发射功率。

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部