公司主页 文档归类 淘宝

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.c 和 ExtFlash.h ExtFlash.c 和 ExtFlash.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 BLE5.0 CC2640R2F Evaluation Board功耗测量相关推荐

  1. CC2640R2F BLE5.0 CC2640R2F/BLE5.0 距离测试

    说明 本文根据使用成都乐控畅联公司自主设计的开发板进行距离测试,同时对比官方LaunchPad.测试环境选在城市公路边,无线环境比较复杂.本公司的测试结果仅供参考. 软件环境 SmartRF Stud ...

  2. CC2640R2F BLE5.0 CC2640R2F软件架构

    软件架构 开发模型 下图展示CC2640R2F支持的两种开发模型,本文讲解都集中在图一,也就是整个ble协议栈和应用都工作在一个CC2640R2F的单SOC解决方案. 单一设备:Controller. ...

  3. CC2640R2F BLE5.0 CC2640R2F UART驱动

    UART驱动 这一节我们讲一下UART驱动的分层实现,UART APIs以及如何调用UART APIs来实现基本的串口打印. 概述 UART用于芯片和串行端口之间的数据传输,UART驱动程序经过多层的 ...

  4. CC2640R2F BLE5.0 CC2640R2F增加一个具有通知属性的characteristic

    CC2640增加一个具有通知属性的characteristic 介绍 本章使用simple_peripheral作为实验平台.创建一个自定义属性的characteristic.simple_perip ...

  5. CC2640R2F BLE5.0 TI-RTOS概述

    TI-RTOS概述 TI-RTOS是CC2640R2F设备上低功耗蓝牙项目的运行环境.TI-RTOS内核是传统SYS/BIOS内核的定制版本,是一个具有驱动程序,同步和调度工具的实时抢占式多线程操作系 ...

  6. CC2640R2F BLE5.0 开发向导

    入门 磨刀不误砍柴工,这个章节我们先详细讲解TI SimpleLink低功耗蓝牙无线MCU CC2640R2F的学习路线图.无论你是经验丰富还是才入门的的开发人员,TI都提供了各种资源,以简化CC26 ...

  7. CC2640R2F BLE5.0 BLE吞吐量测试

    BLE吞吐量测试 介绍 本章分别测试了TI CC2640R2F LuanchPad和LECONIOT CC2640R2F Evaluation Board开发板吞吐量.我们提供了两个例程供大家参考测试 ...

  8. CC2640R2F BLE5.0 CC2640R2BLE5.0开发文档

    CC2640R2&BLE5.0开发 关于我们 关于我们 开发板介绍 文章所有代码.工具.文档开源.加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5. ...

  9. CC2640R2F BLE5.0 蓝牙协议栈GAP Bond管理和LE安全连接

    GAP Bond管理和LE安全连接 GAP Bond Manager是一个可配置的模块,使用Bond manager后应用程序可以减少大部分安全机制.下表列出了术语. 术语 描述 配对(Pairing ...

最新文章

  1. SCCM2012R2七:msi软件分发和卸载
  2. docker tensorflow-jupyter简单使用
  3. plsql窗口文件怎么找回_电脑文件丢失怎么找回?知道原因和方法很关键
  4. AtCoder AGC037E Reversing and Concatenating
  5. XML中预定义好的实体
  6. java.library.path到底指什么
  7. suse10 linux安装,SuSE10.2 安装手记
  8. [html] link标签的属性media有哪些值?都有什么作用?
  9. Android 客户端与服务器交互方式
  10. C++回调函数(callback)的使用
  11. oracle 高级用法, DECODE 排序, OVER(PARTITION BY X ORDER BY Y DESC) 开窗函数
  12. grunt打包压缩css、js方法
  13. linux中用tailf实时观看tomcat日志
  14. iMazing2.14.6Mac最新版iOS苹果设备管理器
  15. 《深入剖析Tomcat》序言
  16. CURA汉化 语言修改 本地化 locale
  17. 7-6 最热门的职业
  18. 2021年会议平板十大品牌榜中榜,十大会议平板品牌销量排行榜
  19. 视频会议及流媒体十大开源项目
  20. 浅读《解密社群粉丝经济学》几点观点

热门文章

  1. Nokia 6030默认保密码
  2. 百度Apollo自定义安装第三方库(以libtorch为例)
  3. linux游戏移植,英特尔移植AMD编译器代码可将Linux游戏性能提高10%
  4. C语言--实现(三)井子棋小游戏(基础版)
  5. 新旧电脑无流量数据备份_电脑数据转移_电脑数据同步_不需要流量的电脑数据同步_将旧电脑的数据同步到新电脑
  6. tkinter基本概念
  7. [Paper Note] Densely Residual Laplacian Super-Resolution
  8. thinkjs连接mysql_ThinkJS入门+实例(实现认证权限等基本功能)
  9. 旺财和小强的三生三世
  10. 计算机编程 英语词汇