cc2541的手机电池电量校准怎么传给手机

【BLE】CC2541之电池电量服务
【BLE】CC2541之电池电量服务
BLE-CC2541
本篇博文最后修改时间:日,10:19。
本文以SimpleBLEPeripheral工程为例,介绍如何添加一个电池电量服务。
二、实验平台
协议栈版本:BLE-CC254x-1.4.0
编译软件: IAR 8.20.2
硬件平台: Smart RF开发板(主芯片CC2541)
手机平台: 红米1S
安卓系统: Android 4.3
APP: BLE Device Monitor
三、版权声明
博主:甜甜的大香瓜
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn/feilusia
联系方式:
香瓜BLE之CC2541群:
香瓜BLE之CC2640群:
零基础入门交流群:
香瓜单片机之STM8/STM32群:
甜甜的大香瓜的小店(淘宝店):/?spm=0126.d21.hd2o8i
四、CC2541的电池电量服务简介
1、电池电量服务是什么?
答:它是电池电量专用的服务,手机能通过这个服务获取到CC2541的电池电量。
2、为什么需要电池电量服务?
答:CC2541一般通过USB直接供电或纽扣电池供电。其中通过纽扣电池供电的方式,纽扣电池的电量使用情况是用户必须知道的数据。
否则手机与CC2541通信不成功,到底是CC2541死机了还是没电了,就说不清楚了。
3、通过什么方式获取电池电量?
方法一、通过内部的10bit的adc通道采集电池电量(最高位是符号位,所以实际是9bit精度)。
方法二、通过最高12bit的adc通道采集电池电量(最高位是符号位,所以实际是11bit精度)。
4、采集电池电量是如何计算的?
把CC2541的纽扣电池电压从2.0v~3.0v,当做电量的0%~100%。(香瓜猜测这么做是因为2~3V正好是CC2541的正常工作电压)
而CC2541的内部带符号的10bit的adc通道,量程范围为0~511,使用的参考电压为1.25v。
由于adc只有1.25v的参考电压,不能采集到2~3v的电压,因此我们把电池电压经过分压后采集,也就是采集1/3的电池电压,adc把2v/3~3v/3当做电压的0%~100%。
因此,由以上信息获得一个公式:(v/3)/ 1.25 &= adc/511
其中,v是电池的实际纽扣电池的电压,adc是2541采集到的数值。
当v= 2时,adc=273。也就是CC2541采集到的adc值为273时,电压值为2v,是0%的电量。
当v= 3时,adc=409。也就是CC2541采集到的adc值为409时,电压值为3v,是100%的电量。
假设2v~3v时的变化是线性的,则可得到下图:
其中上图的Xadc和percentage是当前读到的adc值和当前电量的百分比。
利用两个相似三角形的特性,可以得到公式:
Percentage / (X – 273) = 100 / 136
变换后为:
Percentage = (X - 273) * 25 / 34
由上式四舍五入提高计算精度则有:
Percentage = [(X - 273) * 25 + 33] / 34
五、代码修改
1、保证项目中有hal_adc.c和hal_adc.h
2、在工程的PROFILES分类中添加battservice.c与battservice.h两个文件
两文件路径:C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\Profiles\Batt
3、IAR设置中添加俩路径
4、开启ADC的宏
5、添加电池服务的头文件(simpleBLEPeripheral.c中)
#include &battservice.h&
6、定义一个电池默认临界值的宏(simpleBLEPeripheral.c中)
#define DEFAULT_BATT_CRITICAL_LEVEL
定义为6,也就是电量低于6%时CC2541会主动notify通知主机电量过低。
7、添加初始化电池电量的代码(simpleBLEPeripheral.c的SimpleBLEPeripheral_Init()函数中)
void SimpleBLEPeripheral_Init( uint8 task_id )
simpleBLEPeripheral_TaskID = task_
//电池服务
uint8 critical = DEFAULT_BATT_CRITICAL_LEVEL;
Batt_SetParameter( BATT_PARAM_CRITICAL_LEVEL, sizeof (uint8 ), &critical );/* 设置默认临界电量 */
Batt_AddService();
/* 添加电池服务 */
Batt_Register(BattCB); /* 注册电池服务的应用回调函数 */
8、定义电池电量服务的回调函数(simpleBLEPeripheral.c中)
//******************************************************************************
//introduce:
电池电量服务的回调函数
//parameter:
event:事件
甜甜的大香瓜
//changetime:
//******************************************************************************
static void BattCB(uint8 event)
if (event == BATT_LEVEL_NOTI_ENABLED)
if (gapProfileState == GAPROLE_CONNECTED)
else if (event == BATT_LEVEL_NOTI_DISABLED)
回调函数的作用只是在开、关通知时告知应用层。
回调函数是在下面的情况被调用的:
9、声明电池电量服务的回调函数(simpleBLEPeripheral.c中)
static void BattCB(uint8 event);
10、添加一段周期监测电量的代码(simpleBLEPeripheral.c中)
static void performPeriodicTask( void )
if ( gapProfileState == GAPROLE_CONNECTED )
// perform battery level check
Batt_MeasLevel( );
}协议栈默认的周期事件是5S。也就是连接状态下,每5S会执行上面的代码去更新电量。
当电量小于我们设置的DEFAULT_BATT_CRITICAL_LEVEL(本篇设置为6)时,会在Batt_MeasLevel( )函数里主动notify告知主机。
六、实验结果
1、仿真查看adc采集到的电量(用app连接时才会进行采集)
单步执行查看内部adc采集到的电源值为459
将adc=459,代入公式“(v/3)/ 1.25 &= adc/511”中,得到v=3.81
2、万用表测试开发板的电源电压
实测VCC=3.20V
3、用手机app查看电源电量百分比
由于暂时使用USB供电,所以实测电压在3.20V,大于3V的都算100%电量。
因此读出了默认&#,也就是电量100%。
七、相关问题
1、实测外部电压2V时,对应为10%的电量,偏差太大怎么办?
1)实测2V、3V时的ADC值(假设测出2V对应为287、3V对应为425)。
2)修改宏定义(Battservice.c中)
// ADC voltage levels
#define BATT_ADC_LEVEL_3V
#define BATT_ADC_LEVEL_2V
我的热门文章
即使是一小步也想与你分享快速充电技术解析及解决方案集锦 - 电池充电/放电_电工电气_中国百科网
快速充电技术解析及解决方案集锦 - 电池充电/放电
    快速充电TI公司
  随着各种蓄电池的广泛使用,快速充电技术已经引起人们的广泛重视。传统的充电方法充电时间过长,且由于充电过程过于简单而会使蓄电池寿命缩短,因此已经面临淘汰。相应的,一些新的快速充电方法开始涌现,并已应用于生产实践中。本文中从快速充电原理、电路特点、相关解决方案及参考设计进行全面解析与分享。
  快速充电原理
  蓄电池的种类很多,目前应用最广的主要是密封铅酸蓄电池和镍镉电池。这2种蓄电池的充放电原理都是一样的,即都是通过化学反应产生正负离子形成电流。
  电池在充放电的过程中会产生氧气,在密封式蓄电池中,这些正极产生的氧气可以通过隔膜和气室被负极吸收,整个化学反应形成一个循环的反应形式。就密封式电池而言,它的内压有限,因此负极的吸收速度也是有限的。如果充电电压过高,正极产生氧气的速度过快,负极的吸收速度跟不上氧气的产生速度,长时间之后必然造成电池失水,从而诱发电池的微短路硫酸化等失效现象,损害电池的质量,缩短其使用寿命。同时高速率充电时电池的极化会造成电池内部压力上升,电池温度上升,电池内阻升高,这不仅会缩短电池寿命,而且有可能对电池造成永久性伤害。蓄电池的这一化学反应原理是研究制定快速充电方法的根本。一方面,快速充电要尽量加快电池的化学反应,使充电速度得到最大的提高;另一方面,又要保证负极的吸收能力,使其能够跟得上正极氧气产生的速度,同时要尽可能消除电池的极化现象。
  提高蓄电池的化学反应速度有2种方式,一是改进蓄电池的结构以降低其内阻和提高反应离子的扩散速度,二是改进蓄电池的充电方法。
  快速充电电路特点
  1、输出电压设定好后(例如36V),若被充电瓶极板脱落断开,造成某组电池不通,或出现短路,则电瓶端电压即降低或为零,这时充电器将无输出电流。
  2、若被充电瓶电压偏离设定电压,如设定电压为36V,误接24V、12V、6V电瓶等,充电器也无输出电流,若设定为24V误接为36V电瓶,由于充电器输出电压低于电瓶电压,因而也不能向电瓶充电。
  3、充电器两输出端若短路时,由于充电器中可控硅SCR的触发电路不能工作,因而可控硅不导通,输出电流为零。
  4、若使用时误将电瓶正负极接反,则可控硅触发电路反向截止,无触发信号,可控硅不导通,输出电流为零。
  5、采用脉冲充电,有利于延长电瓶寿命。由于低压交流电经全波整流后是脉动直流,只有当其波峰电压大于电瓶电压时,可控硅才会导通,而当脉动直流电压处于波谷区时,可控硅反偏截止,停止向电瓶充电,因而流过电瓶的是脉动直流电。
  6、快速充电,充满自停。由于刚开始充电时电瓶两端电压较低,因而充电电流较大。当电瓶即将充足时(36V电瓶端电压可达44V),由于充电电压越来越接近脉动直流输出电压的波峰值,则充电电流也会越来越小,自动变为涓流充电。当电瓶两端电压被充到整流输出的波峰最大值时,充电过程停止。经试验,三节电动车蓄电池36V(12V/12Ah三节串联),用该充电器只需几个小时即可充满。
  7、电路简单、易于制作,几乎不用维护及维修。
  快速充电技术探讨:
  关于快速充电技术的探讨
  实现蓄电池快速充电的技术途径
  相关快速充电解决方案及参考设计如下文。快速充电TI公司蓄电池
