TI中文支持网
TI专业的中文技术问题搜集分享网站

关于发送Beaconrequest的次数和功率问题

协议栈Home1.2.2a中(什么都没修改)

1、每一个周期发送几次BEACON_REQUEST。

2、

 ZStatus_t NLME_NetworkDiscoveryRequest( uint32 ScanChannels,
uint8 scanDuration);这个函数会执行几次BEACON_REQUEST的发送,一次还是三次?

3、如果2的答案是3次的话,ZStatus_t NLME_NetworkDiscoveryRequest( uint32 ScanChannels,
uint8 scanDuration);中scanDuration指得是一个周期内每个BEACON_REQUEST的间隔时间,还是整个周期的总时长。

4、在BEACON_REQUEST的发送过程中,芯片的接收是不是一直打开,持续到下一次BEACON_REQUEST的发送,所以芯片的大功率会持续整个BEACON_REQUEST的间隔时间,我理解的对不对?

YiKai Chen:

1. 每一个周期指的是什麼?
2&3. ScanChannels裡的每一个channel发送一次
4. 是

user5281211:

回复 YiKai Chen:

3、按照e2echina.ti.com/…/75525第4条的说法,把发送Beacon Request间隔增大,可以降低功耗.可是按照您对3的解答,增大Beacon Request间隔,芯片接收的打开时间相应地增长,这不是反而会提高功率嘛?

YiKai Chen:

回复 user5281211:

這要看你指的Beacon Request间隔是什麼意思的吧?

user5281211:

回复 YiKai Chen:

我可能是弄错意思了,我现在理解的scanDuration既是两个Beacon request之间的间隔,也是发送一次Beacon request芯片接收打开的时间。请问这样理解对吗

user5281211:

我理解的scanDuration指的是单次NLME_NetworkDiscoveryRequest或NLME_OrphanJoinRequest中扫描的时间长度。因为只有上次扫描结束后才能开始下一次扫描,所以Beaconrequest间隔肯定要大于scanDuration,应该大致等于

(uint16)(NWK_START_DELAY+ ((uint16)(osal_rand()& EXTENDED_JOINING_RANDOM_MASK)))+scanDuration。所以我们要通过增大Beaconrequest间隔来降低功耗的话,不应该增大scanDuration(因为在scanDuration内,芯片的接收机是一直打开的,持续高功耗),而是应该增大EXTENDED_JOINING_RANDOM_MASK。

请问我的理解是不是对的?

user5281211:

我理解的scanDuration指的是单次NLME_NetworkDiscoveryRequest或NLME_OrphanJoinRequest中扫描的时间长度。因为只有上次扫描结束后才能开始下一次扫描,所以Beaconrequest间隔肯定要大于scanDuration,应该大致等于

(uint16)(NWK_START_DELAY+ ((uint16)(osal_rand()& EXTENDED_JOINING_RANDOM_MASK)))+scanDuration。所以我们要通过增大Beaconrequest间隔来降低功耗的话,不应该增大scanDuration(因为在scanDuration内,芯片的接收机是一直打开的,持续高功耗),而是应该增大EXTENDED_JOINING_RANDOM_MASK。

请问我的理解是不是对的?

赞(0)
未经允许不得转载:TI中文支持网 » 关于发送Beaconrequest的次数和功率问题
分享到: 更多 (0)