微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2530采用协议栈时工作在PM2模式时的电流消耗

CC2530采用协议栈时工作在PM2模式时的电流消耗

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

我对基于Zstack的SampleApp例程的终端节点进行了PM2模式下的功耗测试,测试结果是:

休眠时:5mA

唤醒后发送数据时:11mA

“Power Management For The CC2530.pdf”文档第3节中提到,Timer Sleep模式(PM2)下的电流消耗是几个mA,

而CC2530数据手册上说,PM2模式下的内核电流消耗典型值为1uA,最大值为2uA。

我想问的是,CC2530基于ZStack时PM2模式下的电流消耗就是在几个mA的级别吗?

如果是这样,一块700mAh,3.7V的锂电池,只是工作在睡眠状态下,就只能够支撑700mAh/5mA=140小时(约5.8天)

这个时间其实并不能够满足低功耗组网定时数据采集的需求啊?

能帮忙解答一下我的疑惑吗?

非常感谢!

附上我的设置Zstack进入低功耗PM2模式的方法,请指正:

1.开启POWER_SAVING 预编译

2.f8wConfig_cfg 中的RFD_RCVC_ALWAYS_ON=FALSE

3.f8wConfig_cfg中四个DPoll_RATE设为0

4.ZGlobals.c中三个PollRate设为0

5.Onboard.c文件中,OnboardKeyIntEnable=HAL_KEY_INTERUPT_ENABLE

6.hal_drivers.c中if(!Hal_KeyIntEnable)中的语句关掉

7.osal_pwrmgr_init(void)中pwrmgr_attribute.pwrmgr_device=PWRMGR_BATTERY

你是通过什么方法测试的?万用表?

首先你需要确定到底程序有没有进入休眠

1) 进入休眠函数断点调试

3)用示波器测试32M晶振是否间歇性工作,用示波器测

2)通过串入供电电路,一个10电阻,然后看具体的工作过程!

谢谢您的回复!

针对您提到的方法,我都进行了实验,结果如下:

1、程序能够进入休眠函数所设置的断点,由此初步判断实现了进入休眠的功能;

2、通过示波器观测到32M晶振正是间歇性工作,间歇周期与我设定的应用层周期性发送数据的周期基本一致;

3、示波器测试串入电阻(10R,0.1%精度)的电压值为35mV左右,换算得到休眠电流为3.5mA

但是与此同时我在该电阻旁串入一个mA档的万用表,测得的电流值为0.3mA左右。这两种方式测得电流值相差差不多有10倍。

我把板子的外围器件基本都去掉了,包括串口芯片也去掉了,LED也断开了。

不知道为什么会有这个相差10倍的问题?

非常期待您的回复!

用示波器测电压?个人觉得不当

7206.4604.swra292AN079 -- Measuring Power Consumption of CC2530 with Z-Stack.PDF

VV您好,我就是按照您提供的这个文档中的测试方法进行测试的,结果就是上面所说的,万用表的测试结果与示波器测电压换算得来的电流值相差10倍,不知道为什么?

你试着把休眠时间加长,然后用数字万用表测,这样也能直接看到休眠电流。

VV您好

   我这面遇到一个问题想向您询问一下:

         CC2530芯片开启定时器唤醒时,休眠电流为0.8uA左右;在休眠函数中添加外部中断函数,休眠电流为10uA左右,休眠电流增加了好多,是因为开启了外部中断(IO口中断)造成的么?

        另外:CPU在休眠状态被外部中断唤醒后,处理中断函数时,CPU处于PM0模式;处理完中断函数后,CPU恢复休眠么?

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

网站地图

Top