




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)蓝牙协议栈的研究及其在串口通信中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 蓝牙作为一种新兴的短程无线数据与语音通信技术,具有使用方便、可靠 性高、低成本、低功耗的特性,非常适合连接计算机与外设,组建个人区域网。 蓝牙技术一经提出,立即受到业界广泛关注,蓝牙特殊利益集团( s i g ) 成员几 乎覆盖了全球通信、网络、芯片、外设、软件等行业所有人们熟知的大企业。 足见蓝牙产品广阔的应用前景和巨大的潜在市场,蓝牙技术必将在未来获得广 泛应用。 一个蓝牙系统在整体上可以分为底层硬件系统、中层软件系统和上层应用 模型。蓝牙软件协议栈是整个蓝牙结构体系中的重要核心部分,是实现蓝牙各 种功能的关键因素。本论文主要是利用蓝牙技术,实现嵌入式设备短距离无线 通信。主要任务是在蓝牙串口仿真协议( r f c o 删) 这一层进行应用开发,通过 程序控制蓝牙主设备( m a s t e r ) 和从设备( s l a v e ) ,在两个蓝牙设备之间建立 起一个无线连接,然后利用所设计的串口通信的程序进行数据的发送与接收, 实现一个完整的蓝牙串口通信的应用解决方案。 本文介绍了蓝牙技术的基本概念、结构特点、安全机制以及与其它无线技 术的比较,然后分别详细阐述了l 2 c a p 、h c i 、s d p 、r f c o m m 这四层蓝牙核心协议 的特点和原理,为后面的开发奠定了理论基础。详细的叙述了所设计的蓝牙串 行端口剖面的设计和串口通信的实现。 关键词:蓝牙,s d p ,r f c o m m ,串行端口剖面,串口通信 a b s t r a e t b l u e t o o t hi san e wt e c h n o l o g yo nw i r e l e s sd a t aa n da u d i oc o m m u n i c a t i o ni n s h o r td i s t a n c e ,w h i c hf e a t u r e sc o n v e n i e n c ef o ru s e ,h i g h - d e p e n d a b i l i t y , l o wc o s t ,a n d l o wp o w e r i tf i t sc o n n e c t i n gp e r i p h e r a l st oc o m p u t e r sa n ds e t t i n gu pp e r s o n a la r e a n e t w o r k b l u e t o o t hh a sb e e ng i v e na b r o a da t t e n t i o ni m m e d i a t e l ya ss o o na si tw a s b r o u g h tf o r w a r d t h em e m b e r so ft h eb l u e t o o t hs p e c i a li n t e r e s tg r o u p ( s i g ) i n c l u d e s n e a r l y a l l t h e g r e a tc o r p o r a t i o n s w h i c ha r ew e l lk n o w ni n c o m m u n i c a t i o n ,n e t w o r k ,i c ,p e r i p h e r a la n ds o f t w a r ei n d u s t r i e si n t h ew o r l d t h i s i n d i c a t e sb l u e t o o t hw i l lb ea p p l yb r o a d l yi nt h ef u t u r ea n dh a sag r e a tl a t e n c y m a r k e t ab l u e t o o t hs y s t e mm a yb ed i v i d e dt ot h r e ep a r t s :l o wh a r d w a r el a y e r ,m i d d l e s o f t w a r el a y e ra n dh i g ha p p l i c a t i o nl a y e r b l u e t o o t hs o f t w a r ep r o t o c o ls t a c ki sa n i m p o r t a n tp a r to ft h es t r u c t u r e i ta l s oi st h ek e yo fa l lk i n d so fb l u e t o o t hf u n c t i o n t h em a i nt a s ki st od e v e l o pt h ea p p l i c a t i o ni nt h er f c o m m p r o t o c o ll a y e r , b u i l da w i r e l e s sc o n n e c t i o nb e t w e e nt w or e m o t ed e v i c e st h r o u g ht h ew a yt h a tt oc o n t r o lt h e m a s t e rd e v i c ea n dt h es l a v ed e v i c e t h e n ,u s et h es e r i a lc o m m u n i c a t i o np r o g r a mt o s e n da n dr e c e i v et h ed a t aa n dr e a l i z eac o m p l e t e da p p l i c a t i o ns o l u t i o no fb l u e t o o t h s e r i a lc o m m u n i c a t i o n i nt h i st h e s i s ,f i r s t l y , t h eb a s i cc o n c e p t s ,s t r u c t u r ef e a t u r e s ,s e c u r i t ym e c h a n i s m a n dt h ec o m p a r i s o nw i t ht h eo t h e rw i r e l e s st e c h n i q u eo fb l u e t o o t ha r ei n t r o d u c e d t h e n ,i no r d e rt ol a yt h et h e o r e t i cf o u n d a t i o nf o rt h ed e v e l o p m e n t ,p r i n c i p l ea n d f e a t u r e so fl 2 c a p ,h c i ,s d pa n dr f c o m mp r o t o c o l sw h i c ha r et h ec o r ep r o t o c o l s i nb l u e t o o t ha r ed e s c r i b e di nd e t a i l a tl a s t ,t h ed e s i g ns c h e m ei sg i v e na n dt h ed e t a i l o ft h es e r i a lp o r tp r o f i l ea n dt h es e r i a lc o m m u n i c a t i o ns o f t w a r ea r ec o m p l e t e d k e yw o r d s :b l u e t o o t h ,s d p , r f c o m m ,s e r i a lp o r tp r o f i l e ,s e r i a lc o m m u n i c a t i o n 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:圈选日期:型i :墨:圣竺 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 日期: 武汉理工大学硕士学位论文 第1 章引言 1 1 课题背景及研究意义 短距离无线通信技术在无线通信领域中是一个相对比较新的研究方向,它 给了我们很多的研究空间。在如今多种短距离通信技术中,蓝牙技术经过各个 国家十多年的研究,技术相对成熟,硬件设备更新换代,统一公开的协议规范 有利于我们进行学习和开发。在这段时期中,蓝牙技术的核心并没有太大的改 变,只是在m a c 增加了一些和上层协议无关的改进,核心规范仅仅有一次较大 的改动。更新后的蓝牙产品和原来的蓝牙产品也可以相互兼容,同时经过多年 的研究,全球有大量的蓝牙芯片供应商,提供了多种蓝牙解决方案,每年都有 数十亿的蓝牙产品投入市场。在我国,以蓝牙耳机为主的蓝牙产品已经因其低 廉的价格、简单实用的功能在各个新兴领域得到发展,特别是在车载和便携式 数码产品上无处不看到它的身影1 1 l 。 但是就整个蓝牙应用方面来说,它仍然有非常巨大的空间留给我们去开发。 s i g 的原意就是要把它作为最后一米的线缆替代产品,因此在制定规范的时候 考虑了相当多的应用层,作为一种可适用于几乎一种电子设备的无线技术,蓝 牙的出现具有划时代的意义,同时也是至今为止,在众多的无线技术中,功能 最全协议整合性更高的一种技术。现在最新的蓝牙芯片已经集成了r f 、r o m 、 a r m 、g p i o 等多个子功能模块,可以完成输入输出,音频视频处理,数据处理, 数据存储,射频收发等多种功能,这一切都是建立在统一的标准蓝牙规范的协 议栈上。因此我们只需要研究上层协议和应用,就可以开发出适合各行各业的 各种不同需求的无线数据交换的解决方烈2 l 【引。 本课题主要是利用蓝牙技术,实现嵌入式设备短距离无线通信。主要任 务是在蓝牙串口仿真协议( r f c o m m ) 这一层进行应用开发,通过程序控制蓝 牙主设备( m a s t e r ) 和从设备( s l a v e ) ,在两个蓝牙设备之间建立起一个无 线连接,然后利用所设计的串口通信的程序进行数据的发送与接收。 武汉理工大学硕士学位论文 1 2 项目开发环境 本项目所使用的是w i n d o w sx p 操作系统和v c 编译器,以及c s r 公司的 c a s i r a 蓝牙开发包,其中选用b l u e c o r e 0 4 一e x t e r n a l 芯片和b l u e l a b 2 8 软件 开发包。世界上最大的蓝牙芯片提供商英国c s r 公司推出用于蓝牙嵌入式应 用的b l u e c o r e 蓝牙芯片家族,并且提供相应的蓝牙开发工具及蓝牙协议栈。 c s r 开发系统主要包括c s rb 1 u e l a b ( 软件开发包) 和c a s i r a 开发工具包。 c s r 公司提供了一套蓝牙技术开发系统c a s i r a ,其中组件为蓝牙模块( 附 芯片) 、蓝牙开发母板( m o t h e r b o a r d ) 以及相关的接口( u s b u a r t ) 连线和 耳麦等配件。单片嵌入式蓝牙芯片将r f 和基带部分,软件上层协议集成在一 块芯片上,芯片通过u s b 或u a r t 接口与主机相连,主机的处理器不关心蓝牙 功能的协议处理问题【4 1 。 本项目仿真系统包含了两个完全一样的开发板,通过一个蓝牙链接来收 发数据和语音。每个开发板还内嵌一个蓝牙无线收发子模组。插入到主板里 的无线子模组包括前端滤波器、功率放大器、t x f r x 开关、闪存、晶振和外 部天线。开发板提供一个r s 一2 3 2 串口与p c 机的串行端口连接,在调试时 b l u e l a b 提供的a p p d e b u g 调试器就是通过这个串口与b l u e c o r e 芯片内运行 的映像进行通信。然而在运行需要使用串口进行通信的应用程序时会和 a p p d e b u g 引起串口使用上的冲突,所以就无法再用a p p d e b u g 调试程序了。 开发板上的s p i 端口与p c 机并行端口连接,允许用户使用p s t o o l 工具配置 c a s i r a ,也可以通过该口将映像文件下载至c a s i r a 。开发板另外还有支持蓝 牙u s b 协议的u s b 端口、连接耳机的语音插座、p i o 连线和电源插座【5 l 。 软件开发平台b l u e l a b 将应用程序在b l u e c o r e 的v m 中运行,在c y g w i n 环境下以命令行的形式进行编译、连接以及向f l a s h 存储器内写程序,是专 用于进行嵌入c s rb l u e c o r e 内部的应用程序开发的软件开发平台,主要用于 无线耳机( w i r e l e s sh e a d s e t ) , r s 一2 3 2 线缆替代的应用,h a n df r e e 汽车 系统的应用以及蓝牙无线鼠标、键盘以及其他用户接口设备的开发。不支持 运行在p c s 或者其他外部微控制器的应用开发。 b l u e l a b 为c s r 的b l u e c o r e 芯片创建代码。主要用来使用户编写运行在 芯片上的应用代码,主要包括一套完整的开发工具,包括编译器、连接器和 仿真器,还有一些库的源代码。c s rb l u e l a b 提供的调试器a p p d e b u g 可以用 武汉理工大学硕士学位论文 来装载应用程序代码、调试、设置断点、实时单步执行、察看内存、完全的 符号列表、编译器和硬件仿真5 l 【6 】。 1 3 内容安排 本文首先简要地介绍了蓝牙技术的产生、发展前景、安全机制并与其它几种 无线技术进行了比较,然后分析了l 2 c a p 、h c i 、s d p 、r f c o m m 这四层核心协议, 随后结合所作课题详细的论述了蓝牙串行端口剖面的设计和串口通信的实现。 具体章节安排为第二章主要介绍了蓝牙技术的产生与发展,结构特点,安 全机制以及其他一些无线通信技术的比较,第三章主要介绍了l 2 c a p 、h c i 、s d p 、 r f c o m m 这四层蓝牙核心协议栈,第四章详细描述了串行端口剖面的设计和实现, 包括系统目标,设计思想,系统流程以及主要函数说明,第五章描述自己开发 的蓝牙串口通信的实现过程,包括开发中使用到的控件及其常用属性和代码的 分析,第六章全文的总结。 3 武汉理工大学硕士学位论文 第2 章蓝牙概述 2 1 蓝牙技术的产生与发展 “蓝牙”( b l u e t o o t h ) 原是一位在1 0 世纪将瑞典、丹麦与芬兰统一起来的 丹麦国王的名字。用他的名字来命名这种新的技术标准,含有将四分五裂的局 面统一起来的意思。因此蓝牙技术的发起人瑞典的爱立信( e r i c s s o n ) 公司就以 此命名来表达其要将这种全新的无线传输技术在全球推广,并成为全球标准的 雄心。1 9 9 8 年5 月爱立信( e r i c s s o n ) 联合诺基亚( n o k i a ) 、英特尔( i n t e l ) 、 东芝( t o s h i b a ) 和i b m ( 现联想取代了i b m 的位置) 这四家公司一起成立了蓝牙 特殊利益集团( s i g ) ,负责蓝牙技术标准的制定、产品测试、并协调各国蓝牙 的具体使用。3 c o m 、朗讯( l u c e n t ) 、微软( m i c r o s o f t ) 、摩托罗拉( m o t o r o l a ) 很快加盟s i g ,并成立领导小组( p r o m o t e rg r o u p ) 。领导小组的职责是:创建 蓝牙论坛,加强蓝牙协议的制定和改进,提供互操作性测试工具,进而指导s i g 成员在蓝牙领域的研究工作。现在已经有6 0 0 0 多家公司加入这个阵营。 蓝牙技术的发展是一个逐渐演变的过程。s i g 着眼于蓝牙在全球的发展和 应用,将蓝牙技术标准公开,1 9 9 9 年7 月s i g 公布了蓝牙规范1 o 版:1 9 9 9 年 1 2 月份公布了蓝牙规范1 0 b 版;2 0 0 1 年4 月公布了1 1 版,这标志着蓝牙技 术已初步成型:2 0 0 3 年1 1 月公布了1 2 版;2 0 0 4 年8 月公布了2 0 版;现在 已经推出了2 1 版本的蓝牙技术。根据b l u e t o o t hs p e c i a li n t e r e s tg r o u p ( 简称s i g ,蓝牙技术联盟) 的消息,到目前为止,全球蓝牙设备总量已经达 到了1 0 亿。s i g 称,在全球范围内,每周就有1 2 0 0 万台蓝牙设备出售,该数 据来源于a b ir e s e a r c h 调研机构。s i g 的执行理事迈克尔福利博士称:“随 着蓝牙技术日趋成熟并流行,家用娱乐设备将带有更多的蓝牙功能,以及医疗 和游戏设备对蓝牙的支持,蓝牙设备的数量将会继续增长,蓝牙技术也将会得 以发展1 7 | o 4 武汉理工火学硕士学位论文 2 2 蓝牙的结构特点 蓝牙( b l u e t o o t h ) 是一种开放的低成本、短距离无线连接技术规范的代称, 用于传送话音和数据它的传输距离为1 0 m ( c l a s s2 ) ,如果增加功率或是加上 某些外设( c l a s s1 ) 便可达到1 0 0 m 的传输距离。它采用2 4 g h zi s m 频段和调 频、跳频技术,使用权向纠错编码、a r q 、t d d 和基带协议。t d m a 每时隙为0 6 2 5 ps ,基带符合速率为l 3 m b s 。蓝牙支持6 4 k b s 实时语音传输和数据传输, 语音编码为c v s d ,发射功率分别为i m w 、2 5 m w 和1 0 0 m w ,并使用全球统一的 4 8 比特的设备识别码( 蓝牙地址) 。整个蓝牙体系结构可分为底层硬件模块、中 间协议层和高端应用层三大部分,如图2 - i 所示。 由 间 协 议 层 虚拟名片 虚拟同历 ( 内容格式) 对象交换协 议( o b e x ) 无线应用环境( w a e ) 无线应用协议( w a p ) 传输控 制协议 ( t c p ) 用户数据 报协议 ( d d p ) 凼特嘲协议l i p l 点对点协议( p p p ) 高 端 应 用 层 音频电话命令i 竹命令) 串口仿真协议li 二进制电话控制协议ll 服务发现协议 ( r f c o m m lli ( t c s b i n )il ( s o p ) 逻辑链路控制和适配协议( l 2 c a p )li 音频 蓝牙主机控制器接口 f h c i l 基带( b b ) 蓝牙天线收发器( r f l 图2 - 1 蓝牙协议体系结构 s 底 层 硬 件 模 块 武汉理t 大学硕十学位论文 2 2 1 蓝牙底层模块 蓝牙的底层模块是蓝牙技术的核心,是任何蓝牙设备都必须包括的部分。 链路管理层( l m ) 、基带层( b b ) 和射频( r f ) 构成蓝牙的底层模块。r f 通 过2 4 g h z 无需授权的i s m 频段,实现数据流位的过滤和传输,它主要定义了蓝 牙收发器应满足的要求。同时定义了三种功率级别,即l o o m w 、2 5 m w 和l m w 。 当蓝牙设备的功率为l m w ( o d b m ) 时,其发射范围一般可达l o m 。在发送过程中蓝 牙使用了功率控制技术。蓝牙技术采用跳频技术来消除干扰和降低衰落。 b b 层负责跳频和蓝牙数据及信息帧的传输。l m 层负责连接的建立和拆除以 及链路的安全和控制,他们为上层软件模块提供了不同的访问入口,但是两个 模块接口之间的消息和数据传递必须通过蓝牙主机控制器( h c i ) 的解释才能进 行。也就是说,h c i 是蓝牙协议中软硬件之间的接口,它提供了一个调用下层 b b 、l m 、状态和控制寄存器等硬件的统一命令接口。h c i 协议以上的协议软件 实体运行在主机上,而h c i 以下的功能由蓝牙设备来完成,两者之间通过传输 层进行交互。 蓝牙技术支持电路交换和分组交换两种技术,分别定义了两种链路类型, 即面向连接的同步链路( s c o ) 和面向无连接的异步链路( a c l ) 。每种链路支持1 6 种不同的分组类型,其中4 种是控制分组。 蓝牙组网时最多可以有2 5 6 个蓝牙单元设备连接起来组成微微网 ( p i c o n e t ) ,其中一个主节点和7 个从节点处于工作状态,而其他节点则处于 空闲模式。为了在很低的功率状态下也能使蓝牙设备处于连接状态,蓝牙规定 了三种节能状态,即停等( p a r k ) 状态、保持( h o l d ) 状态和呼吸( s n i f f ) 状态隅j 。 蓝牙1 1 规范已公布的主要技术指标和系统参数见表2 - 1 。 6 武汉理工大学硕士学位论文 表2 - 1 蓝牙技术指标和系统参数 工作频段i s m 频段,2 4 0 2 2 4 8 0 g h z 双工方式全双工,t d d 时分双工 业务类型支持电路交换和分组交换业务 数据速率1 m b s - 3 m b s 非同步信道速率非对称连接7 21 5 7 6 k b s ,对称连接4 3 2 6 k b s 同步信道速率6 4 k b s 功率 美国f c c 要求( o d b m ( 1 m w ) ,其他国家可扩展为l o o m w 跳频频率数 7 9 个频点m h z 跳频速率1 6 0 0 次s 数据连接方式面向连接业务s c o ,无连接业务a c l 纠错方式1 3 f e c ,2 3f e c ,a r o 鉴权采用放映逻辑算术 信道加密采用0 位,4 0 位,6 0 位密钥 语音编码方式连续可变斜率调制c v s d 发射距离一般可达1 l o m ,增加功率情况下可达l o o m 工作模式 p a r k h o l d s nif f 2 2 2 蓝牙软件模块 中间协议层包括逻辑链路控制与适配协议( l 2 c a p ) 、服务发现协议( s d p ) 、 串口仿真协议( r f c 0 删) 和电话控制协议规范( t c s ) 。 l 2 c a p 是数据链路层的一部分,位于基带协议之上。完成数据拆装、服务 质量控制、协议复用和组提取等功能,是其他上层协议实现的基础,因此是蓝 牙协议栈的核心部分。 s d p 是一个基于客户服务器结构的协议。它工作在l 2 c a p 层之上,为上层 应用程序提供一种机制来发现可用的服务及其属性,而服务的属性包括服务的 类型及该服务所需的机制或协议信息。 r f c o m m 依据e t s i 标准t s 0 7 1 0 在l 2 c a p 上仿真9 针r s - 2 3 2 串口的功能。 通过r f c o 删,蓝牙可以在无线环境下实现对高层协议,如p p p 、t c p i p 、w a p 等的支持。另外,r f c 0 删可以支持a t 命令集,从而可以实现移动电话机和传 真机及调制解调器之间的无线连接。 t c s 是一个基于i t u - tq 9 3 1 建议的采用面向比特的协议,它定义了用于 蓝牙设备之间建立语音和数据呼叫的控制信令( c a l lc o n t r o ls i g n a l i n g ) ,并 7 武汉理工大学硕士学位论文 负责处理蓝牙设备组的移动管理过程1 9 1 1 1 0 1 。 2 2 3 蓝牙应用模型 在蓝牙协议栈的最上部是高端应用层,它对应于各种应用模型的剖面,是 剖面的一部分。目前定应了1 3 种剖面。蓝牙s i g 定义了几种基本的应用模型, 包括: 文件传输 因特网网桥 局域网接入 同步 三合一电话( t h r e e - i n - o n ep h o n e ) 终极耳机 2 3 蓝牙与其他无线技术的比较 无线个人区域网是当前发展最迅速的领域之一,相应的新技术层出不穷, 其中蓝牙技术是令人瞩目的。目前使用较广泛的近距离无线通信技术有蓝牙, 无线局域网8 0 2 1 1 ( w i f i ) 。同时还有一些具有发展潜力的近距离无线技术标 准,它们分别是:超宽带( u l t r a ) 、短距离通信( n f c ) 等。这些技术个有其 特点,或基于传输速度、距离、耗电量等特殊要求:或着眼于功能的扩充性: 或符合某些单一应用的特别要求;或建立竞争技术的差异化等。 2 3 1w i f i 技术 w i - f i ( w i r e l e s sf i d e l i t y ,无线高保真) 也是一种无线通信协议,正式名称 是i e e e 8 0 2 1 l b ,与蓝牙一样,同属于短距离无线通信技术。8 0 2 1 1 支持 1 11 m b s 较高的数据速率,但是它只支持数据通信,为进行无线数据通信,数 据设备先要安装有无线网卡。虽然在数据安全性方面比蓝牙技术要差一些,但 在电波的覆盖范围方面却略胜一筹,可达1 0 0 m 左右。虽然传输速度高于蓝牙, 但是蓝牙芯片耗电量较少,并且比w i - f i 更便宜三分之二。 8 武汉理丁人学硕十学位论文 2 3 2 宽带( u l t r a ) 超宽带技术u w b ( u l t r aw i d e b a n d ) 是一种无线载波通信技术,它利用纳秒 级的非正弦波窄脉冲传输数据,而不采用常见的正弦载波,因此它所占的频谱 范围很宽。在当前所用的无线通信方式中,8 0 2 1 1 b 和蓝牙的速率太慢,不适 合传输视频数据:5 4m b s 速率的8 0 2 1 1 a 标准可以处理视频数据,但费用昂 贵。而u w b 有可能在l o m 范围内,支持高达1l o m b s 的数据传输率,不需要压 缩数据,可以快速、简单、经济地完成视频数据处理。同时,该技术具有系统 复杂度低,发射信号功率谱密度低,对信道衰落不敏感,低截获能力,定位精 度高等优点,尤其适用于室内等密集多径场所的高速无线接入,非常适于建立 一个高效的无线局域网。但是目前u w b 有两种标准,u w b 论坛提出一种基于直 接序列的d s u w b ;而w i m e d i a 联盟提出了另一种基于多频带直角频率划分模型 ( o f d m ) 的标准。现u w b 产品由于不同的标准而缺乏广泛的国际认同。 2 3 3 短距离通信( n f c ) n f c ( n e a rf i e l dc o m m u n i c a t i o n ,近距离无线传输) 是由p h i l i p s 、n o k i a 和s o n y 主推的一种类似于r f i d ( 非接触式射频识别) 的短距离无线通信技术标 准。n f c 采用了双向的识别和连接。在2 0 c m 距离内工作于1 3 5 6 瑚z 频率范围。 总的来说,上面几种无线技术各有长短,能够将这几种技术的优点融合起 来,屏弃其缺点,实现无缝兼容,是我们未来努力的方向和目标。目前,蓝牙 技术正积极地与其他互相竞争的无线技术进行融合。早在2 0 0 3 年b l u e t o o t h1 2 版本时,蓝牙就开始使用适应性跳频( a d a p t i v ef r e q u e n c yh o p p i n g ,a f h ) 技术 来减少干扰,以便和w i - f i 可以同时用于同一款设备上。已经推出的b l u e t o o t h 2 1 版本( 代号为l i s b o n ) ,将近域通讯( n f c ,n e a r f i e l dc o m m u n i c a t i o n ) 技术内涵的即时比对( i n s t a n tp a i r i n g ) 和安全功能纳入到蓝牙规范中。 2 4 蓝牙的安全机制 2 4 1 蓝牙的底层安全机制 蓝牙提供了短距离的对等层之间的通信技术。为了实现对等用户数据的保 护和信息的保密性,系统在应用层和链路层提供了安全措施。这些措施适合对 9 武汉理工大学硕士学位论文 等的环境,即在每个蓝牙设备使用相同的方法进行鉴权和加密。链路层的安全 性需要4 个不同的功能实体:每个节点公开的但独立的地址、2 个密钥和每次 交易使用的随机数,见表2 - 2 。 表2 - 2 鉴权和加密过程使用的实体 实体长度 b d - a d d4 8 b i t 私人用户密钥,鉴权1 2 8 b i t 私人用户密钥,加密,可变长8 1 2 8 b i t r a n d1 2 8 b i t 蓝牙中的鉴权采用竞争应答方案。申请者对密钥字的确认使用对称密钥字 ( 对称密钥指当前申请者校验器共享同一密钥字) 经2 2 m o v 协议进行检验校验 器( v e r i f i e r ) 将申请者( c l a i m a n t ) 鉴权随机数输入,该输入以含一鉴权码的 a u 2 r a n g a 标注,而该鉴权码则以e 1 标注,同时向校验器返回结果s r e s 。该地址 防止简单反射攻击。由单元a 和单元b 共享的密钥k 是当前链接字( l i n k k e y ) 。 密钥是在初始化过程导出的,从来不公开。正常情况下,加密密钥是在鉴 权过程中从鉴权密钥得到的。对于鉴权算法,密钥的长度总是1 2 8 b i t 。对于加 密算法,密钥的长度是可变的,从8 b i t 到2 8 b i t 。可变长度有两个原因,一是 每个国家都有自己的加密算法的要求和限制,二是由于方便以后升级时不用重 新设计算法和硬件。增加密钥的长度是对抗破密的最简单的方法。目前,对于 大多数应用使用6 4 b i t 的密钥比较合适。 加密密钥与鉴权密钥有很大的不同,尽管加密密钥是从鉴权密钥得来的。 每次加密过程都要生成一个加密密钥,所以加密密钥的寿命不一定与鉴权密钥 的寿命相同。 当两台设备无共用链接字时,基于p i n ( 个人识别码) 和随机数创建初始化字 k i n i t ,这一过程称为匹配。k i n i t 字在校验器向请求者发出l m p 2 i n 2 r a n d 的时 候创建,然后进行鉴权,其计算过程基于k i n i t 字,而不是链接字。通过鉴权后, 链接字即被创建。 可以预料,鉴权密钥比加密密钥更稳定一些,一旦建立,运行在蓝牙设备 上的应用决定什么时候或是否进行变化。基于鉴权密钥在蓝牙链路上的重要性, 所以又称鉴权密钥为链路密钥。 1 0 武汉理工大学硕士学位论文 2 4 2 蓝牙的高层安全机制 1 连接中的安全 连接( b o n d i n g ) 的目的是基于普通链接字在两个蓝牙设备间建立一种关系, 除了匹配外,连接过程还可包括高层初始化。一般可以把连接分为两种类型。即 普通连接( g e n e r a l b o n d i n g ) 和专业连接( d e d i c a t e d b o n d i n g ) 。蓝牙的连接通过 设立以下条件来达到安全目的:一是被请求方应设为可匹配模式 ( p a i r a b l e m o d e ) ,由于请求方已进行了连接初始化,它是可匹配的;二是请求方 应进行鉴权初始化;三是在鉴权初始化前,请求方应删除以前相应的链接字。 2 安全模式 在蓝牙协议的一般接入应用中,定义了三种安全模式:安全模式1 :无安全: 安全模式2 :服务级安全强制;安全模式3 :链路级安全强制。 同时蓝牙设备访问服务时分为可信任设备与不可信任设备,可信任设备可 以无限制的访问所有的服务,不可信任设备访问服务是受限的。而对于服务定义 了3 种安全级别:需要授权与鉴权的服务、仅需鉴权的服务和对所有设备开放 的服务。这些访问的级别取决于他们自身的安全机制1 1 1 1 。 2 5 小结 本章主要阐述了蓝牙技术的产生,以及逐渐发展演变过程,并分析讨论了 蓝牙的结构特点,将整个蓝牙体系结构分为底层硬件模块、中间协议层和高端 应用层三大部分。随后,将蓝牙技术与现在通用的其他无线技术进行了比较, 突出了蓝牙的优势。最后,将蓝牙的安全机制分为底层安全机制和高层安全机 制分别进行论述。 武汉理工大学硕十学位论文 第3 章蓝牙核心协议的分析 由于r a d i o 、b a s e b a n d 、l m p 三层在蓝牙模块中实现,属于硬件固件范畴, 不在我的课题研究范畴之内,因此在本章中并不涉及这三层内容,而只是描述 l 2 c a p 、h c i 、s d p 、r f c o m m 这四层核心协议,其中r f c o m m 层协议为研究重点。 3 1 1 主机控制器接口( h c i ) 3 1 1h c i 的概述 蓝牙主机控制器接口h c i ( h o s tc o n t r o ll e ri n t e r f a c e ) 是蓝牙寄居型实 现模型中蓝牙模块与主机间的软硬件接口,h c i 提供了基带控制与链路控制器、 链路管理器、状态寄存器硬件功能的指令分组格式以及进行数据通信的数据分 组格式。h c i 层以上的协议在主机上运行,而h c i 层以下的协议由蓝牙主机控 制器硬件来完成,它们通过h c i 传输层进行通信。主机和主机控制器中都有h c i , 主机控制器中的h c i 解释来自主机的信息并将信息发向相应的硬件模块单元, 同时还将模块中的信息根据需要向上发给主机1 1 2 1 。蓝牙设备通过h c i 进行数据 收发通信的全过程如上图3 1 所示。 主熟! 敛牙l i 机 其它高层 协议 c l 核心协议 量机2 介一丞魁 苴牙i ! 帆 俞二线f 其它高层 协议 犟带抑制器! :犟带栉制器 z嘲什硪路霄理 t 嘲竹器胃理i i i i r t 辫 i h c l 核心协议 r t i 1 曲+ i i r l t 啦 i (u ,u s b 等) l 器1 u 、 r ) 、1 要。口p 、:y 。 l i 俳- 瑶龋姆翻韩丫下 图3 - 1 蓝牙软件协议栈的数据传输过程 武汉理工大学硕士学位论文 3 1 2h c i 的流量控制 流控制用在主机控制器的方向,在收发时,主机先把a c l 数据发送到数据 缓冲区,h c i 留控制的作用是避免发送到数据缓冲区的数据溢出,也就是说主 机要对主控制器的数据缓冲器进行管理。 初始化时,主机通过发送r e a d b u f f e r s i z e 命令,该命令返回两个参数, 用这两个参数来确定h c ia c l 和s c o 数据分组的最大长度。当只有一个链接或 在本地回送的情况下,主控制器利用已经完成的数据分组事件控制主机发送来 的数据流。如果该事件没有返回指定的链接句柄,则从链接创建的时间开始。 根据在该事件中返回的信息和读取缓冲区大小命令返回的参数,主机可以决定 哪个分组可以发送。每发送一个分组就可以假设存储区空间减少一个h c i 数据 分组的量。通过接受新的“已完成分组的数量 ( n u m b e ro fc o m p l e t e dp a c k e t s ) 事件就可以计算出当前缓冲器的使用量。 注意,对于单独的连接句柄,数据必须使用h c l 分组按生成顺序发到主机 控制器。主机控制器也必须按同样的顺序发送到空中。远端蓝牙设备也按这种 模式接收。数据流的调度过程是基于连接句柄。 特殊情况下,控制主机控制器到主机方向的流量也是必须的。使用 s e t h o s t _ c o n t r o l l e r t o f l o w _ c :o n t r o l 命令就可以控制该方向上的流量,该 命令就可以打开或关闭在该方向上的流量控制。 当主机收到断开连接完成事件时,主机就假设已经将所有数据分组都发送 出去并已经清空相应的数据缓冲区。 3 1 3h c i 的数据格式 由于h c i 传输层提供了h c i 专用信息的透明交换。这些传输机制为主机提 供向主控制器发送h c i 指令,a c l 数据和s c o 数据的能力,同时还向主机提供 从主机控制器接收h c i 事件、a c l 数据和s c o 数据的能力。为此h c i 规范需要 对主机和主机控制器之间交换的指令、事件和数据进行分组。指令分组只从主 机发向主机控制器;事件分组只从主机控制器发向主机;数据分组在主机和主 机控制器之间双向传输。 1 h c i 命令分组 h c i 命令用于从主机向主机控制器发送指令。每个命令分配一个2 字节的操 武汉理丁大学硕十学位论文 作码( o p c o d e ) ,用于标识唯一指令类型。操作码参数分为两段:操作组段( o g f ) 和操作指令段( o c f ) 。o g f 占用操作码上的6 位,o c f 占用其余的1 0 位。因为 每个指令都有其对应的特定的参数,而这些参数由具体的指令来确定。h c i 指 令分组的格式如表3 - 1 所示: 表3 - 1h c i 指令分组格式 操作码 参数长度参数0 o c fo g f 参数1参数2 参数n - 1参数n 主控制器可以缓存一个或多个h c i 命令分组,但必须按收到的顺序执行分 组。主控制器可以在前一个命令执行完成之前开始执行一个新的命令,因此命 令完成的顺序有可能与启动的顺序不同。主控制器定要能够接受高达2 5 5 字 节长度的h c i 命令数据分组,其中不包含h c i 命令的分组头的长度。 2 h c i 事件分组 当事件存在时,主控制器用该事件通知主机,包括通用事件、测试事件、 出错事件等三种。主机必须具有接受2 5 5 字节的h c i 事件分组的能力,其中还 不包括h c i 事件分组头。其分组格式如表3 - 2 所示: 表3 - 2h c i 事件分组格式 事件码 参数总长事件参数0 参数1事件参数0事件参数0 参数n - 1 参数n 事件码用来标识不同的事件。 3 h c i 数据分组 h c i 数据分组用于主机和主机控制器之间交换数据。数据分组分为异步无连 接a c l ( a s y n c h r o n i z a t i o nc o n n e c t i o n l e s s ) 数据分组和同步面向连接 s c o ( s y n c h r o n i z a t i o nc o n n e c t i o no r i e n t e d ) 。a c l 数据分组的格式如表3 - 3 所示。连接句柄c o n n e c t i o nh a n d l e 占1 2 位,可以看作是两台设备间唯一会话 数据的标识,该参数用于发送数据分组或分段。p b 标志和b c 标志的定义如下 表3 4 所示: 表3 - 3a c l 数据的分组格式 1 4 武汉理工大学硕士学位论文 表3 - 4p b 标志和b c 标志 p b 标志 值参数描述 0保留 0 1 用于高层报文的数据分段 1 0 高层报文的第一个数据分组( 即:l 2 c a p 分组的开始 ) 11 保留 b c 标志 值参数描述 0 0没有广播,指示点对点 0 1 激活的广播 1 0 匹克网广播( 数据分组发往所有从单位) 1 1 保留 s c o 数据分组的格式如表3 - 5 所示: 表3 - 5s c o 数据分组格式 3 1 4h c i 的传输层 h c i 传输层是介于蓝牙主机和蓝牙主机控制器之间的物理接口,传输层的目 的是实现透明性。与主机控制器对话的主机驱动程序不用关心它是否运行在u s b 还是串口u a r t 上。在蓝牙协议中h c i 传输层是对不同的物理介质分别定义不同 的传输层: ( 1 ) h c iu s b 传输层 ( 2 ) h c ir s 一2 3 2 传输层 ( 3 ) h c iu a r t 传输层 ( 4 ) h c is d 传输层 在本文采用的是r s 一2 3 2 传输层。h c ir s - 2 3 2 传输层的目标是通过一个位于 蓝牙主机和主控制器之间的物理r s - 2 3 2 实现蓝牙h c i 。如图3 - 2 所示,主机与 主控制器之间通过h c ir s 一2 3 2 传输层进行蓝牙h c i 命令、事件和数据的传输。 通过r s - 2 3 2 传输层可以传输4 种h c i 指令:h c i 命令分组、h c i 事件分组、 h c ia c l 数据分组和h c is c o 数据分组。h c i 命令只能由主机发送到蓝牙主机控 制器,h c i 事件分组只能从蓝牙主机控制器发送到主机,h c ia c l s c o 数据分组 武汉理1 :人学硕士学位论文 既可以发送到蓝牙主机控制器,也可以从蓝牙主机控制器进行发送。 图3 2h c ir s 一3 2 传输层 但是,h c i 不能对4 种分组进行区分,因此,如果h c l 分组通过一个公共的 物理接口进行发送时,必须附加一个分组类型的指示符,见表3 - 6 。 表3 6h c ir s 一3 2 分组头 h c l 分组类型h c l 分组指示符 h c i 命令分组 o x 0 1 h c la c l 数据分组o x 0 2 h c is c o 数据分组o x 0 3 h c i 事件分组 o x 0 4 错误消息分组o x 0 5 协商分组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业电源中的新型脉冲变压器研究
- 工业自动化技术的进步与未来挑战
- 工业设计与创新产品开发流程
- 工业风情的住宅建筑设计思路
- 工作满意度对个人发展的影响研究
- 工业防腐蚀涂料的优化研究
- 工厂智能化改造与升级策略
- 工作安全与心理健康并重策略
- 工厂安全设施配置及管理要求
- 工程造价预算中的成本控制策略
- 卡氏肺孢子虫肺炎
- 大足县某水库除险加固工程施工组织设计
- 基于单片机数字电压表电路设计外文文献原稿和译文
- JJG 1149-2022电动汽车非车载充电机(试行)
- 2023版浙江评审卫生高级专业技术资格医学卫生刊物名录
- GB/T 1689-1998硫化橡胶耐磨性能的测定(用阿克隆磨耗机)
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- 江苏省金陵中学2023学年物理高一下期末调研试题(含答案解析)
- 2023年合肥城建发展股份有限公司校园招聘笔试模拟试题及答案解析
- DB11-T1834-2021 城市道路工程施工技术规程高清最新版
- 广东省珠海市2022-2023高一物理下学期期末学业质量检测试题
评论
0/150
提交评论