蓝牙协议范文栈在移动终端中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

蓝牙协议范文栈在移动终端中的应用
摘要:文中对蓝牙协议栈在移动终端中的应用情况作了详解。

关键词:蓝牙协议栈移动终端应用
0引言
信息时代最大的特点便是更加方便快速的信息传播,正是基于这一点
技术人员也在努力开发更加出色的信息数据传输方式。

蓝牙,对于手机乃至整个IT业而言已经不仅仅是一项简单的技术,
而是一种概念。

当蓝牙联盟信誓旦旦地对未来前景作着美好的憧憬时,整
个业界都为之震动。

抛开传统连线的束缚,彻底地享受无拘无束的乐趣,
蓝牙给予我们的承诺足以让人精神振奋。

蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本
的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。

其程序写在一个9某9mm的微芯片中。

1总体方案设计
1.2前期准备项目拟采用MTK源代码(0812A)的相关手机为主要的实
验目标。

由于嵌入式设计对于本科生来说还有一定难度,所以前期花费了
大量的时间来学习基础的前置知识:如操作系统,Makefile文件编写等
内容,掌握MTK平台的特性,会用Catcher工具抓取手机运行的
trace(手机运行信息的调试)信息,并用SourceInSight观察代码。

蓝牙协议栈的设计是本项目的重中之重。

先通过trace查看自带协议
栈是如何运行的(由于自带协议栈是被封装好的,所以要尝试推断源代码
是如何实现的)。

再结合蓝牙官网上的蓝牙规范文档,理解各个蓝牙协议
是如何实现的,最后编写出属于自己的蓝牙协议栈。

1.3实施本项目采用分工协作的方式进行,将项目按功能分成不同的
模块,组员根据模块需求完成自己模块代码的编写。

按每周进行进度汇报
的方式进行进度监督,即每个周末进行汇报,要求说明这一周所做的内容、存在的问题以及取得的进展;最后将进行汇总,每隔两周进行讨论,提出
问题的解决方案并给与指导。

2研究实验工作及数据分析
2.1协议栈的设计这部分的实验研究工作主要是用Catcher、SourceInSight、Flahtool等工具在PC的环境下调试设计蓝牙协议栈。

大致的分为两个部分:①理解MTK平台下蓝牙运行流程。

②根据相关文档
编写自己的协议栈。

由于蓝牙协议栈的工程量庞大,为搞清协议的详细流程,通过
Catcher工具抓trace来了解蓝牙功能的运行,下面只列举其中一个例子
进行阐述:
本协议栈采用了回调函数的设计方式。

这个激活过程大致为通过用户
界面用户触发蓝牙激活按钮,MOD_MMI层(人机交互界面)向MOD_BT(蓝
牙适配层)发送消息发送一条蓝牙激活命令,MOD_BT层再把消息传到蓝
牙运行的核心底层。

底层收到消息做出响应的处理,开始检查本蓝牙模块
的一些基本(如mac地址,可被搜索状态,所支持的服务,并把所支持的
服务注册到服务发现协议上),并将处理结果反馈给上层,完成蓝牙模块
的初始化。

本项目严格按照蓝牙协议栈的整体规范来进行蓝牙协议栈的设计,这
样有助于在宏观上对蓝牙协议栈进行把握。

蓝牙协议规范如图1所示。

2.2iiMTK手机中的移植这部分的实验研究工作主要是将上述完成的
协议栈代码移植入MTK手机中进行测试。

移植过程主要分为以下几步:①
完成本项目设计的代码整合,编译封装生成lib;②修改MTK平台的Makefile文件,用本项目生成的lib文件替换原项目的蓝牙协议栈。

并ARMDeveloperSuitev1.2编译生成目标bin文件;③通过flahtool工具
将bin文件烧录到目标MTK手机上;④手机上进行功能调试,用catcher
工具观察手机运行trace,修改手机蓝牙功能的Bug。

经过一系列的重复修改代码和调试工作,本项目的协议栈已经能相对
稳定地在目标手机上运行。

3成果总结报告
蓝牙应用越来越广,支持的协议也越来越多。

本项目所设计的协议基
本能很好的完成预期指标:
3.1A2DP/AVRCP:利用蓝牙立体声耳机能够听音乐,控制音乐的播放、暂停、下一首等。

3.3OPP:手机之间能相互传送文件。

本项目设计的协议是按照目前最新蓝牙2.1版本来设计的。

虽然市面
上一些蓝牙设备还停留在蓝牙2.0阶段,但是由于蓝牙协议规范采用向下
兼容的原则,为此本项目的协议栈具有更广泛的通用性。

同时本协议栈也
具有良好的扩展性,通过相应协议代码的添加,未来可以支持更多的协议。

可以为今后设计其他蓝牙嵌入式产品缩短蓝牙协议栈设计的工期。

4对成果的分析评价
由于笔者现在水平有限,再加上中法班考试、课时都较多,所以项目投入时间比预期要少一些,为此项目中难免会存在一些细微的小bug。

虽然目前所支持的协议已经能正常运行,但和预期目标还是有些许的差距,也未来得及将本项目所设计的协议栈运用到其它嵌入式产品中。

此外,在此项目的完成过程中。

笔者深刻的体会到了团队合作的重要性。

我们团队成员有四位,虽然大家水平参差不齐,但通过合理分工,每个做属于自己的强项方面。

遇到问题大家一起讨论解决。

使得整个项目大体还是按照计划来进行的。

相关文档
最新文档