微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2530功耗问题

CC2530功耗问题

时间:10-02 整理:3721RD 点击:

CC2530终端节点在定义了POWER_SAVING后,当节点加入网络系统才可以进入睡眠状态。如果此时断开了网络,系统还是可以进入睡眠,功耗仍然很低,只有当收索网络时才电流才会急剧升高(重新加入网络状态)。考虑到开机加网络时功耗居高不降,所以我觉得如果在节点开机的时候节点就能进入睡眠状态,只有当收索网络时电流才增高,这样相比起来会节能很多。问题在于有没有方法让节点一上电就跟重新加入网络的状态一样呢?(本人初学者,协议栈不是很懂,望大神指教)

你是希望节点一上电就加入原有网络,省去搜索网络这一步,以此降低功耗吗?

不是,TI官方的协议栈不是有一个进入睡眠的标志么,系统初始化后连网时是不能进入睡眠模式的,只有连上网时会调用osal_pwrmgr_device()让系统能够进入睡眠,现在我想让体统初始化的时候就调用osal_pwrmgr_device函数,这样做会使得系统一上电就能进入睡眠,只有在扫描网络的时候电流才上升。这样做连网的时候可能一下子连不上,但有没有其它影响我不是很清楚,望指教!我的项目主要是要使收索网络时功耗尽可能的底,通信距离十几米就够了。

你可以用

/*
 * ZDApp_StopJoiningCycle
 *    - Stops the joining or rejoining process of a device.
 *
 *    returns  TRUE if joining stopped, FALSE if joining or rejoining
 */
extern uint8 ZDApp_StopJoiningCycle( void );

我也遇到类似的问题,终端联网后可以正常休眠,功耗很低,但关闭协调器后,终端一直处于搜索网络状态,不能进入休眠(我感觉是没有休眠),电流一直在20-30ma。

刚刚学习zigbee,不清楚是什么问题,是否可以让终端离网后间隔一段时间搜索一次网络,其它时间休眠。

新手,望指教。

@william

当失去父节点以后,节点会先发出orphan然后会以rejoin的方式去加网络,因为对于节点来说加入网是首要的任务。

如果不想让节点不停的去搜索网络的话,可以extern uint8 ZDApp_StopJoiningCycle( void );,把搜索网络关掉,或者开一个定期把搜网的周期拉大

请问您做出来了么?

@VV

非常感谢您的解答!

我目前采取的是搜索网络失败后调用ZDApp_StopJoiningCycle( void )停止搜索,然后强制休眠,休眠醒来后重新搜索,如此循环,直到有网络加入。

目前测试下来可以减少搜索网络带来的功耗,不知道这样是否对系统造成影响,或者对长时间运行带来不稳定性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top