CC2640R2F BLE5.0 CC2640R2F Evaluation Board功耗测量
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。
© Copyright 2017, 成都乐控畅联科技有限公司.
CC2640R2F BLE5.0 CC2640R2F Evaluation Board功耗测量相关推荐
- CC2640R2F BLE5.0 CC2640R2F/BLE5.0 距离测试
说明 本文根据使用成都乐控畅联公司自主设计的开发板进行距离测试,同时对比官方LaunchPad.测试环境选在城市公路边,无线环境比较复杂.本公司的测试结果仅供参考. 软件环境 SmartRF Stud ...
- CC2640R2F BLE5.0 CC2640R2F软件架构
软件架构 开发模型 下图展示CC2640R2F支持的两种开发模型,本文讲解都集中在图一,也就是整个ble协议栈和应用都工作在一个CC2640R2F的单SOC解决方案. 单一设备:Controller. ...
- CC2640R2F BLE5.0 CC2640R2F UART驱动
UART驱动 这一节我们讲一下UART驱动的分层实现,UART APIs以及如何调用UART APIs来实现基本的串口打印. 概述 UART用于芯片和串行端口之间的数据传输,UART驱动程序经过多层的 ...
- CC2640R2F BLE5.0 CC2640R2F增加一个具有通知属性的characteristic
CC2640增加一个具有通知属性的characteristic 介绍 本章使用simple_peripheral作为实验平台.创建一个自定义属性的characteristic.simple_perip ...
- CC2640R2F BLE5.0 TI-RTOS概述
TI-RTOS概述 TI-RTOS是CC2640R2F设备上低功耗蓝牙项目的运行环境.TI-RTOS内核是传统SYS/BIOS内核的定制版本,是一个具有驱动程序,同步和调度工具的实时抢占式多线程操作系 ...
- CC2640R2F BLE5.0 开发向导
入门 磨刀不误砍柴工,这个章节我们先详细讲解TI SimpleLink低功耗蓝牙无线MCU CC2640R2F的学习路线图.无论你是经验丰富还是才入门的的开发人员,TI都提供了各种资源,以简化CC26 ...
- CC2640R2F BLE5.0 BLE吞吐量测试
BLE吞吐量测试 介绍 本章分别测试了TI CC2640R2F LuanchPad和LECONIOT CC2640R2F Evaluation Board开发板吞吐量.我们提供了两个例程供大家参考测试 ...
- CC2640R2F BLE5.0 CC2640R2BLE5.0开发文档
CC2640R2&BLE5.0开发 关于我们 关于我们 开发板介绍 文章所有代码.工具.文档开源.加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5. ...
- CC2640R2F BLE5.0 蓝牙协议栈GAP Bond管理和LE安全连接
GAP Bond管理和LE安全连接 GAP Bond Manager是一个可配置的模块,使用Bond manager后应用程序可以减少大部分安全机制.下表列出了术语. 术语 描述 配对(Pairing ...
最新文章
- SCCM2012R2七:msi软件分发和卸载
- docker tensorflow-jupyter简单使用
- plsql窗口文件怎么找回_电脑文件丢失怎么找回?知道原因和方法很关键
- AtCoder AGC037E Reversing and Concatenating
- XML中预定义好的实体
- java.library.path到底指什么
- suse10 linux安装,SuSE10.2 安装手记
- [html] link标签的属性media有哪些值?都有什么作用?
- Android 客户端与服务器交互方式
- C++回调函数(callback)的使用
- oracle 高级用法, DECODE 排序, OVER(PARTITION BY X ORDER BY Y DESC) 开窗函数
- grunt打包压缩css、js方法
- linux中用tailf实时观看tomcat日志
- iMazing2.14.6Mac最新版iOS苹果设备管理器
- 《深入剖析Tomcat》序言
- CURA汉化 语言修改 本地化 locale
- 7-6 最热门的职业
- 2021年会议平板十大品牌榜中榜,十大会议平板品牌销量排行榜
- 视频会议及流媒体十大开源项目
- 浅读《解密社群粉丝经济学》几点观点
热门文章
- Nokia 6030默认保密码
- 百度Apollo自定义安装第三方库(以libtorch为例)
- linux游戏移植,英特尔移植AMD编译器代码可将Linux游戏性能提高10%
- C语言--实现(三)井子棋小游戏(基础版)
- 新旧电脑无流量数据备份_电脑数据转移_电脑数据同步_不需要流量的电脑数据同步_将旧电脑的数据同步到新电脑
- tkinter基本概念
- [Paper Note] Densely Residual Laplacian Super-Resolution
- thinkjs连接mysql_ThinkJS入门+实例(实现认证权限等基本功能)
- 旺财和小强的三生三世
- 计算机编程 英语词汇