Chinaunix首页 | 论坛 | 博客
  • 博客访问: 488050
  • 博文数量: 93
  • 博客积分: 1431
  • 博客等级: 上尉
  • 技术积分: 1006
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 10:30
文章分类

全部博文(93)

文章存档

2011年(20)

2010年(2)

2009年(71)

我的朋友

分类: 嵌入式

2011-07-20 15:57:54

ZSTACK 中发射功率设置问题

                               2010-11-4

一:

发现 ZSTACK 2530 RF 发射功率 其实并未 被设置成最大 ,而是 0xd5 1 dbm

最大可以设置 TXPOWER=0XF5,(4.5dbm) ,设置 位置 main 函数启动后

  osal_start_system(); // No Return from here  之前

背景资料:

摘自: http://nt1985.blog.163.com/blog/static/1232562702009629102438544/

发射功率:

传送范围的大小是和发射功率还有信道环境有关, 传送速率和传送范围之间没有直接联系。所以呢,适当的增大发射功率可增大传送范围。但也是有一定的限制的。具体详见datasheet

mac_radio_def.h里有可以设置:

#define MAC_RADIO_CHANNEL_DEFAULT               11

#define MAC_RADIO_TX_POWER_DEFAULT              0x1F

#define MAC_RADIO_TX_POWER_MAX_MINUS_DBM        25

这些只是举例说明一下,这些参数的意义,以及在z-stack里的什么地方修改。还有很多其它的参数,可以查看相关的源文件。

mac_radio_def.h

#define MAC_RADIO_SET_CHANNEL(x)            st( FSCTRLL = FREQ_2405MHZ + 5 * ((x) - 11); )

#define MAC_RADIO_SET_TX_POWER(x)            st( TXCTRLL = x; )

#define MAC_RADIO_SET_PAN_ID(x)              st( PANIDL = (x) & 0xFF; PANIDH = (x) >> 8; )

mac_radio_def.h 文件位置:

 

mac_radio.c  位置

 

mac_radio.c

 

MAC_INTERNAL_API void macRadioSetTxPower(uint8 txPower)

{

。。。。。。。。。。

    reqTxPower = pTable[index];

 

  /* update the radio power setting */

  macRadioUpdateTxPower();

}

 

MAC_INTERNAL_API void macRadioUpdateTxPower(void)

{

      macPhyTxPower = reqTxPower;

      MAC_RADIO_SET_TX_POWER(macPhyTxPower);

}

mac_radio_defs.h

#define MAC_RADIO_SET_TX_POWER(x)                     st( TXPOWER = x; )

并且通过给程序设置断点 运行发现,ZSTACK 里发射 功率也没有设定成 默认值

默认值在mac_radio_def.h里定义:

#define MAC_RADIO_TX_POWER_DEFAULT              0x1F

 

而是 0xd5 1 dbm ),那这是在 哪里 设置的呢?

研究发现

发射功率 mac_radio.c macRadioSetTxPower函数参数txPower 决定

由于我们 无法看到到底是 那里调用了函数macRadioSetTxPower ,所以对 ZSTACK 里发射 功率的设定情况并不清楚。不知道是哪里把 TXPOWER 设置成了0xd5

所以 最后的解决方案是:

在main 函数启动后,

  osal_start_system(); // No Return from here  之前

设置 TXPOWER=自己想要的值,参见   CC2530 数据手册 21

 

阅读(7764) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~