TI可编程多化合物快速充电管理参考设计
  该参考设计是可编程的单片 IC 解决方案,适用于单化学物或多化学物应用中对镍镉 (NiCd)、镍氢 (NiMH) 或锂离子 (Li-Ion) 电池的快速充电管理。其会选用合适的电池化学物(镍或锂),并使用最佳的充电和终止算法执行操作。该过程消除了不良充电、充电不足或过度充电的情况,并确 保快速充电的精确度和安全终止。
  串联电池数:1S 至 25S
  最大输入电压:25V
  最大充电电流:1A
  拓扑结构:开关模式
  原理图:
  相关器件:
  1.BQ2000 具有峰值电压检测终端的多化合物、开关模式充电管理 IC
  结构框图:
  相关终端应用:
  IP 电话:无线
  心电图 (ECG)
  详细资料:BQ2000 多化合物、开关模式充电管理 IC
  2.BQMHz 同步开关模式锂离子和锂聚合物独立电池充电器
  功能框图:
  相关终端应用:
  平板电脑:多媒体
  视频会议:基于 IP 的 HD
  详细资料:BQMHz 同步开关模式锂离子和锂聚合物独立电池充电器快速充电TI公司蓄电池
安森美快速充电解决方案详解
  随着手机的屏幕越来越大,处理器的性能越来越强并升级多核。为保证续航,手机的电池容量也变大,这样造成充电时间不可避免的变长。如何缩短充电时间已成为手机应用的一大瓶颈。相继出现基于不同厂商的快速充电解决方案,能够短暂的时间内有效提升充电效率。
  1. 方案框图
  图示 On Semi方案框图
  2.方案特点
  & 通过频率反走和跳周期模式,减少待机功耗
  & 可通过光耦触发低功耗关闭模式
  & 无损过功率补偿
  & 基于定时器的过功率保护
  & 输出短路保护
  & 动态自供电的高压启动
  & 欠压监测功能
  & 有源 X2 电容放电
  & 严重故障时闩锁
  & 自动恢复或闩锁选择的过流保护
  & 空载待机能耗 & 30 mW
  & 可调功率过载保护
  3.本解决方案主要芯片:
  NCP1247是一个新的具有动态自供电功能的固定频率电流模式PWM。
  NCP1247应用实例框图
  NCP1247内部结构框图
  详细资料:NCP1247:固定频率电流模式控制器,用于反激式转换器
  NCP4303A / B是一个全功能的控制器和驱动器适合于开关电源电路,实现同步整流。
  NCP4303应用实例框图
  NCP4303内部结构框图
  详细资料:NCP4303:开关电源通用同步整流驱动器
  4.On Semi方案照片
