1614|0

6828

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

BLE之CC2541做低功耗智能硬件 [复制链接]

本帖最后由 Jacktang 于 2019-11-11 21:41 编辑

      使用CC2541做一款类似于蓝牙手环的智能硬件,可实现采集人体的温度,设备的电量,蓝牙信号强度(防丢器),等简单的功能。基于TI提供的SDK来做开发,这中间依然遇到了一些比较令人头大的问题,记录下来,以便以后查阅,也给以后的一个提示。

开发环境 
(1)软件 
       整个开发是在TI提供的BLE-CC254x-1.3.2协议栈基础上进行的,要想运行这一套协议栈和里面提供的例程,必须要IAR Assembler for 8051 9.30.1.3056 (9.30.1.3056)以上的开发环境,这个现在晚上已经有和谐版本的,需要安装之后自行破解。按照教程一步一步来就没有多大的问题。 
         另外还需要安装几款TI提供的BLE开发调试软件:BLE Device Monitor ,BTool ,SmartRF Flash Programmer,SmartRF Packet Sniffer ,SmartRF Studio 7 。我已经把这些个软件打包整理好了。

(2)CC2541开发板 
我的设备没有下载调试接口,这个也是最坑的,以至于开发效率太低下了。以后开发设备,设备上面一定要留出调试接口,等产品迭代稳定之后,再去掉调试接口我前期所有的开发全是在开发板上面进行的。 
(3)CC Debugger

(4)USB Dongle

(5)IOS端的BLE sensor Tag 和Android端的device monitor也是不错的调试助手。 
安装完成以上的软件,你可以打开TI提供的一个简单的例程,编译并烧录到板子里面,然后打开BTOOL软件,利用USB Dongle来 scan -> load seeting -> establish 之后就可以抓到蓝牙的设备发送的数据包了。 
如果你已经完成了以上的步骤,那么恭喜你,你已经入门BLE的开发了。

蓝牙协议栈的理解 
(1)OSAL 
要理解TI的蓝牙协议栈,OSAL是绕不开的,如果对嵌入式操作系统或者Linux比较熟悉朋友,应该理解起来非常快。 
(2)Profile

具体的开发 
我的开发工作是在TI提供的例程KeyFob Demo的基础上进行的。利用了里面提供的基本服务,Generic Access Service ,Generic Attributes Service,Device information Service ,Simple Profile Service,自己根据需要添加了两个服务:Simple Key Service, OAD service。在TI提供的额例程基础之上进行应用层的开发,其实非常简单,主要就是理解一下一下几个概念。 
(1)任务 
(2)事件 
(3)消息机制 
(4)回调函数 
(5)HAL 
hal是TI提供的一个硬件驱动,里面含有所有的CC2541内部模块的驱动,一般来说我们都不需要直接对这个硬件抽象层进行操作。我们只需要在框架之上

Power Saving机制 
       说道低功耗,这个是现在的智能硬件的一个趋势。为了提高用户体验,TI官方宣称CC2541在一颗纽扣电池供电的情况下,可以实现待机一年。那是在设备进入超低功耗PM3的情况下实现的。正常情况下,我们的设备需要频繁的唤醒,说道低功耗就要研究一下协议栈里面是如何实现设备的休眠与唤醒的哪? 
      在实际的开发过程中,功耗的多少是和设备执行的具体的任务挂钩的,当OSAL检测到没有定时任务在进行的时候,系统会从active模式进入PM2模式,在该模式下,系统的睡眠定时器是在计时,当time out之后,系统会自动的唤醒。如果程序没有定时任务需要执行,系统会进入到最低功耗PM3的模式。这个时候就只有复位操作或外部中断才能唤醒系统。

OAD (空中升级) 
       不得不说这是一个非常有用的功能,特别是在现在的智能硬件需要不断迭代的情况下。可以直接通过我们的软件包或者专门的APP就可以实现无线升级固件,免去了下载接口,大大缩小了产品的尺寸空间。

 

此帖出自无线连接论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表