微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > cc2530在osal调度下I/O中断唤醒PM2需要设置时钟吗?

cc2530在osal调度下I/O中断唤醒PM2需要设置时钟吗?

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

我利用osal_start_timerEx定时20秒,让芯片休眠20秒,处于PM2

在这休眠时间之内,我用红外信号输入P0.4,通过中断将其唤醒,然后在P0中断内启动T1,以32MHz的时钟标记对红外信号进行解码

结果发现,解码出来数值基本偏小好多,而且要等几秒钟才能跟协调器通信,我怀疑是时钟没恢复成32MHz

想问一下大神们,用I/O中断将2530从PM2中唤醒,并且马上回复成32Mhz,需要在中断服务例程中设置什么吗?

PS:最最奇怪的事是,如果我把所有定时的event都stop掉,让芯片进入PM3深度睡眠,这时再用I/O中断唤醒,发现中断例程能马上以32MHz正常工作,T1解码结果正确,而且能马上与协调器正常通信

不需要做晶振相关的配置,但是从PM2到Active是需要时间的,数据手册上的值是0.1ms

V V:

我使用芯片cc2530,将

1.工程中添加POWER_SACING

2.DRFD_RCVC_ALWAYS_ON=FALSE

3.pwrmgr_attribute.pwrmgr_device = PWRMGR_BATTERY;

我在程序里每5s发送一次数据,其余时间希望他睡眠,用示波器看并没有进入PM2模式。

我该如何设置工程进入PM2 模式?

睡眠时间跟你的系统的事件有关,如果你的设备是end device。 还有一个周期性为1s的data request poll事件,

你尝试把f8wConfig_cfg中四个DPoll_RATE设为0,再测试下!

也可以参考别人的测试方法

http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/45598.aspx 

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

网站地图

Top