快速充电TI公司蓄电池
基于FAN501的快速充电解决方案详解
  随着手机的屏幕越来越大,处理器的性能越来越强并升级多核。为保证续航,手机的电池容量也变大,这样造成充电时间不可避免的变长。如何缩短充电时间已成为手机应用的一大瓶颈。相继出现基于不同厂商的快速充电解决方案,能够短暂的时间内有效提升充电效率。
  1.方案框图
  Fairchild方案框图
  2.方案特点
  & 输出短路保护
  & 毫瓦节省技术提供超低的待机功耗,很容易满足‘能源之星 V5.0’
  & 恒压控制时,根据输入电压,有两段固定的 PWM 工作频率 140kHz/85kHz
  & 高压启动
  & 断续和连续工作模式实现恒流控制,无需次级反馈电路
  & 在连续工作模式有较高的功率密度和转换效率
  & 调频减少 EMI 噪声
  3.本解决方案主要器件:
  FAN501 & 用于充电器应用的离线 DCM/CCM 反激式 PWM 控制器
   此先进的 PWM 控制器 FAN501 简化了要求对输出进行恒流调节的隔离电源的设计。 利用初级端的信息,并通过内部补偿电路进行控制,去除输出电流检测损耗,消除外部 CC 控制电路,从而精确估计输出电流。 具有极低工作电流 (250 &A) 的间歇模式可最大化轻载效率,因此符合世界范围内待机模式效率指导准则。
  产品特性
  1)WSaver& 技术提供能量之星 5 星级 (30 mW) 的超低待机功耗
  2)在非连续导通模式 (DCM) 和连续导通模式 (CCM) 下,无需次级端反馈电路即可实现恒流 (CC) 控制
  3)双频率功能根据输入电压改变开关频率 (140 kHz/85 kHz),从而最大化变压器利用率并提高效率
  4)在典型的 10 W 到 15 W 紧凑型充电器应用中,CCM 模式运行中具有较高的功率密度和转换效率
  5)抖频可降低 EMI 噪声
  6)高压启动
  7)通过外部电阻调整实现恒流调节,从而精确限制最大输出功率
  8)通过斜坡补偿实现峰值电流模式控制,从而避免次谐波振荡
  9)通过外部 NTC 电阻实现闩锁模式下的可编程过温保护
  10)VS过压保护(闩锁模式下),VS欠压保护(自重启模式下),VDD过压保护(自重启模式下)
  11)采用 MLP 4X3 封装
  FAN501应用框图
  FAN501功能框图
  详细资料:FAN501 & 用于充电器应用的离线 DCM/CCM 反激式 PWM 控制器
  4.Fairchild方案照片
