最近在使用CC2650进行zigbee的开发,在测试低功耗时,如果程序启动后只执行主核任务,执行Task_sleep()后电流保持在2 uA以内,但是如果开启了射频核心进行发送,再使用该函数进行休眠时,电流为80 uA左右,参考了一些帖子,将MSA_DIRECT_MSG_ENABLED 宏定义改为 FALSE 之后,休眠电流下降到15 uA左右,请问是否可以彻底关闭射频核心使电流重新降至2 uA左右?同理,对于协处理器我还没有进行测试,协处理器是否可以启动后进行完全的关闭以降低静态功耗呢?
Viki Shi:
1、首先,如果完全关闭RF,那协议栈就无法工作了,尤其是协调器,为维护网络,是需要保持active的
2、zigbee协议里没有相关API,如果是私有协议,可以用CMD_FS_POWERDOWN,参考:e2e.ti.com/…/1626949
user6248300:
回复 Viki Shi:
您好,感谢您的回答,如果射频核心部分无法继续处理的话,那么请问使用协处理器执行传感器读取任务时,可以通过何种方式降低功耗呢?比如关闭协处理器的RTC计时或者直接关闭协处理器的任务?
Viki Shi:
回复 user6248300:
这里的CC2650是作为zigbee节点吧?无任务运行的情况下,TIRTOS会自动进入休眠,一般是standby 。为了维护网络,节点需要跟协调器定期通信,这里会有电流消耗,所以会比不跑协议功耗高一点