微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 请指教,Z-Stack 2530协议栈中低功耗休眠设置的问题

请指教,Z-Stack 2530协议栈中低功耗休眠设置的问题

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

您好:

我用的协议栈版本是:ZStack-CC2530-2.2.0-1.3.0

想做一个应用:终端节点入网完成以后进入休眠模式,然后通过外部中断的方式唤醒后发送数据并接受确认,之后再次进入休眠模式等待下一次的外部中断唤醒。

但是我发现协议栈使能POWER_SAVING之后使用的是周期性休眠-唤醒机制,请问该如何设置呢?

目前协议栈主要使用的是PM2模式,也就是休眠定时器工作的,主要是因为系统有些事件需要去poll,需要定时来做事件的唤醒,所以不能进入PM3模式,一旦进入PM3以后只能通过Reset或者IO外部中断才可以唤醒了。

如果你要求进入PM3模式的话,你需要确认在进入休眠的时候,你的系统是不是还有事件在poll,或者可能会发生。如果没有的话,拿timeout就是0,就自动进入PM3模式的了

具体在hal_sleep函数里面。

您好:

非常感谢你的回复!

我在普通终端节点入网完成之后在进入深度休眠模式,应用层只是在被外部中断唤醒之后设置一段延时,接收串口数据,并进行无线收发,这样就不存在你指的poll了吧,敬请指教!

如果你是用了TI的Z-stack的话,那么在z-stack里面是有一个OSAL的操作系统的,是基于时间片的也就是轮询机制,所以一些底层事件的处理,都是通过poll来实现的。

这个我明白,那我现在主要就是想进入深度休眠(DEEP SLEEP)模式,请问改怎么设置呢?

1 预编译 POWER_SAVING

2 设置-DRFD_RCVC_ALWAYS_ON = FALSE(f8wConfig.cfg)

3  OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE;(Onboard.c)

4 -DPOLL_RATE=0 

您可以参考链接 http://e2e.ti.com/support/low_power_rf/f/158/t/190159.aspx以及http://e2e.ti.com/support/low_power_rf/f/158/t/121992.aspx

您好!

请问下 我zigbee协议栈中,直接人为的设定halSleep(0);可是测定的电流是1.6mA 按理来说不应该是uA级别的吗?

已经按您给说的设定为低功耗了。求给指导下

把POLL_RATE也改成0.

另外看下外设是否还有在消耗电流

您好 vv大神

感谢您的回复。 

设置如下:

1.编译:POWER_SAVING

2.三个poll-rate 都设定为0

3.Key polling disabled  HalKeyConfig(HAL_KEY_INTERRUPT_ENABLE, OnBoard_KeyCallback);

4.电源初始化时用了pwrmgr_device = PWRMGR_BATTERY;

用的是最小的核心板 ,就一个led灯 ,可是测的电流就是ma级别。是不是其他的地方还需要设置下?我自己用这个核心板做基础测试,发现能进低功耗,但用协议栈就一直进不去  求VV大神给指导下

LED灯不要有输出,用精度高点的数字万用表测。

你好  我现在进入PM3的模式  外部中断唤醒之后,发送一个数据,外部有LED指示,LED已经反应了,但是Coor 没有接收到数据,抓包也没有发现

请问,PM3唤醒之后,怎么才能发送数据,需要判断当前设备处于那些状态吗?

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

网站地图

Top