(通信与信息系统专业论文)蓝牙应用开发套件的设计与实现.pdf_第1页
(通信与信息系统专业论文)蓝牙应用开发套件的设计与实现.pdf_第2页
(通信与信息系统专业论文)蓝牙应用开发套件的设计与实现.pdf_第3页
(通信与信息系统专业论文)蓝牙应用开发套件的设计与实现.pdf_第4页
(通信与信息系统专业论文)蓝牙应用开发套件的设计与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北太学项士学位论文 摘要 蓝牙应用开发套件的设计与实现 摘要 随着计算和迢信技术的高速发展,各种各样便携式的计算机和通信设备层出 不穷,但是各种设备之间的通信一直存在很多不便,通常需要用专门的电缆来连 接不同的设备,同时还需要在被连接的设备中安装专门协议软件为了在众多的 设备之间进行数据传输,个人可能需要携带和设备一样多的连线,但这也不能 保证所有设备的互连。信息的不能完全共享大大的限翻了设备的实用性。 b l u e t o o t h 技术是一种新兴的短距离无线通信技术,它以安全、低成本、低 功耗的特性将成为短距离无线通信的主要解决方案,使得设备之间能够无缝隙的 进行无线通信。虽然蓝牙无线通信的首要目的是替代设备问的电缆,但它也支持 很多新的应用。 本课题是为了设计及实现完整的蓝牙开发套件,提供可以剪裁的接口。方便 应用开发时根据具体要求自由选取,并且完全不需要考虑底层传输协议的特性。 在认真分析了b l u e t o o t h 技术的特点及其协议的体系结构的基础上。本文基 于蓝矛芯片r o k l 0 10 0 8 设计了个蓝牙应用开发套件,并基于该套件在p c 机 上开发了具体的蓝牙应用。该开发套件具有较好的灵活性,能够通过选择不同的 模块来适应数据量较大和数据量较小的应用,而且保持较高的效率。 对舵i 库的设计进行了寮i 试,在测试中通过信令信道传送短数据;对l 2 c a p 则通过建立信道并传输大型数据进行了测试。测试表明,本蓝牙应用开发套件的 软件部分接口清晰,结构灵活,可以自由组合,让用户根据自己应用的特点。自 行选择所需要包含的函数库。完成应用的设计 关键字:蓝牙,h c i ,l 2 c a p 协议,无线通信 查! ! 奎兰堡= 竺堂堡堡苎坐坚! l t h e d e s i g n a n d i m p l e m e n t a t i o n o f t h eb l u e t o o t h a p p l i c a t i o n d e v e l o p m e n t s u i t e a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e ra n dc o m m u n i c a t i o nt e c h n o l o g y , v a r i o u s c o m p u t e r sa n dc o m m u n i c a t i o ne q u i p m e n t sa r ei n v e n t e d h o w e v e rt h e r e a r em a n y t r o u b l e sw h e nw ew a n tt oe o m m u n i c a r ea m o n gt h e s ee q u i p m e n t s t h er e a s o ni st 1 1 a t w es h o u l dh a v ec a b l e st oc o n n e c tt h ev a r i o u se q u i p m e n t s a tt h es a m et i m e ,w cm u s t s e t u pt h es p e c i a lp r o t o c o l s o f t w a r e i no r d e rt ot r a n s f e rt h ed a t aa m o n gt h ee q u i p m e n t s , o n ep e r h a p ss h o u l dh a v et h es a m ea m o u n tc a b l e sw i t hh i mo rh e r , a n di tc a nn o t a s s u r et h e e q u i p m e n t sb ec o n n e c t e d w e l l t h ei n f o r m a t i o nc a nn o tb es h a r e d a b s o l u t e l yt oc o n f i n e t h ep r a c t i c a b i l i t yo f t h e e q u i p m e n t s b l u e t o o t hi sar i s i n gs h o r t r a n g et e l e c o m m u n i c a t i o nt e c h n o l o g y , w h i c hw i l lb e t h em a i ns o l u t i o nf o ri t ss a f e t y 、l o wc o s t 、l o wp o w e r i tm a k e st h ee q u i p m e n t s c o m m u n i c a t es e a m l e s s l y t h o u g ht h em a i na i mo fb l u c t o o t hi st or e p l a c e 也ec a b l c ,i t s u p p o r t sm a n y n e w a p p l i c a t i o n s t h i sp r o j e c ti st od e s i g na n di m p l e m e n ta ni n t e g r a t e db l u e t o o t ha p p l i c a t i o n d e v e l o p m e n t s u i t e t h es u i t ep r o v i d eac u t t a b l ei n t e r f a c ef o ru s e r st ou s ec o n s i d e r i n g t h e i ra p p l i c a t i o n a n dt h eu s e r sc a nt a k en oa c c o u n to ft h et r a n s f e r r i n gc h a r a c t e r i s t i c s o f t h e1 0 wl e v e l i nt h i sp a p e r , ab l u e t o o t ha p p l i c a t i o nd e v e l o p m e n ts u i t ei sd e s i g n e db a s e do n t h ea n a l y s i so f t h ec h a r a c t e r i s t i c sa n ds t r u c t u r eo f t h ep r o t o c 0 1 w h e nt h eu s e rg e t st h e d e v e l o p m e n ts u i t e ,h ec a nd e v e l o pt h eb l u e t o o t ha p p l i c a t i o nb a s e do np cd i r e c t l y o nt h eo t h e rs i d e ,t h et r a n s m i s s i o nr a t eo f t h eb l u e t o o t hi st h em a i nd i s a d v a n t a g e o fb l u e t o o t hs p e c i f i c a t i o nv e r s i o n l 1 s om a n ya p p l i c a t i o n sc a no n l yt r a n s f e rl e s s e r d a t a t h u st h em e t h o do fc u t t i n gp r o t o c o li s b r o u g h tf o r w a r d i tm a k e st h e b l u e t o o t ha p p l i c a t i o nd e v e l o p m e n ts oe a s i l y i nt h i sd e s i g n h c ia n dl 2 c a pc a nb ea p p l i e di n d i v i d u a l l y , a n dt h e vc a r lb ec u t e a s i l y t h ea p p l i c a t i o nb a s e d o nh c ia n dl 2 c a pa r ed i s t r i b u t e dr e s p e c t i v e l y f o rh c i s e t t i n gu pal i n ka n dd a t at r a n s f e r r i n ga r ed i s p l a y e d ,a n dt h ea p p l i c a t i o nb a s e do n l 2 c a pi ss h o w e ds u c c e s s f u l l yt o o t h er e s u l ti n d i c a t e st h a tt h es o f t w a r eo ft h i s d e v e l o p m e n ts u i t ei si m p l e m e n t e da st h el i b r a r yt h a tc a nb ep a c k e df r e e l y t h e d e v e l o p e r c a ns e l e c tt h es p e c i f i cl i b r a r yc o n s i d e r i n gt h es p e c i f i ca p p l i c a t i o n k e y w o r d s :b l u e t o o t h ,h c i ,l 2 c a p ,p r o t o c o l ,w i r e l e s sc o m m u n i c a t i o n 1 1 1 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中所取得的 研究成果除加以标注和致埘的地方外,不包含其他人已经发表或撰写过的研 究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 本人签名:獗阖 日期:) 0 0 中年 东北大学硕士学位论文 第一章绪论 1 1 蓝牙的提出 第一章绪论 蓝牙为短距离无线语音和数据通信的开放标准,最初的发展是为了替换在全 球运行的个人区域互连网络中的电缆。1 9 9 4 年瑞典的e r i c s s o n 公司开始着手研 究此技术。1 9 9 8 年,e r i c s s o n 、n o k i a 、i b m 、t o s h i b a 和i n t e l 成立特殊兴趣组( s i g ) 来迸一步扩展此思想,在i e e e8 0 2 1 5w p a n 的基础上制定标准。在1 9 9 9 年, 发布了最初的标准并将其作为网络速率为1 m b p s 的i e e e 8 0 2 1 5w p a n 标准。写 本论文时,已经有超过2 0 0 0 家公司加入蓝牙s i g ,并且全球许多公司也在开发 蓝牙芯片组。i e e e 8 0 2 1 5 标准同时研究工作频段为2 4 g h z 的蓝牙和i e e e 8 0 2 1 1 产品的共存性和干扰。 蓝牙技术的实质内容是要建立通用的无线接口及其控制软件的开放标准,使 计算机和通信进一步结合,使不同厂家生产的便携式设备在没有电线或电缆相互 连接的情况下,能在近距离范围内互连互通。 作为“电缆替代”技术提出的蓝牙技术发展到今天已经演化成了一种个人信 息网络的技术。它将内嵌蓝牙芯片的设备互连起来,提供话音和数据接入服务, 实现信息的自动交换和处理。蓝牙技术主要针对三大类的应用:话音数据接 入、外围设备互连和个人局域网。话音数据的接入是将一台计算机通过安全的 无线链路连接到通话设备,完成与广域通信网络的互联。外围设备互连是指将各 种设备通过蓝牙链路连接到主机。个人局域网的主要应用是个人网络和信息的共 享和交换。 从市场的角度看,蓝牙技术可制造出点对点连接、点对多点连接的市场应用 产品及个人局域网等网络产品。 1 2 课题的提出 鉴于蓝牙在未来信息产品中的重要地位,开发具有我国自主知识产权的蓝牙 产品具有非常重要的意义。对一些信息家电厂家,其主要目的是将蓝牙作为通信 模块集成到自己的产品中,它们可以使用其他厂家的蓝牙产品,自己只需着力于 开发应用部分;而对那些专门从事蓝牙研发生产的厂家,就需要进行从底层到高 层的全面开发,只有这样才能掌握蓝牙的核心技术,才能生产出具有自主知识产 权的产品。 东北大学硕士学位论文 第一章绪论 蓝牙在实现的时候一般分成两部分实现,一是硬件部分,它包括蓝牙协议栈 的下三个层次,即无线收发、基带和链路管理层( l m p ) :另一部分是软件部分, 它包括蓝牙协议栈的上层,包括l 2 c a p 、r f c o m m 、s d p 和t c s 以及一些蓝 牙应用。 对于硬件部分,现在市场上有大量的产品,主要有e r i c s s o n 的r o k1 0 10 0 8 和c a m b r i d g e s i l i c o nr a d i o ( c s r ) 的蓝牙芯片“b i u e c o r e 2 一e x t e r n a l ”, 这些产品一 般都是使用片上系统( o s c :s y s t e m o n - c h i p ) 技术,把几个功能模块集成到一个芯 片上。这样的一个o s c 一般包括几个模块:蓝牙基带核心模块、微处理器模块、 h c i 模块、语音处理模块和一些可选的测试模块。 一般地,蓝牙高层协议栈设计成一个软件部件,由于是运行在主机设各上的, 所以在很多场合是以主机栈( h o s ts t a c k ) 的名字出现的。作为主机应用的一个部 分,它依赖于使用的操作系统和硬件平台。为了使设计的协议栈具有很好的可移 植性,必须尽量减少它对平台和操作系统的依赖。另外,虽然蓝牙技术在一个实 际系统中只是提供一个无线通信的功能,但是它也是一项非常复杂的技术,对于 应用层的设计人员来说可能对蓝牙了解的不是很清楚。为了使这些应用开发人员 也能够开发基于蓝牙的应用,高层协议栈必须提供丰富的和详细的a p i 。目前的 系统具有很多非蓝牙的应用,这些应用使用非常广泛,要把这些应用统一地改成 基于蓝牙的应用是非常困难的,所以需要提供一个与传统应用之间的接口。 本课题就是设计、实现完整的蓝牙开发套件,提供可以剪裁的接口,方便应 用开发时根据具体要求自由选取,并且完全不需要考虑底层传输协议的特性。本 课题的设计目标是( 1 ) 支持确定目标的用户模型;( 2 ) 良好的用户使用接口,能够 使用传统的应用,在可能的情况下使用现有的协议;( 3 ) 最小的源码数量:( 4 ) 最 大的重用;( 5 ) 可维护。 另外,在开发过程中还应该尽量满足如下的要求:( 1 ) 使用a n s i c 进行编码, 实现编译器的独立性;( 2 ) 强化的检查,在功能规范、结构、设计、设计确认、 编码和模块测试、主机集成和目标集成的各个环节都进行详细的检查:( 3 ) 使用 文档化的软件。 东北大学硕士学位论文第二章蓝牙系统模块分析 第二章蓝牙系统模块分析 2 1 蓝牙技术的基本概念 蓝牙是一种低功耗的无线技术,目的是取代现有的p c 、打印机、传真机和 移动电话等设备e 的有线接口。主要的优点是:可以随时随地的用无线接口来代 替有线电缆连接;具有较强的移植性,可用于多种通信场合,如w a p 、g s m 、 d e c t 等,引入身份识别之后可以灵活的实现漫游;功耗低,对人体的危害小; 蓝牙集成电路应用简单,成本低廉,实现容易,易于推广。 蓝牙技术提供低成本、近距离的无线通信,构成固定与移动设备通信环境中 的个人网络,使得近距离内各种信息设备能够实现无缝资源共享。 蓝牙技术作为一种无线数据与语音通信的开放标准,它以低成本的近距离无 线连接为基础,为固定与移动设备通信环境建立一个特别的连接。如果把蓝牙技 术引入到移动电话和便携式电脑中,那就可以去掉移动电话和便携式电脑之间连 接电缆的不便,而通过无线建立通信。打印机、p d a 、桌上型电脑、传真机、键 盘、游戏操纵杆及所有其他的数字设备都可以成为蓝牙技术系统的一部分。除此 之外,蓝牙无线技术还为已经存在的数字网络和外设提供通用的接口,以组建一 个远离固定网络的个人特别连接设备群。 蓝牙1 1 规范中规定了数据速率为1 m b s 。这点也是制约蓝牙发展的一个原 因,但是即将推出的蓝牙2 0 标准可以支持4 m b s 、8 m b s 、1 2 m b s 多种传输速 率,可以解决速率不高的问题。蓝牙2 0 的通信范围还是十米以内,最大耗电量 估计是现在蓝牙规范的两倍。 蓝牙技术工作于全球通用的i s m ( 工业、科学、医学) 频段,这使得它应用 了全球统一的频率设定,消除了国界的限定,可以达到世界性的互连。i s m 频段 是对所有的无线电系统都开放的频段,因此使用其中的某个频段就可能遇到不可 预测的干扰源,例如某些家电、无绳电话、微波炉等。因此,蓝牙特别设计了快 速确认和跳频方案以确保链路的稳定和安全。蓝牙采用了1 6 0 0 跳秒,与其他的 系统相比,跳频更快,它的数据包也很短,这些都使得它比其他系统更加稳定。 蓝牙技术目6 口主要以满足f c c ( f e d e r a lc o m m u n i c a t i o n sc o m m i s s i o n ,美国 通信委员会) 要求为目标。目前蓝牙1 1 规范己经公布的主要技术指标和系统参 数如表1 1 所示: 东北大学硕士学位论文 第二章蓝牙系统模块分析 表2 1 :蓝牙技术指标羽l 系统参数 t a b l e 2 1 :t h et e c h n i c a li n d e xa n ds y s t e mp a r a m e t e ro f b l u e t o o t h 1 作频段i s m 频段:2 4 0 0 g h z 2 4 8 3 5 g h z 舣。r 方式全烈t ,t d d 时分烈。i 一 业务类型支持电路交换和分组交换业务 数据速率 1 m b s 非同步信道速率1 r 对称连接:7 2 1 k b ,s 、5 7 6 k b ,s ,对称连接:4 3 2 6 k b s 同步信道速率 6 4 k b s 功率 f c c 要求小于0 d b h a ( 1 m w ) ,其他国家可扩展为1 0 0 m w 跳频频率7 9 个频点m h z 跳频迷率1 6 0 0 次秒 工作模式 p a r k h o l d s n i f f 数据连接方式面向连接业务s c o ,无连接业务a c l 纠错方式 l 3 f e c ,2 3 f e c ,a r q 鉴权采用反应逻辑算术 1 信道加密采0 位、4 0 位、6 0 位加密字符 语音编码方式连续可变斜率调制v s d 发射距离一股是十米,增加功率情况下可达1 0 0 米 蓝牙支持点对点和一点对多点的通信。蓝牙最基本的网络组成是匹克网 ( p i c n e t ) 。匹克网实际上是一种个人区域网,这是一种以个人区域( 即办公室区 域) 为应用环境的网络结构。需要指出的是,匹克网并不能代替局域网,它只是 用来代替或者简化个人区域中的电缆连接。 匹克网由主设备单元和从设备单元构成。主设备单元负责提供时钟同步信号 和跳频序列,而从设备单元一般是受控同步的设备单元,并接受主设备单元的控 制。在同一匹克网中,所有设备单元均采用同一跳频序列。一个匹克网中一般只 有一个主设备单元,而从设备单元目前最多可以有七个。 蓝牙协议模型主要包括: 物理层,即蓝牙无线接口层; 核心阱议:基带( b a s e b a n d ) 协议、l m p 、l 2 c a p 、s d p 等: 电缆替代协议:r f c o m m : 东北大学硕士学位论文第二章蓝牙系统模块分析 电话传送控制协议:t c s 二进制,a t 命令集等。 除了上述协议层以外,规范还定义了主机控制器接口( h c i ) ,它为基带控 制器、链路管理器、硬件状态和控制寄存器提供了命令接口。图2 1 是互操作应 用支持的蓝牙应用模型之上的完整的蓝牙协议栈。在这里h c i 位于l 2 c a p 的下 层,但是h c i 也可以位于l 2 c a p 的上层。 r v c 翮a li l f 一 | | a t 指令iit c s = 进制j | s - ) p l u d p ! t c p i p i 1i l 。 一 fp p p| 【j i 语i i i1音 i r f c o m 。 lj r j l 2 c p f l m p i, 基带 蓝牙无线电信道 图2 1 :完整的蓝牙协议栈 f i g 2 1 :t h ei n t e g r a t e dp r o t o c o ls t a c ko f b l u e t o o t h 蓝牙核心协议由s i g 制定的蓝牙指定协议组成,绝大多数蓝牙设备都需要核 心协议( 加上无线部分) ,而其他协议根据应用的需要而定。 从软件和硬件来划分,蓝牙协议体系结构可分为底层硬件模块,中间协议层 ( 软件模块) 和高端应用层三大部分。 链路管理层( l m ) ,基带层( b b ) 和射频层( r f ) 属于蓝牙的硬件模块。 2 。2 蓝牙射频层规范介绍 蓝牙工作的频段是全球通用的2 , 4 g h z 的i s m 频段,这主要是为了让蓝牙成 为全世界范围内的一个短距离无线通信的标准,另外,蓝牙提出的最初也是希望 各个厂商生产的蓝牙能基于一个统一的标准规范,能够实现互联和互操作,而要 实现互联,物理层的标准统一是一个基础。 大多数国家的频带是2 4 0 0 2 4 8 3 5 m h z ,蓝牙把这个频段划分为7 9 个跳频 。5 东北大学硕士学位论文第二章蓝牙系统模块分析 信道,每个频段为1 m h z 带宽,为了减少带外的辐射和干扰,系统留有保护带 f 保护带是2 m h z ,上保护带是3 5 m h z 。 蓝牙根据功率的电平值把设备分为三个级别,如表2 2 所示。 表2 2 :蓝牙的功率级别表 t a b l e 2 2 :t h ep o w e rl e v e lo f t h eb l u e t o o t h 功率最大输出功率止常输功率最小输出功率功率控制 级别( p m a x ) ( p m i n ) 10 0 m w ( 2 0 d b m )n a1m w ( o d b m ) p m i n 4 d b m 到 l p m a x 2 2 5 m w ( 4 d b m ) 1m w ( 0 d b m ) o 2 5 m w ( - 6 d b m 、 p m i n i 0p m a x 31m w ( 0 d b m )n an ap m i n 到p m a x 功率级别1 需要功率控制来限制发射功率,使之不超过o d b m ,0 d b m 以下 的功率控制是可选的。主要用于优化功率消耗和整体的干扰电平。具有功率控制 能力的设备使用链路管理协议( l m p ) 命令来优化链路的功率输出。功率控制通过 测量接收信号强度指示( r s s i ) 来实现,如果需要进行功率调整就返回一个报告。 如果一个链接的接收端不支持发送端发送的功率控制消息,发送端就不能使用功 率控制,这时发送端使用功率级别2 和3 的规则。 蓝牙使用的调制方式是g f s k ,b t = 0 5 ,调制指数在o 2 8 到o 3 5 之间,二 进制的l 用一个f 的频率偏移表示,二进制的0 用一个负的频率偏移表示。 2 3 蓝牙基带规范 蓝牙可以提供点到点的连接或者点到多点的连接。在点到多点的连接中,几 个蓝牙单元共享信道。两个或者几个共享同一个信道的单元之间形成一个微微 网,其中一个主单元作为主节点,其他的单元作为从节点。在一个微微网中,最 多可以有7 个从节点同时处于激活状念,还可以有更多的从结点锁定在这个主节 点,处于一种所谓的停等状态。这些处于停等状态的从节点不能在该信道上活动, 但是仍与主节点保持同步。不论活动的从节点还是处于停等状态的从节点,都由 主节点负责信道接入控制。 多个交叠覆盖的微微网就形成了一个散射网,一个微微网只能有一个主单 元,但是从节点可以以时分复用的方式参与不同的微微网。另外,一个微微网的 主单元可以是另外一个微微网的从节点。这些微微网之间频率不需要同步,每个 微微网有自己的跳频信道。 蓝牙系统中的信道表示为在7 9 个射频信道上跳变的伪随机跳频序列,每个 东北大学硕士学位论文 第二章蓝牙系统模块分析 微微网的跳频序列是唯一的,由主节点的蓝牙设备地址决定,跳频序列的相位由 主节点单元的蓝牙时钟决定。信道分成时隙,每个时隙对应一个射频频率,标称 的跳频速率是1 6 0 0 跳秒,属于一个微微网的所有节点与该信道都是时间同步和 跳同步的。主节点和从节点在时隙中按照t d d 机制轮流进行数据传输,主节点 只在偶数时隙进行发送,而从节点只是在奇数时隙进行发送,分组的起始必须与 时隙的起始同步,一个分组最多可以在5 个时隙进行发送。 2 3 1 链路类型 主从节点之间可以建立不同类型的链路,一种是同步面向连接( s c o ) 链路, 一种是异步无连接( a c l ) 链路。 s c o 链路是一个对称的、主节点与某个从节点之间的点到点之间的同步链 路。s c o 链路是预留时隙的,可以看着是电路交换连接,用于时间受限的应用, 如语音等。主节点能够支持最多三个s c o 链路,可以来自同一个从节点或多个 从节点。而一个从节点可以支持三个来自同一个主节点的s c o 链路或来自不同 主节点的两个s c o 链路。由于时间受限,s c o 是不重传的。 a c l 链路提供的是一种分组交换的机制,对于没有被s c o 链路占用的时隙 都可以用于任何节点之间的数据交换。在一个主节点和一个从节点之间,只能存 在一个a c l 链路,对于a c l 分组,可以用分组重传机制来确保数据的完整性。 2 3 2 数据分组 对于蓝牙基带规范中分组和消息的b i t 次序使用l i t t l ee n d i a n 格式,也就说 说使用以下的规则: f 1 ) 最次重要的b i t ( l s b ) 对应b o ; f 2 ) l s b 最先发送: ( 3 ) 在用图例表示这种格式时,l s b 位于最左边; 微微网信道上的数据以分组的形式传输,一般的分组格式如图2 2 所示。 l s bm s b l 接入码 j 分组头i 净荷 i 圈2 2 :分组的一般格式 f i g 2 2 :p a c k e tf o r m a t 每个分组由_ = _ 三个部分组成:接入码,分组头和净荷。其中接入码和分组头是 固定长度的,分别是7 2 b i t 和5 4 b i t ,而有效载荷的长度是可变的,最大长度是 东北失学硕士学位论文第二章蓝牙系统模块分析 2 7 4 5 b i t 。 每个分组都是以一个接入码开始,如果后面跟着一个分组头,接入码的长度 就为6 8 b i t 。接入码用于同步、d c 偏移补偿和标识。接入码标识微微网的信道中 交换的所有的分组。接入码有三种类型:信道接入码( c a c ) 、设备接入码( d a c ) 和查询接入码( i a c ) ;不同的接入码用于不同的运行模式,c a c 用于标识一个微 微网,在这个微微网中,信道上交换的所有分组都含有该接入码;d a c 用于一 个特殊的信令过程,即寻呼和寻呼响应过程;i a c 用于发现周围的设备,i a c 分 为两种:通用查询接入码( g i a c ) 和专用查询接入码( d i a c ) 。d i a c 只能用于发现 覆盖范围之内的专用的设备。 接入码包含三个部分,即引导码、同步字和尾码。引导码是固定的四个符号 的0 1 序列,即叭0 1 或1 0 1 0 ,取决于后面的同步字的第一个b i t 是l 还是o ; 同步字是一个6 4 b i t 的码字,从一个2 4 b i t 的地址( l a p ) 得来。对于c a c ,使用主 节点的l a p ,对于d a c 使用从节点的l a p 地址,对于g i a c 和d i a c 使用预留 的专用的l a p 地址;只要接入码后面跟着分组头,在同步码字的后面就附加尾 码。另外,当d a c 和i a c 码字用于寻呼响应和查询响应过程的f h s 分组交换 时,也使用尾码。尾码也是一个固定的0 1 序列,当m s b 为0 时,尾码为1 0 1 0 , 当m s b 为1 时,尾码为0 1 0 1 。 分组头由六个字段组成,如图2 3 所示: i a m _ a d d r l t y p e i p l o w i a r q n l s e q nih e c i 图2 3 :分组头示意图 f i g 2 3 :t h es k e t c ho f t h ep a c k e t sh e a d 分组头包含链路控制信息,其中a ma d d r 表示一个微微网中活动节点的 地址,这是用来区分每个激活的从节点,当主节点和从节点进行信息交换时就包 含该a m,其中全的地址预留,用于主节点的广播使用。但是分_addr0f s h 组可以使用全0 的地址,不是作为广播信息;t y p e 表示分组的类型,它占用了 4 b i t ,但是类型码的解释还依赖于传输分组的物理链路;f l o w 用于对通过a c l 链路的分组进行流量控制,当a c l 链路接收端的r x 缓存满时或者没有清空时, 就临时返回一个s t o p 指示停止发送过程;a r q n 是一个确认b i t ,当确认是1 时,表示接收端已经正确的接受到分组及其校验,当确认是0 时,表示接收端没 有f 确的接受到分组;s e q n 提供了一种对数据进行编号的机制。对于每个携带 数据和c r c 校验的新分组,都有一个新的序列号( s e q n 循环递增1 ,这样目的节 点可以滤除重传分组;分组头中的h e c 用于对分组头的完整性进行校验。 在微微网中使用的分组类型和使用的物理链路有关,到目前为止,定义了两 东北大学硕士学位论文 第二章蓝牙系统模块分析 种类型的链路:s c o 链路和a c l 链路。表2 3 是分组类型表。 分组类型分成四个段,第一个分段预留给4 个控制分组,对于所有的链路都 是一样的;第二分段预留给占有一个时隙的分组,定义了6 种分组类型:第三分 段预留给占用了3 个时隙的分组,定义了两种分组类型;第四分段预留给占用5 个时隙的分组,定义了两种分组类型。 下面简要的说一下分组类型: f 1 ) 公共分组类型 一共有5 个公共分组,除了表2 3 中列出的类型,还有一个识别( i d ) 分组没 有列出。 f 1 ) i d 分组 i d 分组由设备的d a c 或者i a c 组成,长度固定为6 8 b i t ,接收器使用已知 i d 分组b i t 序列对接收的分组进行b i t 相关处理。i d 分组一般用于寻呼、查 询和响应例程。 表2 3 :分组类型表 t a b l e 2 3 :t h et a b l eo f t h e p a c k e t s t y p e 段类型码l i j 有时隙s c o 链路a c l 链路 0 0 0 01n u l ln u l l 0 0 0 l1p o l lp o l l l 0 0 1 01f h sf h s o o l l1d m ld m l 0 1 0 01 未定义 d h l 0 1 0 11h v l未定义 0 1 1 0lh v 2 未定义 2 0 1 1 11h v 3 未定义 1 0 0 01d v未定义 1 0 0 11 未定义 a u x l 1 0 1 03未定义d m 3 1 0 1 13 未定义 d h 3 3 1 1 0 03 未定义来定义 1 1 0 l3 未定义未定义 1 1 1 05 朱定义d m 5 4 1 l i l5 朱定义 d h 5 ( 2 ) n u l l 分组 东北大学硕士学位论文 第二章蓝牙系统模块分析 n u l l 分组不包含净荷分组,只有分组头和信道接入码。总长度也是固定的, 为1 2 6 b i t ,n u l l 分组向源端返回有关前面传输链路消息,或者r x 缓冲器 的状态消息,它本身没有必要进行确认。 f 3 1p o l l 分组 p o l l 分组与n u l l 分组比较相像,也没有净荷部分,但是需要接收端进行 确认。它不影向a r q n 和s e q n 字段,从节点收到p o l l 分组就响应一个 分组,返回分组是一个隐含的确认。p o l l 分组用于主节点在微微网中选择 从节点,从节点必须响应,即使它没有消息需要发送。 ( 4 1f h s 分组 f h s 分组是一个特殊的控制分组,它揭示了蓝牙设备地址和发送时钟。净荷 包括1 4 4 b i t 的消息和1 6 b i t 的c r c 校验。之后通过2 3 的f e c 编码长度变 成2 4 0 b i t 。f h s 分组占用一个分组。 ( 5 ) d m l 分组 d m l 支持所有链路类型的控制消息并且可以携带规则的用户数据。 ( 2 1s c o 分组 s c o 分组用于s c o 链路,这些分组不包含c r c 校验,也不重传。根据规 范1 1 定义的s c o 分组都是用于6 4 k b i t s 的语音传输。 ( 1 1 h v l 分组 h v l 分组携带1 0 个信息字,它们使用码率为l 3 的f e c 进行编码,净荷的 长度为固定的2 4 0 b i t ,没有净荷头。 ( 2 ) h v 2 分组 h v 2 分组携带2 0 个信息字,它们使用码率为2 1 3 的f e c 进行编码,净荷的 长度为固定的2 4 0 b i t ,没有净荷头。 f 3 1 h v 3 分组 h v 3 分组携带3 0 个信息字,不使用f e c 编码和c r c 校验。净荷的长度为 固定的2 4 0 b i t ,没有净荷头。 ( 4 ) d v 分组 d v 分组是混合的数据语音分组。净荷字段分成两个部分:8 0 b i t 的语音字段 和1 5 0 b i t 的数据字段。语音字段不使用f e c 进行保护。数据字段最多包括 十个信息字( 其中包括一个字节的净荷头) 和1 6 b i t 的c r c 校验。语音字段 完全按s c o 数据处理,不重传,也就是说,语音字段总是新的,而数据字 段要进行错误检测,如果必要要进行重传。 ( 3 ) a c l 分组 a c l 分组在异步链路上传输,分组携带的可以是用户数据和控制数据,一 东北大学硕士学位论文第二章蓝牙系统模块分析 共定义了7 种a c l 分组,除了a u x l 分组,其他的6 种分组都使用c r c 编码和重传机制。 f 1 1d m l 分组 d m l 分组是只携带数据信息的分组。净荷最多包含1 8 个信息字和个1 6 b i t 的c r c 校验。 ( 2 1d h l 分组 该分组与d m l 分组相似,区别在于该分组的净荷不进行f e c 编码,它能携 带2 8 个信息字和一个1 6 b i t 的c r c 校验,占用一个时隙。 f 3 1 d m 3 分组 d m 3 分组知识比d m l 分组的净荷长,它占用三个时隙,净荷包括1 2 3 个信 息字节和一个t 6 b i t 的c r c 校验码。 ( 4 1 d h 3 分组 d h 3 分组和d m 3 相似,只是净荷信息不进行f e c 编码,可以携带1 8 5 个 字节的信息和1 6 b i t 的c r c 校验,占用三个时隙。 f 5 1 d m 5 分组 。 d m 5 只是比d m l 分组的净荷长,占用了五个时隙,净荷包含2 2 6 个信息字 节和一个1 6 b i t 的c r c 校验码。 ( 6 ) d h 5 分组 d h 5 分组的净荷信息不进行f e c 编码,可以携带3 4 1 个字节的信息和1 6 b i t 的c r c 校验码,占用五个时隙。 f 7 1 a u x l 分组 这个分组和d h l 分组类似,只是没有c r c 校验,它能携带最多3 0 个信息 字节,其中包含一个净荷头,该分组占用一个时隙。 2 3 3 逻辑信道 在蓝牙系统中,定义了5 种逻辑信道:l c 控制信道、l m 控制信道、u a 用 户信道、u i 用户信道、u s 用户信道。l c 和l m 控制信道分别用在链路控制级 和链路管理级,用户信道u a 、u i 和u s 分别携带异步、等时和同步信息。l c 信道位于分组头中,其他所有的信道位于分组净荷中。l m 、u a 和u i 信道用在 分组头中的l c h 指示。u s 信道只能在s c o 链路中,u a 和u i 信道j 下常情况f 在a c l 链路上,但当数据被d v 分组携带时也用在s c o 链路上。l m 分组既可 以在s c o 链路也可以使用a c l 链路。 东北大学硕士学位论文 第二章蓝牙系统模块分析 2 3 4 蓝牙链路控制 蓝牙的链路控制器主要有2 个主要的状念:s t a n d b y 和c o n n e c t i o n , 另外还有7 个子状态:p a g e 、p a g es c a n 、i n q u i r y 、i n q u i r ys c a n 、m a s t e rr e s p o n s e 、 s l a v er e s p o n s e 和i n q u i r y r e s p o n s e 。所谓的子状态就是中间的临时过渡状念,用 于向微微网中增加新的从节点,为了从一个状态转移到另一个状态,可以使用蓝 牙链路控制器命令,也可以使用链路控制器的内部信号,主要是超时方面的信号。 s t a n d b y 状态是蓝牙节点的缺省状态,是低功耗的状态。在这个状态下只 有本地时钟依l p o 精度运行。控制器可以离开s t a n d b y 状态到p a g es c a n 和 i n q u i r y 状态;当对p a g e 信息进行响应时,节点进入c o n n e c t i o n 状念。当完 成一个成功p a g e ,节点进入c o n n e c t i o n 状态,并成为主节点。 p a g e 状态是主节点用来发起一个到从节点的连接,从节点周期性地在p a g e s c a n 子状态唤醒。主节点通过在不同的跳频信道重复的发送从节点设备接入码 ( d a c ) 来捕获从节点。由于主节点不知道从节点是否处于活动状态,也不知道它 使用的是什么频率,因此,它在不同的频率发送相同的d a c ,并在发送的同时 监听从节点的响应信息。 p a g es c a n 子状态下的节点在扫描窗口t w p a g e s c a n 内监听自己的设备接入 码,监听只在一个跳频点进行。扫描窗口需要足够的长,能覆盖1 6 个寻呼频点。 i n q u i r y 状态是节点用来发现新的设备。该状态与p a g e 子状态非常相似。使 用相同的t x r x 定时。i x 使用i n q u i r y 跳频序列,r x 使用查询响应序列。如 果收到响应,读取整个响应分组,之后节点继续查询的发送。 i n q u i r yr e s p o n s e 是用于从节点对查询的响应。从节点在发送查询信息的期 问监听从节点的响应,读取响应以后它继续发送查询信息。当在i n q u i r ys c a n 子 状念收到i n q u i r y 消息时必须返回一个包含接收者地址的响应消息,该响应分组 使用常规的f h s 分组,携带着节点的参数。 c 0 n n e c t i o n 状态是连接已经建立分组可以来回发送的状态。在连接的两 端使用的都是主节点的接入码和时钟。跳频机制使用信道跳频序列,主节点在偶 数时隙发送,从节点在奇数时隙发送。在链接状态的丌始,主节点发送一个p o l l 分组,用它来验证双方是否已经切换到主节点的定时和信道频率上,从节点可以 使用任何的分组进行响应。如果从节点没有接收到p o l l 分组,或者主节点没有 按时收到从节点的响应,主从节点将分别回到p a g e p a g es c a n 状态。 链接状态包括四个操作模式:a c t i v e 模式、s n i f f 模式、h o l d 模式和p a r k 模 式。 。 在a c t i v e 模式中,主节点根据从节点的业务需要调度发送过程,另外,a c t i v e 1 2 东北大学硕士学位论文 第二章蓝牙系统模块分析 模式还支持周期的发送,以便从节点进行同步。活动的从节点监听主到从的时隙, 如果不是自己的地址,它就进入睡h 民状态,等待主节点下次发送,根据分组的指 示类型,可以推算出主节点预留的时隙的数目,在主节点预留的时间罩,没有接 收任务的从节点就不必监听主到从的时隙。 在s n i f f 模式下可以降低从节点监听活动性的时间。如果一个从节点存在 a c l 链路,它只在a c l 时隙进行监听。在s n i f f 模式,主节点能向某个从节点 发起发送的时隙也降低。 在c o n n e c t i o n 状念,从节点的a c l 链路可以使用h o l d 模式,这意味着 从节点临时不再支持a c l 链路。使用h o l d 模式,节点的资源可以空出做其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论