Zigbee电源管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CC2430DB的电源管理 1

1.目的

本文档介绍了使用的电源管理理念后,德州仪器在Z - Stack(TM)的ZigBee协议栈构建的应用程序的Chipcon公司CC2430DB。电源管理是一般由电池供电的设备将通过各种睡眠模式,无活动期间使用时间的电池寿命。

2.定义

MAC - 媒体访问控制软件,实现了IEEE 802.15.4通信功能。

MCU - 微控制器单元 - 8051处理器的嵌入式系统芯片CC2430片上CC2430DB板上。

OSAL - 操作系统抽象层 - 独立于平台的任务处理提供了与Z - Stack的。

Sleep - 一个行动中的某些功能被禁用,以降低功耗MCU模式消费。 CC2430的基础之上提供了三种不同的睡眠模式,其中两个是使用了Z - Stack。

End Device - ZigBee的设备,,加入网络但是没有路由功能,通常空闲时关闭其接收器。这就要求其父设备持有,直至最终的信息,其信息设备调查。

3.什么是电源管理

电源管理被使用电池供电终端设备,尽量减少短暂无线电通信之间的功耗。通常,一个终端设备禁用功耗的外设和空闲期间进入睡眠模式。 Z - Stack还提供了两种睡眠模式,轻度休眠和深度休眠指定。轻度睡眠在系统统需要唤醒去执行与预定时间延迟的活动时被使用。深睡眠被使用的是没有未来的活动计划,需要外部刺激(如按一个按钮)唤醒设备时。轻度睡眠普遍降低功耗到几毫安,而深睡眠减少到几微安。睡眠的终端设备的例子产品包括,传感器,它被定时的唤醒报到他们采集到得信息,还有远程控制设备,它被用户按键唤醒,发送邮件时。在这些类型的设备共同特点是,他们用他们在大部分时间处于睡眠模式,最大限度地减少功耗。

4. Z-Stack怎么控制睡眠模式

电源管理是使用电池供电终端设备,尽量减少功率之间的预定活动(轻度睡眠),或在不活动(深睡眠)长期短暂消费。系统活动在每个任务完成后被OSAL主控回路监控。如果没有任务有一个活动计划,电源管理功能启用,该系统将决定是否睡觉。符合下列条件都必须符合该设备进入睡眠模式,以:

-睡眠POWER_SAVING编译选项启用

-ZDO节点描述显示“RX是空闲时关闭”。这是通过设置RFD_RCVC_ALWAYS_ON在f8wConfig.cfg为FALSE。

所有的Z - Stack的任务“同意”允许睡眠

-Z - Stack的任务,没有安排活动

-MAC没有预定活动

Z-Stack 中终端设备的工程项目在默认情况下没有电源管理功能。要启用此功能,POWER_SAVING编译选项在工程建立的时候必须被指定。如下图所示,此选项是划归C预处理器选项卡/ C + +编译选项框中定义的符号:

为了减少功耗到最低程度,终端设备,需要将尽可能多地把电子电路关掉,在进入睡眠模式之前。这包括外围设备,无线电接收器和发射器,以及单片机本身的重要部分。为了避免在睡觉时丢失信息,终端设备的父设备需要持有子节点的信息,直至终端设备接收到这些信息。父设备“知道”,终端将接收到信息,当能量在终端设备间交流,请求CAPINFO_RCVR_ON_IDLE 关闭,在Z - Stack的工程中,默认设置,设备功能ZDO_Config_Node_Descriptor结构中被指定,在ZDConfig.c文件中。默认的终端设备,只说明CAPINFO_DEVICETYPE_RFD,表明它是电池供电,并关闭其接收器空闲时:

NodeDescriptorFormat_t ZDO_Config_Node_Descriptor =

{

#if defined( ZDO_COORDINATOR ) && !defined( SOFT_START )

NODETYPE_COORDINATOR,

#elif defined (RTR_NWK)

NODETYPE_ROUTER,

#else

NODETYPE_DEVICE, // Logical Type

#endif

0, // User Descriptor Available is set later.

0, // Complex Descriptor Available is set later.

0, // Reserved

0, // NO APS flags

NODEFREQ_2400, // Frequency Band

// MAC Capabilities

#if defined (RTR_NWK)

(

#if defined( ZDO_COORDINATOR ) || defined( SOFT_START )

CAPINFO_ALTPANCOORD |

#endif

CAPINFO_DEVICETYPE_FFD |

CAPINFO_POWER_AC |

CAPINFO_RCVR_ON_IDLE ),

#else

CAPINFO_DEVICETYPE_RFD

#if ( RFD_RCVC_ALWAYS_ON == TRUE)

| CAPINFO_RCVR_ON_IDLE

#endif

,

#endif

{ 0x00, 0x00 }, // Manfacturer Code - *YOU FILL IN*

MAX_BUFFER_SIZE, // Maximum Buffer Size.

// The maximum transfer size field isn't used and spec says to set to 0.

{0, 0},

( 0

相关文档
最新文档