This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc2538 低功耗模式

Expert 1480 points
Other Parts Discussed in Thread: CC2538, Z-STACK

请问:

CC2538  Z-Stack Home 1.2.2a.44539 ,如何使用低功耗模式,难道只需要配置  POWER_SAVING 就可以了,其他什么都不管了吗?

如何启用, 关闭, 调节睡眠周期呢? 该使用哪些函数,请问有这方面应用的详细文档吗?

在各种低功耗模式下,芯片自身功耗大概在哪个范围呢?

  • Power Mode 1 (4- μ s Wake-Up, 32 kB RAM Reference Designs Available retention, full register retention): 0.6 mA

    Power Mode 2 (Sleep Timer Running, 16-kB – RAM Retention, Configuration Register Retention): 1.3 μ A

    Power Mode 3 (External Interrupts, 16-kB RAM Retention, Configuration Register Retention): 0.4 μ A

    查看文档 Application Note: Power Management For The CC2538

  • 请问

    PM2,PM3 是否就是对应的 TIME SLEEP  和 DEEP SLEEP?

    另外根据说明 " To avoid loss of messages while sleeping, the End-Device’s parent needs
    to hold its messages until the End-Device polls for them. The parent device “knows” that the End-Device will poll
    for messages when the capabilities in the End-Device’s association request has CAPINFO_RCVR_ON_IDLE
    turned off. " 是否如此配置了后,终端节点睡眠期间,协调器会保存要发送的命令,等待终端节点醒来后自动来取命令,这个机制是z-stack 系统支持并自动完成,不需要人工参与?好像没有睡眠,终端可以继续保持和协调器的命令交互?

    举例。 终端设备默认 2分钟睡眠期间, 协调器发了一个命令ZCL_WRITE命令,修改睡眠周期为1分钟, 终端设备醒来后会自动向协调器取命令执行?


    谢谢!

  • 要进入 PM2, 首先,确认你的option的编译宏设置了   POWER_SAVING    osal_pwrmgr_device( PWRMGR_BATTERY );
        
    要进入 Pm3, 需要你没有 osal的定时器在跑。
    CAPINFO_RCVR_ON_IDLE请参照:
    http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/62393.aspx
  • 还是有些不太明白,

    举例说:只要按照官方要求配置, 终端节点周期运行PM2 模式。那么从用户使用角度来看和平时一样,其余都是协议栈底层做好了。终端和父节点操作方式和正常模式一样,只不过交互命令时间有延迟,不能低于一个睡眠周期。用户通过父节点像平时一样发送命令,终端可以响应命令,只不过等待时间长一些。

    只是想确认,

    正常模式, 父节点发ZCL 命令, 终端响应。

    PM2模式, 父节点发ZCL 命令, 终端响应,底层的父节点保留信息等待终端唤醒再发送,或者终端唤醒后向父节点请求数据都是底层协议完成的,对用户开发来讲不用关心?,用户只需关心父节点发送什么命令,以及终端节点收到命令后如何处理,是这样吗?

    谢谢!

  • DRFD_RCVC_ALWAYS_ON设为True时,相当于终端的接收是一直开启的,这样当有组播或广播消息时,终端可以马上收到消息而不需要发送data.request来查询是否有要发送给自己的数据。NWK_AUTO_POLL也就相当于被关闭了。您可以将         
    
     
    
     if ( ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE )
    
              {
    
                // The receiver is on, turn network layer polling off.
    
                NLME_SetPollRate( 0 );
    
                NLME_SetQueuedPollRate( 0 );
    
                NLME_SetResponseRate( 0 );
    
              }
    
     
    
    的0都改为f8wConfig.cfg文件的默认值。这样即使是单播数据也可以接收到了。
  • DRFD_RCVC_ALWAYS_ON设为True时 那么PM2, 的低功耗就没有多少优势了。 
    我想问的是,
    NWK_AUTO_POLL 打开
    DRFD_RCVC_ALWAYS_ON设为False 时 
    还有哪些这些低功耗配置按照官方配置好了后
    官方 Z-Stack 是否已经做好了 终端休眠唤醒后会自动 发送data.request查询父设备,父设备会将用户之前发生的命令只是保存在那里,
    等终端来请求的时候再发送给终端。这一整套机制是否已经支持了。还是需要用户自己去写完成实现这个机制?
    
    
    如果官方支持了除了以上提到的宏配置,还有哪些相关配置需要注意?
    
    
    谢谢!