快速充电TI公司蓄电池
基于TI控制器的快速充电解决方案详解
  随着手机的屏幕越来越大,处理器的性能越来越强并升级多核。为保证续航,手机的电池容量也变大,这样造成充电时间不可避免的变长。如何缩短充电时间已成为手机应用的一大瓶颈。相继出现基于不同厂商的快速充电解决方案,能够短暂的时间内有效提升充电效率。
  1.方案框图
  TI方案框图
  2.方案特点
  & 少于 10mW 无负载功耗能力
  & 针对恒定电压 (CV) 的光耦合反馈,和针对恒定电流 (CC) 的初级侧调节 (PSR)
  & 在线路和负载上实现 &1% 电压调节和 &5% 电流调节
  & 700V 启动开关
  & 100kHz 最大开关频率可实现高功率密度充电器设计
  & 针对最高总体效率的谐振环谷值开关运行
  & 简化电磁干扰 (EMI) 兼容性的频率抖动
  & 针对金属氧化物半导体场效应晶体管 (MOSFET) 的已钳制栅极驱动输出
  & 过压、低线路和过流保护功能
  3.本解决方案主要器件
  UCC28740 具有光电耦合器反馈的恒压、恒流反激控制器
   UCC28740 隔离式反激电源控制器使用一个光耦合器件来提供恒定电压 (CV),从而改进对较大负载阶跃的瞬态响应。 通过初级侧调节 (PSR) 技术实现恒定电流 (CC) 调节。 这个器件处理来自光耦合反馈和辅助反激式绕组的信息,来实现输出电压和电流的精准高性能控制。
UCC28740应用框图
  详细资料:UCC28740 恒压、恒流反激控制器
  UCC24610 二次侧同步整流器控制器
  UCC24610应用框图
  详细资料:UCC24610 二次侧同步整流器控制器
  4.TI方案照片
  相关快速充电技术文章:
  电动车快速充电站简介和结构原理
  充电电池和单机快速充电器概述
  基于AT89S52的智能快速充电器控制系统的设计与实现
