用户工具

站点工具


侧边栏

CC2640R2&BLE5.0开发

关于我们

入门开始

视频教程

外设驱动

开发BLE应用

工具集

其他

cc2640r2f:power_consumption

这是本文档旧的修订版!


CC2640R2F Evaluation Board功耗测量

简介

蓝牙低耗能标准在开发过程中就考虑到了长电池寿命, 可支持器件依靠单节纽扣电池运行数年。我们假定读者对基本的电气功能概念有所了解, 并了解如何使用示波器和外用表等实验室测试设备。
本文使用SimpleBLEPeripheral示例程序进行功耗测量并使用TI的 CC2640R2F LuanchPad开发板和我公司的CC2640R2F Evaluation Board开发板进行对比。请注意,本文档中提供的结果旨在提供指导。各种各样的因素都将影响蓝牙低产品的功耗。您应针对目标应用方案在受控环境中于硬件上执行测量。

硬件环境

  • TI CC2640R2F LaunchPad开发板
  • CC2640R2F Evaluation Board开发板
  • DS1102E示波器
  • 外用表
  • APS3005D电源

    软件环境

  • IAR Embedded workbench 7.80.3
  • BLE-STACK V3.0.1
  • flash_programmer 2
  • BTool

协议栈和IAR安装参考CC2640R2 BLE 开发环境搭建,本例程需要使用Btool,有关BLE Device Monitor使用介绍请参考: BTool。 本文中使用的所有工具可以在CC2640R2开发工具集介绍里获得。

SimpleBLEPeripheral修改

包含在 BLE-Stack 中的通用样例应用 simple_peripheral 非常适合用于分析单独运行在无线 MCU 上的蓝牙低耗能协议的功耗。有关simple_peripheral的编译运行说明请参考编译第一个工程(simple_peripheral)运行第一个例程(simple_peripheral)。要获取纯粹的蓝牙低耗能协议分析, 需要按照表 5 中所述在 simple_peripheral 样例应用中进行一些修改。 之所以需要进行修改, 是因为我们的目的是测量 BLE 堆栈单独产生的电流消耗, 因此必须关闭额外的应用处理。

功能 说明
周期性事件 发生的唯一应用处理是在建立连接后开始的周期性事件。要从应用中清除周期性事件,只需注释掉simple_peripheral.c文件中 SimpleBLEPeripheral_processStateChangeEvt 函数的GAPROLE_CONNECTED用例中的以下源代码行://Util_startClock(&periodicClock) ;注释掉该行之后, 就绝不会再设置第一个周期性事件的RTOS计时器。
LCD 通过在预定义的符号中添加Display_DISABLE_ALL来禁用所有屏幕。在CCS中,转到“Project Properties”→“Build”→“ARM Compile”→“Advanced Options”→“Predefined Symbols”→“Pre-define NAME”。 在 IAR 中, 转到“Project Options”→“C/C++ Compiler”→“Preprocessor”→“Defined symbols”。
连接参数更新 在建立连接后不久, 会从外围器件发出自动连接参数请求。 它使用simple_peripheral.c中定义的参数。 在执行测量任务时, 删除该功能并通过对等器件直接控制连接参数会更加便利。在simple_peripheral.c中,将DEFAULT_ENABLE_UPDATE_REQUEST define更改为GAPROLE_LINK_PARAM_UPDATE_WAIT_REMOTE_PARAMS,如下所示:#defineDEFAULT_ENABLE_UPDATE_REQUESTGAPROLE_LINK_PARAM_UPDATE_WAIT_REMOTE_PARAMS
添加ExtFlash.cExtFlash.h ExtFlash.cExtFlash.h 位于 TI-RTOS 中间件中。通过转到“Project”→“Add Files”将其添加到SBP 应用项目中。此外,使用以下命令将其包含在 simple_peripheral.c 中:#include <ti/mw/extflash/ExtFlash.h>
关闭外部闪存 通过调用 ExtFlash_open();ExtFlash_close() 打开和关闭外部闪存;(在SimpleBLEPeripheral_init()中)
睡眠时进入standby模式 通过在预定义符号中添加POWER_SAVING。转到“Project Options”→“C/C++ Compiler”→“Preprocessor”→“Defined symbols

CC2640R2F Evaluation Board配置

为了获取不受干扰的电流测量结果,应拆除CC2640R2F Evaluation Board开发板上的跳线。下图显示了已拆除所有跳线的开发板。请注意:拆除JTAG跳线后,芯片的编程和调试功能将变得不可用。外置电源连接3.3V供电接口和GND进行供电,连接下图中蓝色方框部分的供电接口。

BTool设置

如下如所示,在形成连接之前,应使用正确的连接参数。可以根据您的应用选择合适的参数,这里设置的是1秒的连接间隔和0的从机延迟。因此,确保输入这些值后选择"Set"按钮。

外设以通电并且成功连接之后,您可以在BTool界面的"Device Information"字段中看到已连接的外围设备,如图所示。

广播状态功耗测试

我们设置以下几个广播间隔进行功率测试:100ms、500ms、1000ms。

蓝牙状态 广播间隔 TI LaunchPad平均电流值 CC2640R2F Evaluation Board平均电流值
广播 100 ms 81.3 uA 77.2 uA
广播 500 ms 10.6 uA 13.1 uA
广播 1000 ms 6.9 uA 7.0 uA

如下图所示。这是在广播周期为100ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

如下图所示。这是在广播周期为500ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

如下图所示。这是在广播周期为1000ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

连接状态功耗测试

我们设置以下几个连接间隔进行功率测试:20ms、100ms、500ms、1000ms。

蓝牙状态 连接间隔 TI LaunchPad平均电流值 CC2640R2F Evaluation Board平均电流值
连接 20 ms 269.6 uA 259.8 uA
连接 100 ms 61.2 uA 58.3 uA
连接 500 ms 7.1 uA 7.0 uA
连接 1000 ms 6.9 uA 7.0 uA

如下图所示。这是在连接间隔为20ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

如下图所示。这是在连接间隔为100ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

如下图所示。这是在连接间隔为500ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

如下图所示。这是在连接间隔为1000ms使用示波器和外用表获取平均电流信息。示波器两端探头并联一个10欧电阻。测量的平均电压值(平均电流值=平均电压/10)。图中打印了所有参数。作为对比,其中左边为示波器打印的TI CC2640R2F LaunchPad的数据,右边为示波器打印的CC2640R2F Evaluation Board打印的数据。下图中还展示了使用外用表显示的平均电流值,同样左边为TI CC2640R2F LaunchPad的平均电流值。右边为CC2640R2F Evaluation Board的平均电流值。

加入我们

文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.

cc2640r2f/power_consumption.1504168239.txt.gz · 最后更改: 2021/06/22 23:14 (外部编辑)