收录时间:日 20:46:46 来源:电子发烧友网 作者:匿名
上一篇: &(&&)
创建分享人
喜欢此文章的还喜欢
Copyright by ;All rights reserved. 联系:QQ:君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
低功率蓝牙技术进展2013B
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口深圳市力佳胜电子有限公司
蓝承项先生
主营行业:集成电路IC,二三极
所 在 地:龙岗区坂田街道田村路
供应产品:32条
虎  币:20个
积  分:0个
浏览次数:1164
工商信息:
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
<span style="color:#ff元/个
商虎推荐会员
暂时没有同类商虎推荐会员!
我公司的供应信息分布于以下类目中,请查看:
this.width){this.height=60}else{this.width=60}' style='cursor:hand' onclick='changeView(0);'>
this.width){this.height=60}else{this.width=60}' style='cursor:hand' onclick='changeView(0);'>
this.width){this.height=60}else{this.width=60}' style='cursor:hand' onclick='changeView(0);'>
供应BQ24081DRCR单节锂电池充电管理芯片
产品单价:
7.40元 /个
产品规格:SON10
最小起订:100
发布时间:日 有限期至:日
我要订购:&件 &&nbsp(供货:15000件,已售0)
<span style="cursor: font-size:14 color:#666; font-weight:100"
onmouseover='showmenu(event,"加入诚信保障服务条件:?商虎通会员,且无不良投诉记录;?进行实名认证;?商虎认为其他须符合的条件;?缴存保证金2000元(最低)不设上限;?在线阅读和的详细内容 ", "")'>诚信保证<span style="cursor: font-size:14 color:#666; font-weight:100" onmouseover='showmenu(event,"开通七天无理由退换货:?必须加入诚信保障服务,才能申请《七天无理由退换货》; ?在线阅读和的详细内容; ?可选的特色服务。", "")'>七天退货<span style="cursor:font-size:14 color:#666; font-weight:100" onmouseover='showmenu(event,"开通产品质量保证书:?必须加入诚信保障服务,才能申请《产品质量保证书》; ?在线阅读的详细内容; ?对于食品、保健品、化妆品、酒类的商家是必选服务,其他行业是可选的特色服务。", "")'>产品质量 保证金:0元
如何退换货
&&&&海量器件& 应有尽有& 一网打尽& LED方案设计& 全方位技术支持
我司所提供方案均可提供全方位技术支持,专业工程师为您一对一指导设计,免除后顾之忧.
所销售产品均为正品原装渠道货,不出售假冒,翻新,散新等假货次品货,因市场及进货价格时有波动,实时价格以咨询我司相关工作人员,电话,QQ实时报价为准,网站标示仅为指导价格,不做最终销售报价凭证!
The bq24080 and bq24081 are highly integrated and flexible Li-Ion linear charge devices targeted at space-limited charger applications. They offer an integrated power FET and current sensor, high-accuracy current and voltage regulation, charge status, and charge termination, in a single monolithic device. An external resistor sets the magnitude of the charge current.
The device charges the battery in three phases: conditioning, constant current, and constant voltage. Charge is terminated based on minimum current. An internal charge timer provides a backup safety for charge termination. The device automatically restarts the charge if the battery voltage falls below an internal threshold. The device automatically enters sleep mode when the ac adapter is removed.
Integrated Power FET and Current Sensor for
Up to 1-A Charge Applications From AC Adapter
Precharge Conditioning With Safety Timer
Charge and Power-Good Status Output
Automatic Sleep Mode for Low Power Consumption
Integrated Charge-Current Monitor
Fixed 7-Hour Fast Charge Safety Timer
Ideal for Low-Dropout Charger Designs for
Single-Cell Li-Ion or Li-Pol Packs in
Space-Limited Portable Applications
Small 3-mm & 3-mm SON Package
深圳市力佳胜电子有限公司(RIGACHIP)主要业务为电子产品方案开发及经营国内外优质电子元器件配套,成立于2009年,为广大LED照明及移动电源类客户提供优质方案及贴心技术支持,省除开发及调试的繁琐程序,专业工程师一对一指导.所提供电子元器件均为原装正品,不售假货,同等质量价格最低为目标,在大陆市场占有较高评价。
电子产品开发设计方案有:LED照明驱动方案,3W,5W-7W,18W-14W,50W,100W,150W大小功率LED照明,可用于球泡灯,日光灯,天花灯,吸顶灯,射灯及大功率路灯,投光灯,泛光灯等灯具.同时开发移动电源/电池充电器/万能充等1A,1.5A,2.1A充电方案,产品技术成熟,可提供全方位技术支持.
电子元器件代理经销品牌有:TI德州,NS国半,MICROCHIP微芯,TOSHIBA东芝,OB昂宝,MAX美信,ST意法半导体,ON安森美,JRC,ROHM罗姆,VISHAY威萨等
主要类型:放大器,运算放大器,稳压放大器,低压差放大,线性IC,逻辑IC,74系列与门IC,单片机,场效应MOS管,直插/贴片光耦,电源管理IC,LED驱动IC,放大器与线性器件,数据转换芯片,时钟芯片,接口芯片等
经过长期的不懈努力,公司在同行内已树立了良好的信誉,受到了全国各地客户的好评与信赖。竭诚为国内外众多客户提供第一手货源,我们将以最硬的质量,最诚的服务,最优的价格,与您共商合作事宜,实现长期互惠共赢的合作关系!
----------------------------------------------------------------------------------------------------------
免责声明:在商铺所展示的货品真实性、准确性和合法性由本商铺信息发布人负责。商虎?中国不提供任何保证,并且不承担任何法律责
任。为了规避购买风险,建议您在购买相关产品前,务必确认商家的资质及产品质量。
深圳市力佳胜电子有限公司
地址:广东 &深圳&龙岗区坂田街道田村路6号202室基于MSP430和μC/OS-Ⅱ的低功耗智能手环设计
2015年微型机与应用第15期
作者:王 磊1,2,邵平凡1,2
  摘 &要: 作为一款穿戴式的电子产品,制约其发展的最大因素是待机时间和数据的准确性,本文采用TI公司的 16位单片机为主控制器,在其上移植系统后改进了计步算法。实验测试了手环的待机功耗和手环计步的精确度,通过与目前市场上其他主流产品对比,本文设计的智能手环在计步的准确度与低功耗方面都有显著提升,有进一步研究和推广的价值。  关键词: MSP430F5529;智能手环;超低功耗;μC/OS-Ⅱ0 引言  智能手环是一种穿戴式智能设备,其最基本的功能是计步和睡眠质量追踪,而这两个最基本的数据都是依靠手环中的加速度传感器来测量的。加入用户身高、体重、年龄等数值后通过软件计算可得出消耗热量[1-3]、行走距离、睡眠质量[4]等其他数据。目前其困境主要来源两个方面,一方面是数据的准确性,计步的原理是根据人行走时摆臂产生的加速度数据来统计步数,如何屏蔽非行走时摆臂产生的干扰是计步算法的一大难点,而仅依靠睡眠时手臂产生的加速度数据,以多导睡眠图(包含脑电图、心电图、肌电图等10多种生理信号)的标准来衡量睡眠质量不够科学和严谨,只能作为一种参考;另一方面智能手环的待机时间也是制约其发展的一大因素,在供电电池电量受体积所限的情况下必须降低系统功耗达到延长待机的目的。本文设计的智能手环特点在于采用了TI公司的MSP430超低功耗单片机为主控制器,在其上移植了μC/OS-Ⅱ操作系统,完成了整个系统的软硬件设计,并根据反复测试的实验数据设计了精确度更高的计步算法。1 硬件设计  本文将系统硬件部分划分为三个模块:系统主模块、显示模块和数据通信模块,系统硬件的结构框图如图1所示。显示模块选用ST公司的STM8L101K3经济型单片机驱动的19×5字母LED点阵显示数据。数据通信模块选用CC2541的低功耗蓝牙芯片,完成与IOS或ANDROID设备通信。系统主模块主要由LIS3DH传感器、BQ2423电源管理模块和MSP430F5529单片机组成。  系统选择MSP430F5529单片机为主控制器,其主要优势如下:  (1)低功耗。MSP430F5529主要用到2种功耗模式,一是激活模式(AM),其功耗为270 μA/MHz(8 MHz, &3.0 V);二是待机模式(LPM3),功耗为2.1 μA(3.0 V)。  (2)高性价比。MSP430F5529片内有4个通用串行通信接口,128 KB的闪存,8 KB的SRAM,支持SPI、I2C、UART,在满足本系统应用的情况下MSP430F5529拥有最低的价格。2 LIS3DH传感器  LIS3DH是ST公司出品的一款低功耗三轴加速度芯片,其有自动休眠的功能,本系统中如果20 s内传感器没有检测到任何加速度的变化则自动进入休眠状态,当加速度变化时LIS3DH会被唤醒。内置有96级的FIFO可以作为数据缓存存储32组XYZ轴的加速度数据,当FIFO溢出时会产生一个中断输出,将中断输出映射到MSP430F5529单片机的外部中断源上能将430单片机从待机模式唤醒读取FIFO中的数据,缓存的存在能使430单片机一次连续读取32组的数据,相比一次读取一组数据的方式能让430单片机更多时间处于待机模式。LIS3DH芯片本身支持 SPI或者I2C两种接口,本系统选择SPI,其具体外围电路如图2所示。数字IO的供电虽然与芯片加速度部分的供电电压相等,但必需保证IO部分先于加速度部分工作,否则芯片的初始化会有问题,因此加速度部分供电引脚VDD相比数字IO供电引脚VDD_IO另外并联了一个大电容以保证VDD_IO足够的上电时间。3 系统程序设计  3.1 移植μC/OS-Ⅱ系统  μC/OS-Ⅱ是一种采用优先级抢占式调度方案的实时操作系统,经过多年研究已经成功移植到多种MSP430系列的单片机中。本系统在MSP430F5529上成功移植了μC/OS-Ⅱ系统,移植的关键部分是根据MSP430F5529处理器内核修改OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C三个文件中的代码。  (1)OS_CPU.H文件编写  根据MSP430F5529的内核重新定义数据类型,不同内核的控制器字长不同,μC/OS-Ⅱ移植包括各种数据类型、开关中断和任务切换的宏定义,以及堆栈增长方向和一些常量标识声明。  (2)OS_CPU_A.ASM文件编写  在OS_CPU_A.ASM文件中需要用汇编语言修改4个函数:OSStartHighRdy(),由OSStart()函数调用,功能是运行优先级最高的就绪任务;OSCtxSw(),是一个任务级的任务切换函数,调用该函数可能造成系统任务重新调度;OSIntCtxSw(),中断级的任务切换函数;OSTickISR(),提供一个定时Tick。  (3)OS_CPU_C.C文件编写  在OS_CPU_C.C文件中需要改写6个函数,实际需要修改的只有OSTaskStkInit()函数,其余5个函数只需声明。OSTaskStkInit()函数由OSTaskCreate()函数和OSTaskCreateExt()函数调用,用来初始化任务的堆栈。其代码编写如下:  OS_STK*OSTaskStkInit(void(*task)(void*pd),void*p_arg,OS_STK*ptos,INT16U opt)  {  INT16U &*top;  opt=opt;  top=(INT16U*)ptos;  top--;  *top=(INT16U)(((INT32U)task)&0xffff);  top--;  *top=(INT16U)((((INT32U)task)&0x000f0000)&&4);  *top|=(INT16U)0x0008;  top--;  *top=(INT16U)0x0404;  top--;  *top=(INT16U)0x0505;  top--;  *top=(INT16U)0x0606;  top--;  *top=(INT16U)0x0707;  top--;  *top=(INT16U)0x0808;  top--;  *top=(INT16U)0x0909;  top--;  *top=(INT16U)0x1010;  top--;  *top=(INT16U)0x1111;  top--;  *top=(INT16U)p_arg;  top--;  *top=(INT16U)0x1313;  top--;  *top=(INT16U)0x1414;  top--;  *top=(INT16U)0x1515;  return((OS_STK*)top);  }  3.2 任务设计  智能手环的应用非常强调低功耗特性。MSP430系列[4]的特点也在于此。如果由于运行μC/OS-Ⅱ而破坏了单片机的低功耗特性是得不偿失的。在整个系统设计中,设计一个最低优先级的任务Task_EnterLPM3(),其作用就是使系统进入LPM3的待机模式。这样,在其他高优先级的任务都运行完毕后,系统会调用这个任务使整个系统进入低功耗工作模式,当其他任务又恢复运行时,会自动进入其特定的工作状态,以达到降低功耗的目的。  当MSP430F5529在完成对各模块的初始化和任务的创建后就调用OSStart()函数,此时系统任务由μC/OS-Ⅱ进行调度,开始Task_EnterLPM3()任务处于就绪态,其余所有任务都挂起,MCU进入LPM3的待机模式,通过系统中断,在中断服务程序中将对应任务唤醒成就绪态,其他任务按优先级的高低抢占CPU运行,运行完后再次挂起[5]。  本系统中断和任务主要设计了以下几种:  (1)MCU内部RTC的定时中断(alarm interrupt),当RTC时钟走到定时时间触发中断,在中断服务程序中唤醒定时任务,任务函数震动马达,达到无声唤醒的闹钟功能。  (2)MCU内部的RTC的时钟时间事件中断(clock time event interrupt),当RTC时钟走到第二天0时触发时钟时间事件中断,同上,当任务函数获取CPU后将当天测得的步数、卡路里消耗、睡眠质量等数据自动存入MCU片内SRAM中。  (3)LIS3DH内部FIFO溢出中断,任务函数唤醒MCU处理FIFO中的加速度数据。  (4)CC2541蓝牙模块接收到手机发送的数据,触发UARTRX中断,任务函数根据不同的发送数据完成不同的操作,如进行数据同步,或修改内部的参数(身高、体重、步长、时间、闹钟等)。  (5)按键中断,任务函数根据按键的时间、次数进行复位,在LED点阵上显示数据,开关蓝牙等操作。  本系统程序在μC/OS-Ⅱ调度下的流程图如下图3所示。4 计步算法  智能手环的一大重要功能就是计步,而计步的准确性除依赖高精度的传感器外,还需要复杂的软件算法来实现,本文参考多次测试的实验数据进行算法的分析设计。  行走时产生的加速度数据波形是周期性的类正弦波[6],具有周期性且运动步数与正弦波数一致,在经滤波[7]处理后的加速度数据中寻找波峰,当出现一对波峰时,判断是否满足三个条件:一是两个波峰的时间间隔是否在时间窗口内;二是局部最值之差是否满足软件设置的阈值;三是系统是否处于计步确认模式。如上述条件都满足则步数加一,流程图如图4所示。  每秒行走的步数在[2,5]区间内,第一个条件的时间窗口定义了人行走一步所需的最短和最长时间,不满足就不计步。不同的运动形式(如打字时手臂的微小晃动与步行时手臂的摆动)产生的运动冲击力不同,从而导致加速度幅度变化不同,第二个条件中加速度的局部最大最小值之差[8]可以反映正弦波形的幅度大小,通过其与阈值进行比较可以判断人是否处于行走状态。为判断LIS3DH传感器检测到的加速度是真正的步行还是偶尔的扰动所致,第三个条件中设计两个工作状态:搜索模式和确认模式[8-9],系统最初处于搜索模式,此时检测到的步数计入缓存,若计入缓存的步数大于两步则进入确认模式,开始正常计步并将之前缓存中的步数加上;系统处于确认模式时,若出现不满足条件的情形,如数据波峰间隔不在时间窗口内则退出计步,进入搜索模式重新搜索。5 测试  按照前面智能手环的软硬件设计完成实验模型的搭建,选用TI公司的MSP-EXP430F5529LP评估板外接上传感器模块、蓝牙模块和显示模块,用3.7 V的锂电池为系统供电,使用蓝牙助手APK验证蓝牙模块与手机通信的连通性,实际模型如图5所示。  为检测手环测量数据的精确性与系统的低功耗是否达到预期的效果,分别对系统计步的精确度与待机功耗做了合理的测试。表1是A、B、C、D四名被测试者将实验模型绑在手腕上的计步测试结果,检测步数是模型的显示结果,实际步数是两名旁观者口头计数的平均值。  因为智能手环在实际使用中蓝牙和显示模块不需要经常开启,测量实验模型的待机(关闭蓝牙和显示模块)功耗能反应系统在电池供电下实际运行时间。如下表2是两名被测试者(A和B)在一星期内使用手环(关闭蓝牙和显示模块)电池电量的消耗情况,电池电量为90 mAh。6总结  本次试验在构建智能手环软硬件系统方面探讨了如何降低整个系统的功耗,并最终选择了以MSP430F5529为主控制器移植μC/OS-Ⅱ的设计方案,16位的MSP430单片机兼顾了性能与低功耗的特点,相比目前电池容量40 mAh、普遍待机7~10天的智能手环产品,本系统在同等电池容量40 mAh下能将待机时间延长至15~20天,且在计步方面有更高的精确度,有进一步研究的意义与价值。参考文献  [1] 向剑锋,李之俊.应用步频建立步行能耗预测公式的研究[J].中国运动医学杂志,):198-201.  [2] 江崇民,邱淑敏,王欢,等.平板运动跑台和场地环境测试走、跑运动能量消耗的比较研究[J].体育科学,):30-36.  [3] 王步标,华明.运动生理学[M].北京:高等教育出版杜,2011.  [4] 范志祥.基于腕动信息的睡眠监测仪研究[D].重庆:重庆大学,2008.  [5] 沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空航天大学出版社,2008.  [6] 韩文正,冯迪,李鹏,等.基于加速度传感器LIS3DH的计步器设计[J].传感器与微系统,):97-99.  [7] 武晓春.数字信号处理原理与实现[M].兰州:兰州大学出版社,2007.  [8] 宋浩然,廖文帅,赵一鸣.基于加速度传感器ADXL330的高精度计步器[J].传感技术学报,):.  [9] 谢如花.步数检测方法及在手腕式计步器中的应用研究[D].兰州:兰州交通大学,2013.
AET会员年终大福利!
继续阅读>>
热门关键词}

我要回帖

更多关于 手机电池电量检测 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信