(通信与信息系统专业论文)基于蓝牙技术的数据传输和文件传输的研究与实现.pdf_第1页
(通信与信息系统专业论文)基于蓝牙技术的数据传输和文件传输的研究与实现.pdf_第2页
(通信与信息系统专业论文)基于蓝牙技术的数据传输和文件传输的研究与实现.pdf_第3页
(通信与信息系统专业论文)基于蓝牙技术的数据传输和文件传输的研究与实现.pdf_第4页
(通信与信息系统专业论文)基于蓝牙技术的数据传输和文件传输的研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(通信与信息系统专业论文)基于蓝牙技术的数据传输和文件传输的研究与实现.pdf.pdf 免费下载

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

文档简介

型主鲨塞 量士堕要垫查塑墼塑盟笙塑羔堂堡堕塑塑塑j ! 型坠 摘要 短距离无线通信在当今社会中的应用越来越广泛,蓝牙作为一种保密性高,使用方便, 功能强大、价格低廉的短距离无线通信方式,也越来越多的被应用在各行各业。可以预计, 蓝牙这种无线个人局域网( w p a n ) 的通信方式将会成为以后人们工作和学习不可或缺的工 :恩。如同现在移动电话在人们生活中所起的作用一样。 本文对蓝牙系统和蓝牙网络进行了介绍,接着着重剖析了完成数据传输,和文件浏览、 传输和操作这两个解决方案所需要理解的各种蓝牙协议。其中关于数据传输方面涉及到了 解h c i 层及h c i 的指令,事件:关于文件的传输、浏览和操作涉及到了较多的蓝牙核心协 议和蓝牙应用框架,文中都给出了详细的解释和分析。其次文章介绍了蓝牙硬件设备和其 所使用的蓝牙模块。最后给出了根据以上两个解决方案所设计的蓝牙应用软件。 本文基于作者对蓝牙b l u e t o o t hc o r es p e c i f i c a t i o n s 和b l u e t o o t hp r o f i l e s s p e c i f i c a t i o n s 的研究给出了蓝牙的主机控制器接口( h c i ) 传输层的基于u s b 的数据传 输的解决方案,和文件传输,浏览和操作的解决方案,并利用m i r c o s o f tv i s u a ls t u d i o 中的v i s u a lc + + 6 0 进行了应用程序的开发。 关键词l 蓝牙h c i 链路信道连接 堕主笙皇 堡王堕要塾苎盟塑塑堡塑塑墨堂堡塑堕堕兰量_ 羔! l 堕 a b s t r a c t a ss h o r t r a n g e dw i r e l e s sc o m m u n i c a t i o n sa r eu s e dm o r ea n dm o r ew i d e l yn o w a d a y s b l u e t o o t h ,w h i c ho w n s t h em e r i to f h i g hs e c u r i t y , i sa ni n e x p e n s i v ea n de f f e c t i v es o l u t i o no f t h e s h o r t - r a n g ew i r e l e s sc o m m u n i c a t i o n s i t i sb e i n ga p p l i e di nm a n ya s p e c t so f d a i l yw o r k a n dl i f e , i tc o u l db ea n t i c i p a t e dt h a tb l u e t o o t hw i l lb ea ni n e v i t a b l et o o lf o rp e o p l e sl i f e ,j u s ta st h e m o b i l e t e l e p h o n e a c t sn o w , 1 1 1 i sp a p e ri n t r o d u c e st h eb l u e t o o t hs y s t e ma n dn e t w o r k a f t e rt h a t ,t h ep a p e re m p h a s i z e d i t lt h ep r o t o c a l sn e e d e dt oa c h i e v ed a t at r a n s f e ra n df i l et r a n s f e r t oa c o m m p l i s hd a t at r a n s f e r , o n l yt h ek n o w l e d g eo f h c i l a y e gc o m m a n d s ,e v e n t sa n dp a c k e tt y p e sa r en e e d e d b u tf o rf i l e t r a n s f e r , t h e r ea l em o r ec o r e & p r o f i l e ss p e c i f i c a t i o n sn e e dt ob er e a l i z e d i nt h i sp a p e r , t h e ya r e a l le x p l a i n e da n da n a l y z e dp a r t i c u l a r l y t h e nt h ep a p e ri n v e s t i g a t e st h eb l u e t o o t hh a r d w a r e d e v i c ea n dt h eb l u e t o o t hm o d u l ei tu s e d a tl a s t ,t h ep a p e ro f f e r e dt h eb l u e t o o t hd e m o n s t r a t i o n p r o g r a md e s i g n e d o nt h eb a s i so f t h et w os o l u t i o n so f f e r e da b o v e b a s e do r lt h er e s e a r c ho fb l u e t o o t hc o r e & p r o f i l e ss p e c i f i c a t i o n s t h i s p a p e ro f f e r st h e s o l u t i o n so fd a t at r a n s f e rv i ah c i ( h o s tc o n t r o l e ri n f e r f a c e ) a n df i l et r a n s f e r ad e m o n s t r a t i o n p r o g r a m i sa l s od e v o l e p e dw i t hv i s u a lc + + 6 0o fm i r c o s o f fv i s u a ls t u d i o k e y w o r d s :b l u e t o o t hh c il i n kc h a n n e lc o n n e c t 项上论史 基于蓝牙技术的数据传输和文件传输的研究与实现 :【绪论 【1 基于蓝牙的短距离无线通信的现状 用于短距离无线通信的蓝牙( b l u t o o t h ) 技术是由e r i c s s o n 、i b m 、i n t e i # 口t o s h i b a 于 】9 9 8 年5 月共同推出的,这项技术的研究开发工作早在1 9 9 4 年就己进行。1 9 9 8 年2 月,3 c o m 、 e r i c s s o n 、i b m 、t o s h i b a 、i n t e l 、m i c r o s o f t 、m o t o r o l a 和n o k i a 等9 家业界巨头牵头正式 成立了蓝牙特殊利益集团( s i g ,s p e c i a li n t e r e s tg r o u p ) ,其目标是建立一个全球性的 短距离无线通信技术,即蓝牙。到现在为止,已有3 0 0 0 家左右的公司成为了s i g 的正式会 员,几乎囊括了世界上所有知名的电子公司。没有人能确切说出蓝牙技术到底有多少种应 用,它的应用范围实在太广了。厂商们现在所能做的只是尽快让用户接受这种新技术。 从1 9 9 8 年蓝牙技术的正式公诸于世,这几年来,蓝牙设备的出货量稳步的攀升,去年, 也就是2 0 0 3 年,蓝牙设备的出货量达到了7 0 0 0 万台左右,2 0 0 3 年九月,s i g 在新加坡建立 i r 蓝牙互用性测试实验室,其功用为培训,教育,同时为各厂商生产的蓝牙设备做各项蓝 牙互用性测试。 蓝牙技术是一种无线数据与语音通信开放性全球规范,它是以低成本的近距离无线连 接为基础,为固定与移动设备通信环境建立一个特别连接的短程无线电技术。其实质内容 是建立通用的无线电空中接口及其控制软件的公开标准,使通信和计算机进一步结合,使 不同厂家生产的便携式设备在没有电线或电缆相互连接的情况下,能在近距离范围内具有 相互操作的性能。把蓝牙技术引入到移动电话和膝上型的电脑中,可以去掉移动电话与膝 上电脑之间的连接电缆而可通过无线方式建立通信。打印机、p d a 、桌上型电脑、传真机、 键盘、游戏操纵杆和所有其他的数字设备都可以成为蓝牙网络的一部分。 1 2 本文要解决的问题和所做的工作 本论文给出了作者关于蓝牙在a c l 链路上进行数据传输,和基于蓝牙文件传输应用 框架( f p ) 的文件浏览、传输和操作方面的研究。在蓝牙硬件模块的基础上,首先描述了 构建一个a c l 链路上数据传输所需要的框架,包含了基于h c i 层的命令,事件操作。其次 是如何通过两台蓝牙设备来实现各自主机上文件的浏览、传输和操作。要实现以上功能涉 及到较多的蓝牙核心协议部分和蓝牙应用协议框架。 文章的第二章或详细或简洁的解释了实现以上应用所需要的蓝牙核心协议和蓝牙应 用协议框架。包括蓝牙基带及其分组,蓝牙物理链路,蓝牙主机控制器接口( h c i ) 协议, 蓝牙通用访问应用框架和其中包含的蓝牙服务发现应用框架和蓝牙串口应用框架,最后还 有蓝牙通用对象交换框架和其中的蓝牙文件传输应用框架。 文章的第三章介绍了本设计所使用的蓝牙硬件,主要描述了硬件中所使用的e r i c s s o n 公司的蓝牙硬件模块r o k1 0 10 0 8 。 项t 论文基十蓝牙技术的数据传输和文件传输的研究_ 实现 在文章的第四章,主要详细描述了本设计的软件部分,其中包括h c i 层使用的操作命 令函数、事件和基于o b e x 的串口用于实现文件浏览、传输和操作的命令函数。最后给出 了本设计的应用程序和软件流程图。 在最后一章文章的第五章,对全文进行了总结,并且指明了需要加以改进的不足之处, 并对蓝牙技术的未来发展态势进行了展望。 硕上论文基十蓝牙技术的数据传输和文件传输的堕塑! 塞些 2 本课题所采用的短距离无线通信技术一蓝牙 蓝牙技术是1 9 9 4 年由e r i c s s o n 公司牵头逐渐发展起来的主要针对个人通信的一种短 距离无线通信方式,目前已经成长为无线个域网( w p a n ) 的最主要的一种组网方式。蓝牙 在i e e e 中的为8 0 2 1 5 。不同于国际标准化组织( i s o ,i n t e r n a t i o n a l s t a n d a r d o r g a n i z a t i o n ) 提出的涵盖了网络通信各个方面的i s o 标准一开放系统互连模型( o s ! ) , 蓝牙采用了独特的一套通信标准。现今蓝牙特殊利益组织s i g 所颁布的蓝牙规范b l u e t o o t h v 1 2c o r es p e c i f i c a t i o n s 和b l u e t o o t hv 1 2p r o f i l e ss p e c i f i c a t i o n s 就是最新的蓝 牙无线通信协议标准。 蓝牙规范包括核心协议( c o r e ) 和应用框架( p r o f i l e s ) 两个文件。协议规范部分定 义了蓝牙的各层通信协议,应用框架指出了如何采用这些协议实现具体的应用产品。由于 新的产品应用模型和市场需求总是不断出现,因而蓝牙的应用框架也不断得到扩充。现在, 蓝牙协议已经从剐开始的0 9 版本到现在的1 2 版本。 2 1 蓝牙系统的结构体系 蓝牙规范包括核心协议和应用框架两个文件。其中核心协议是蓝牙专利协议,完全由 蓝牙s i g 开发,包括基带协议( 明) 、链路管理器协议( l m p ) 、主机控制器接口( h c i ) 协 议、逻辑链路控制和适配协议( l 2 c a p ) 、服务发现协议( s d p ) 、串口仿真协议( r f c o m m ) 、 和电话控制协议( t e l e p h o n ec o n t r o lp r o t o c o ls p e c i f i c a t i o n ,t c s ) 以及i r d a 互操作 性协议。蓝牙协议从体系结构又可分为底层硬件模块、中间协议层和高端应用层三大部分, 其中链路管理层( l m ) 、基带( b b ) 和射频层( r f ) 构成蓝牙的底层模块。由此可见,基带 层是蓝牙协议的重要组成部分。图2 1 所示为蓝牙协议的堆栈图。 硕士论文基于蓝牙技术的数据传输和文1 1 三贷输盟竖壅堕窒些 对象 i t c p ,p l 辎 菱熬蘩 耆频 服务 黼 t 髓协波 m i o 黼 t c s i 旨令集 0 b e xi 网际协议a p ) l v c t p 1 ,p s d p il l 点对点协议 ) j 串口仿真协议o i f c 0 棚) f 网络分骧协议锄础,) 逻辑链站控制与瑚8 协议旺2 c ) i 差机控制器接口。忙i )l 1 链略管理器协议d 胛) j 基带与链路控制0 - i 自b n d 盅l l 妇c o n t r 0 1 1 r )1 l 射频0 l 。d i 。)i 图2 i蓝牙协议栈结构示意图 从蓝牙协议的堆栈可以看出来,s i g 在蓝牙协议的高层尽可能的利用现有的成熟协议, 还有一部分协议是s i g 根据其他的协议修改而来的,譬如串日仿真( r f c 0 删) 和电话控制 协议( t e l e p h o n ec o n t r o lp r o t o c o ls p e c i f i c a t i o n t c s ) 。 j :2 蓝牙射频与基带层协议概述 基带层位于蓝牙协议栈的蓝牙射频之上,并与射频层一起构成蓝牙的物理层。从本质 j 二说,它作为一个链接控制器,描述了基带链路控制器的数字信号处理规范,并与链路管 理器协同工作,负责执行像连接建立和功率控制等链路层的操作。基带收发器在跳频( 频 分) 的同时将时间划分( 时分) ,采用时分双工( t d d ) 工作方式( 交替发送和接收) ,基 带负责把数字信号写入并从收发器中读入数据,主要管理物理信道和链接,负责跳频选择 和蓝牙数据及信息帧的传输、像误码纠错、数据白化、蓝牙安全等。基带也管理同步和异 步链接,处理分组包,执行寻呼、查询来访及获取蓝牙设备名称等。 蓝牙工作在全球通用的2 4 g h z 的i s m 频段,虽然这个频段为全球通用,但实际上采 用的频率和带宽在各国有一些差异,在美国和欧洲以及国内。使用的带宽为8 3 5 m h z ,在 该频段里,以l m h z 的带宽为间隔设立了7 9 个射频跳频点。信道使用一组伪随机跳频序列, 经7 9 个射频跳频点的跳频序列来表示。跳频序列对匹克网是唯一的,而且由主单元蓝牙 设备编址确定,跳频序列的相位由主单元蓝牙时钟确定。信道被划分为时隙的形式,且每 时隙对应一个r f 跳频点。连续跳频则对应于不同r f 跳频模式,跳频速率为1 6 0 0 跳秒。 颁士论文 基千蓝牙技术的数据传输和文件传输的研究与实现 参加匹克网的全部蓝牙单元与信道保持时间和跳频的同步。 而在日本,西班牙和法国,缩减了带宽,在该频段里设立了2 3 个射频跳频点,其带 宽仍以1 m h z 为间隔,具体方案如下所示: c 目国、美国及欧洲 日本 西班牙 法国 2 4 0 0 2 4 8 5 2 4 71 2 4 9 7 2 4 4 5 2 4 7 5 2 4 4 6 5 2 4 8 3 5 f = 2 4 0 2 + k m h z f = 2 4 7 3 + k m h z f = 2 4 4 9 + k m t t z f = 2 4 5 4 + k m h z k = o ,1 , k = o ,1 , k = o ,1 , k = o ,1 , 蓝牙采用调频收发信号机来达到抗干扰和抑制信号衰减的作用,采用二进制调频模式 降低收发信号机的复杂性,其速率符号为l m s s 。信道被分成长度为6 2 5 u s 的标称时隙长 度。时隙依据匹克网主单元蓝牙时钟来编号。时隙编号区域为o 2 二。1 且循环周期是2 。 在各时隙中,主单元和从单元都能够传输分组。 蓝牙系统采用时分双工( t d d ) 的传输方案实现双工传输。在信道中,信息以分组方 式进行交换。各信息分组可采用不同的跳频实现传输。理论上讲,一个分组覆盖一个单时 隙,而实际上可以分为单时隙分组和多时隙分组,多时隙分组又可以分为覆盖三个时隙的 d i d 3 、d h 3 分组和覆盖五个时隙的d m 5 、d h 5 分组。 蓝牙协议使用电路交换和分组交换的混合方式。时隙保留用于同步分组。同时,蓝牙 能够同时支持一条异步数据信道,乃至三个同步语音信道,或一条同时支持数据和同步语 音的信道。每一条语音信道在每一方向上支持6 4 k b s 同步语音信道连接。异步信道最大 可不对称支持7 2 3 2 k b s ( 回程为5 7 6 k b s ) ,或对称支持4 3 3 9 k b s 的传输速率。 在蓝牙基带协议中规定,蓝牙设备可以使用4 种类型的地址用于同场合和状态。其中, 4 8 位的蓝牙设备地址b d a d d r ( i e e e 8 0 2 标准) ,是蓝牙设备连接过程的唯一标准;3 位的 匹克网激活节点地址a m _ a d d r ,用以标识匹克网中激活成员,该3 位地址全用作广播信息: 8 位的匹克网休眠节点地址p ma d d r ,用以标识匹克网中休眠的从节点;匹克网接入地址 a r a d d r ,分配给匹克网中要启动唤醒过程的从节点。 根据蓝牙1 1 的规范,数据以1 m b s 的速率进行传输,使用高斯型二进制f s k ( g f s k ) 模式。二进制“1 ”代表正频偏,二进制“0 ”代表负频偏,最大频偏在1 4 0 k h z 1 7 5k h z 之间。 每个蓝牙设备都有一个在各自内部运行的系统时钟,成为本地时钟,用来进行跳频和 同步。当匹克网主从节点通信时,彼此必须保持同步。在和其他设备的同步过程中,要在 本地时钟上面加上一个时钟偏移量( o f f s e t ) 。蓝牙的时钟频率是3 2 k h z ,时钟分辨率小于 蓝牙射频跳频周期分辨率的一半( 3 1 2 5 u s ) 。在匹克网中的定时和跳频都是由主设备的时 钟决定的。在匹克网建立的时候,主设备把自己的时钟传送给从设备,从设备给自己的本 鸺拢毖翻 硕上论立基于蓝牙技术的数据传输和文件传输的研究。1 实现 地时钟加上一个偏移量,实现与主设备的同步,由于各自的时钟不进行调节,所以必须对 偏移量进行周期性的调节。 2 3 蓝牙物理链路 在主单元和从单元之间,可以建立不同类型的链路,分为异步无连接 ( 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 ,a c l ) 链路和同步面向连接( s y n c h r o n i z a t i o n c o n n e c t i o no r i e n t e d ,s c o ) 链路。 同步面向连接( s c o ) 链路的目的是在匹克网中的主单元和从单元之间实现点到点链 接,主单元通过在规则间隙上使用保留时隙保持s c o 链接。而a c l 链接是主单元与共存于 匹克网中的所有从单元之间实现一对多的链接方式。在非s c o 链接保留时隙上,主单元可 以以时隙为单元建立到任何其它从单元的a c l 链接,且连接的从单元包括已处于s c o 的链 接方式中的从单元。 2 3 1s 链接 s c o 是在主单元与指定的从单元之间实现的对称的,点到点的链接。s c o 链接方式采 用保留时隙来传输分组,因此该方式可看作是在主单元和从单元之问实现的电路交换链 接。s c o 链接主要用于支持类似于像语音这类的时隙信息。从主单元方面看,它可以支持 多达3 路的指向相同从单元或不同从单元的s c o 链接。而从从单元方面看,针对同一主单 元可以支持多达3 路的s c o 链接,若连接来自于不同主单元,此时从单元只能支持2 路s c o 链接。 在b 1 u e t o o t hc o r es p e c i f i c a t i o n s1 2 中,还定义了另一种s c o 的链接,称为e s c o ( e x t e n d e ds 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 ,e s c o ) 。这是一个在主设备和特殊 从设备之间进行点对点逻辑传输的链接,同s c o 一样,e s c o 保留了一些时隙,因此可以看 作是主设备与从设备之间建立起的一个电路交换。对于这些保留下来的时隙,当被要求进 行重发时,e s c o 支持在这些保留的时隙后立即加上个重发帧窗口,不需要重发的时候这 些时隙都是空的,而s c o 是不支持重发的。这些保留的时隙和重发的帧窗口就构成了整个 e s c o 数据帧窗口。 2 3 2a c l 链接 在非s c o 链接保留时隙里,主单元可以时隙为单位与任何从单元交换分组。a c l 链接 提供在主单元与所有在匹克网中活动从单元的分组交换链接,并可以采用异步和等时两种 服务方式。在一个主单元和一个从单元之间,只能存在一个a c l 链接。对于大多数a c l 分 组,分组重传的目的在于确保数据的完整性。 在从主时隙里,当且仅当先前的主从时隙已被编址时,从单元允许返回个 顺士论文 基于蓝牙技术的数据传输和文件传输的研究复塑i 些 a c l 分组。如果在分组头的从单元地址解码失败,则不允许传输该分组。 为制订目的从单元的a c l 分组可视为广播分组,且可由各从单元读出。如果在a c l 链 接上没有数据可传输且未进行轮询申请,那么就不会发生任何传输过程。 乳4 蓝牙基带分组 2 - 4 1 基带分组格式 基带分组的各位根据小端格式( l i t t l ee n d i a nf o r m a t ) 进行格式化,在基带规范中 定义包和信息的时候得到确定。最小标准位( l e a s ts i g n i f i c a n tb i t ,l s b ) 对应于b l s b 是最先发送的。譬如一个参数x = 6 ,这个参数占一字节,那么把它转化成二进制就是b 。b 。b j b , b ,b :b b 。= 0 0 0 0 0 1i 0 ,这个参数根据小端格式进行传送,它的顺序是o l1 0 0 0 0 0 ,先传送o , 然后是1 、1 、最后传送五个o 。 数据在匹克网的信道中打包发送,通用的打包方式见下图2 ,2 。每个包包括三个实体, 接入码,分组头,和有效载荷。 l授入码分组头 有效载荷i 图2 2标准打包格式 2 4 2 接入码 每个文件包都由接入码开始,如果后面有分组头,那么接入码有7 2 位,如果没有的 话,接入码只有6 8 位。接入码的用途是用来同步,直流偏移补偿和作为标识。接入码标 识了所有在匹克网信道内交换的文件包,在同一个匹克网内交换的文件包都有同样的信道 接入码,在蓝牙的接收单元,一个滑变器使接入码和触发器当超过底限的时候相关,触发 器的信号用来决定接收的时间选择。 接入码分为三种类型,分别是信道接入码( c h a n n e la c c e s sc o d e ,c a c ) ,用于标识 设备所属的微微网,同一个微微网中,各个设备的c a c 相同,不同微微网中,各个设备的 c f c 不同;设备接入码( d e v i c ea c c e s sc o d e ,d a c ) ,用于寻呼和寻呼响应过程;查询接 入码( i n q u i r ya c c e s sc o d e ,i a c ) ,i a c 又分为通用查询接入码( g e n e r a li n q u i r ya c c e s s c o d e ,g i a c ) 和专用查询接入码( d e d i c a t e di n q u i r ya c c e s sc o d e ,d i a c ) ,g i a c 用于发 现覆盖范围内的其他蓝牙设备,d i a c 用于发现具有共同属性的专用设备组内的其他蓝牙设 备。 接入码有引导码,同步字和可选的尾码构成,具体见下图2 3 。 硕士论文 基于蓝牙技术的数据传输t f f l 文件传输的i | _ 究与实现 掣l 生t 堕1 4 辨2 r 1 t 一一一一。一一 l 引导码 l 同步字 l 尾码 : l 上一。一一一一一一il _ ,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 。_ _ 。_ _ - _ _ _ - - _ _ _ 。- 。_ _ _ _ _ _ _ _ _ - _ - _ _ - _ _ 。1 。_ 。- _ 。- 一 图2 3接入码格式 2 4 3 分组头 分组头中含有链路控制信息,具体由以下6 部分组成。 a ma d d r3 - b i t 激活成员的地址 t y p e4 - b it 分组类型码 f l o w 卜b i t 流量控制标志 a r q nl - b i t 无编号自动重发请求 s e q nl - b i t 序列号 h e c 8 - b i t 分组头错误校验 整个分组头,一共有1 8 位,打包格式见下图2 ,4 。 l a 辩 d d rw s i f l 砷一a i s e 。一1 w e c 图2 4分组头格式 b a m 代表一个成员的地址,用来与其他在同一个匹克网中的激活设备加以区别。_addr 在匹克网中,一个或者多个从设备与主设备相连接。为了区分每一个从设备,每个从设备 在它被激活时被分配了一个3 位的临时地址。在主设备与从设备进行交换的数据包,都带 有从设备的这个地址。当这个地址为全零的时候,表示主设备向从设备发送广播。当从设 备与主设备断开连接时,就失去这个地址,同样,一个新的从设备加入匹克网时一个新的 地址会被赋予这个地址。 t y p e 位共有四位,对于个4 位的分组类型码,一共有1 6 个不同的码组可以进行区 分,分别对应不同的分组类型。至关重要的是,分组类型码的不同依赖于物理链路连接发 送不同类型的数据包。首先,要确定数据包是在s c o 链路上还是在a c l 链路上发送,其次, 要确定接受的是s c o 数据包还是a c l 数据包。分组类型码还显示了当前的数据包占用了多 少个时隙。这避免了没有分配地址的接收设备在分组发送的时隙内侦听信道。在下一节 2 4 4 数据包分类中,将详细介绍根据t y p e 位进行区别的各种数据包类型。 f l o w 位用来作为a c l 链路上数据包的流控制。当a c l 链路的r x 缓冲区是满的而不是空 时,返回一个停止标志( f l o w = o ) 用来暂时停止数据的传输。需要注意的时,这个停止标 志只适用于a c l 链路。而对于s c o 数据包来说,仍然可以继续接受。当r x 缓冲区空时,会返 硕士论文 摹于蓝牙技术的数据传输和文件传输的研究与实现 回一个开始标志。当没有数据包发送时或者接受分组头错误时,在这种情况下,即使r x 缓 存区不为空,也可以接受新的数据包,同时进行c r c 校验。但即使c r c 校验通过,从设备会 返回否定应答( n e g a t i v ea c k n o w l e d g e m e n t ,n a k ) 。 蓝牙使用基于捎带( p i g g yb a c k ) 技术的无编号自动请求重发a r q ( a u t o m a t i cr e q u e s t r e q u e s t ) 机制,利用a r q n 只是发送方最近一次发送的分组是否被成功接收。接受方将a r q n 置于向发送返回的分组头内,用c r c 检查接受方是否已经成功的接收了前一分组。若接受 方正确的接收分组并通过c r c 校验时,返回肯定应答a c k ,a r q n = 1 ;反之,返回否定应答 n a k ,a r q n = o 。当发送方未收到确认信息,则认为接受方返回a r q n 的缺省值n a k 。 s e q n 提供了一个序列数表来给数据包流进行排序。对于每个新传送的带有c r c 校验的 数据包,s e q n 位是反转的。这是为了防止那些分组重发,如果由于没有收到的a c k 信号而 产生重发,目的地会连续收到两次同样的数据。通过比较连续数据包的s e q n 位,正确接受 的重发数据会被丢弃。而对于广播数据包,使用了一个模式化的序列方法。 每个分组头都有一个头错误校验码( h e c ) 用来检查分组头的完整性。h e c 带有的8 位 字符是由一个多项式产生的,在产生h e c 之前,h e c 产生器初始化一个8 位的值。对于用主 寻呼相应状态传输的f h s 数据包来说,使用了从设备的高位地址。对于使用查询相应状态 传输的f h s 数据包来说,使用了缺省检查初始化。在其他所有的产生方式中,都使用了主 设备的高位地址。关于h e c 的具体产生办法,可以参考b l u e t o o t hv 1 2c o r es p e c i f ic a t i o n s 中的7 1 1 节h e c 校验码的产生。 2 4 4 数据包类型 这儿是我们需要详细了解的章节,数据包的类型,直接的影响到蓝牙设备的数据的大 包方式和传送速率。 匹克网中所传送的数据包是与它们所在的物理链路由直接关系的,到现在为止, b i u e t o o t hc o r es p e c i f i c a t i o n s 定义了两种物理链路:s c o 链路和a c l 链路,对于每一条 链路,都定义了1 2 种不同的数据包类型。对于所有的链路类型来说,有四个控制数据包是 通用的,它们的类型码与链路类型无关。 为了说明在一条链路上的不同数据包,使用了四位分组类型码( t y p e ) 。数据包的类 型被分为四段。第一段作为所有物理链路类型的五个通用控制数据包( 还有一个i d 数据包 下表中没有列出) :四种数据包类型都被定义。第二段作为占用单一时隙的数据包;定义 了六种数据包类型。第三段的数据包占用三个时隙;定义了两种数据包类型。第四段的数 据包占用五个时隙;这儿定义了两种数据包类型。时隙的占用在其所在的段得到反映,也 能直接来源于数据包类型码。下表2 1 归类了所有s c o 链路和a c l 链路定义的数据包。 硕士论文 基于蓝牙技术的数据传输和文件传输的研究j 实现 表2 1s c o 链路j f l a c l 链路定义的分组类型 f分组类别分组类型码( b 出。b 。b ) 占用时隙s c o 链路a c l 链路 d 0 0 0 n u l ln u l l 链路控制分组 0 0 0 1 p o l lp o l l l ( 两种链路通用) 0 0 1 0f h sf h s 0 0 1 1d m ld m l 0 1 0 0未定义d h l 0 1 0 1h v l 0 1 1 0h v 2 单时隙分组 1未定义 0 1 1 lh v 3 1 0 0 0d v 1 0 0 1 未定义 a u x l 1 0 1 0d m 3 1 0 1 l d h 3 3 时隙分组 3 未定义 1 1 0 0 未定义 1 1 0 1 l l l 0 5 时隙分组 5未定义d m 5 1 1 l l 2 44 1 通用数据包类型 一共有五个通用数据包,在前面图表中列出的分组码类型中,i d 数据包没有列出,下 面介绍i d 数据包、空数据包、p o l l 数据包、f h s 数据包、d m i 数据包每个数据包的详细情况。 i d 数据包包括了设备接入码( d e v i c ea c c e s sc o d e ,d a c ) 或者是查询接入码( i n q u i r y a c c e s sc o d e ,i a c ) ,共有有固定的6 8 位。这是一个很有健壮性的数据包,接收设备接收 到数据包之后用一个比特相关器来和接收到的i d 数据包中的序列进行相关。这个数据包一 般用在寻呼,查询和常规响应中。 空数据包没有有效载荷,因此只带有信道接入码和数据包分组头。空数据包总共有1 2 6 位。它用来根据前面成功传输的a r q n 信号和r x 接受缓冲区状态( f l o w ) 将链路信息传回给 发送方。空数据包自身不需要确认。 p o l l 数据包非常类似于空数据包。它同样没有有效载荷。与空数据包相比,它需要接 受方的确认信号。它不是a r q 的一部分。p o l l 数据包对于a r q n 和s e q n 数据域没有影响。在 接受至o p o l l 数据包之后从设备必须要返回个数据包。这个数据包可以被匹克网中的主设 备用来选取从设备,除非没有任何消息需要发送。 兰! 主丝兰 一 薹士堕至垫查盟墼塑生煎塑苎堡堡塑堕型堡兰翌坠 在这些数据包之中,f h s 数据包是最关键最特殊的控制数据包。它用来指示蓝牙设备 地址和发送时钟。它的有效载荷包括1 4 4 位的信息码加上1 6 位的c r c 校验码a 有效负载用2 3 比率的f e c 进行校验,这样总的就带有2 4 0 位。f h s 数据包占有整个时隙。 图2 5 显示t f h s 的格式和有效载荷的内容,表2 2 表明t f h s d p 各个有效载荷的含义。 有效载荷包括了1 1 个部分。f h s 数据包用于主寻呼响应,查询响应和主从设备的切换。在 主寻呼响应和主从设备的切换中,数据包不停的被发送直到要求被接受或者是时间溢出。 在查询响应中,f h s 数据包不被确认。f h s 数据包包含有一个实时的时钟信息,这个时钟信 息在每次传输之前得到更新。f h s 有效载荷的传输也和其他通常数据包有效载荷的传输有 不同之处。f h s 数据包在匹克网信道建立之前用来建立跳频的同步,或者将一个存在的匹 克网切换成一个新的匹克网。在以前的情况下,接受设备不会被加上一个激活成员的地址, 而在f h s 数据包的分组头中a m a d d r 被设置为全零,这时f h s 数据包不被认识是一个广播数 据包。而这以后在已经存在的匹克网中从设备已经带有了一个a ma d d r ,这时候,f h s 数据 包分组头中就带有了a ma d d r 。 3 4n2:28 62 43 2 6 m s b l 揪雌p n a p 别陆| c l k :w 熬羹 l 奇儡棱验l a p l 表2 2f h s 中各段的含义 图2 5f h s 分组头 各段名称含义 奇偶校验基于l a p 组成发送该f h s 分组的设备的接入码同步字的一部分 发送该f h s 分组的设备的低地址部分,利用奇偶校验和l a p ,接收设备可以直接 l a p 形成发送该f h s 分组设备的c a c :长定义预留置0 扫描重复指示两个寻呼扫描之间的间隙,s r ( b , b 。) 取值为0 0 表示s r 模式为r o ,o l s r 表示s r 模式为r 2 ,1 l 为预留值 扫描间隔。s p ( bl b 。) 取值为o o 表示s p 模式为p 0 ,0 l 表示s p 模式为p 1 ,1 0 表示s p s p 模式为p 2 ,1 1 为预留值 u a p发送该f h s 分组的设备的高地址部分 n a p 发送该f h s 分组的设备的无效地址部分 设备类别详见b l u e t o o t hc o r es p e c i f i c a t i o n s 中关于蓝牙号码分配的部分 里l 主堡_ 文 一 薹堕要垫垄照墼篓焦塑里堕兰生堡塑笪塑墅型! 主兰里 a ma d d r活动成员地址 发送该f h s 分组的从设备的系统时钟,分辨率为l - 2 5 m s ,每一次新的传输都要 c l k 2 t 一2 修改c l k 。,从而实时地反映准确时钟值 寻呼扫 发送该f h s 分组的设备的缺省扫描模式,目前支持一种强制扫描模式和三种可 选扫描模式,寻呼扫描模式( b 出b 。) 取之0 0 0 表示强制模式,0 0 1 、0 1 0 、0 1 i 描模式 表示其他三种可选模式 第一类分组中的d m i 数据包在任何链路类型中都作为控制消息。而且,它还能携带常 规的用户消息。因为d 1 1 数据包可以被s c o 链路确认,所以它能够打断同步的信息流发送控 制信息。d m l 在a c l 信道中的作用在下文a c l 分组数据包中阐述。 2 4 4 2 $ c 0 分组数据包 由于在本设计中没有用的s c o 链路,因此也没有使用在s c o 链路中传送的数据包,所以 这一部分略过,具体可见b l u e t o o t hv 1 1 c o r ep r o f i l e4 4 2 部分。另外,在蓝牙1 2 协 议中还加入了e s c o 数据包类型。 2 44 3 a c l 分组数据包 a c l 分组数据包使用在异步链路上。这些信息可以携带用户的数据或者控制数据。包 招i d m l 数据包,现在已经定义了7 种a c l 数据包类型除t a u x l 数据包格式外,其余的6 种a c l 数据包包含了c r c 校验码,还包括了分组重传。下表2 3 列出了a c l 分组的各项参数。 表2 3a c l 分组类型参数 类型有效载荷头用户有效载荷f e cc r c对称最大速率前向k b p s反向k b p s d m llo 一一1 7 2 3有1 0 8 8 k b p s1 0 8 81 0 8 8 d h l1o 一一2 7无有 1 7 2 8 k b p s 1 7 2 81 7 2 8 d i a 32o 1 2 l 2 3有2 5 8 i k b p s 3 8 7 25 4 4 d h 32 o 一1 8 3无有3 9 0 4 k b p s 5 8 5 68 6 ,4 d m 52o _ 一2 2 4 2 3有 2 8 6 7 k b p s 4 7 7 83 6 3 d t 520 3 3 9无有 4 3 3 9 k b p s 7 2 3 25 7 6 a u x l10 - - 2 9无无 1 8 5 6 k b p s 1 8 5 61 8 5 6 晰l 数据包只带有数据信息,其中d m 表示d a t a m e d i u m ,中等数据率。它的有效载荷包 含有1 8 字节消息字( 其中包含有i 字节的有效载荷头) ,加上1 6 位的c r c 校验码。d m l 数据 硕七论文基于蓝牙技术的数据传输和文件传输的研塑实埋 包覆盖一个时隙。数据信息加上c r c 校验码都采用2 3 f e c ,对于每1 0 位加上5 个奇偶校验位。 如果有必要的话,还会在c r c 校验码之后再加上额外的0 作为补充。有效载荷头中的长度指 示说明了用户位数目。 d h l 数据包和d m l 数据包相类似,除了在消息的有效载荷中没有进行f e c 校验,因此, 一个d h i 帧带有2 8 字节的信息,加上1 6 位的c r c 校验码。d h 表示d a t a - h i g h ,高传输率。d h i 数据包也占有一个时隙。 d m 3 数据包相当于一个加长了有效载荷的d m l 数据包。d m 3 数据包占了3 个时隙。它的有 效载荷达到了1 2 3 字节( 其中包括2 字节的有效载荷头) 再加上1 6 位的c r c 校验码。当d m 3 数 据包被发送或者接受时,射频的跳频在3 个时隙内不变化( 第一个时隙是信道接入码被发 送的那个时隙) 。 d h 3 数据包类似于d m 3 数据包,也是在有效载荷处去掉了f e c 码。因此,d h 3 数据包带有 1 8 5 字节的信息( 包含2 字节有效载荷头) 和1 6 位c r c 校验码。d h 3 数据包也覆盖了3 4 时隙, 同d m 3 数据包一样,d h 3 数据包在发送和接受的时候,跳频系统也在三个时隙内保持不变, 把接收到信道接入码的那个时隙作为第一个时隙。 啪5 数据包是一个延长了有效载荷的d m l 数据包。d m 5 数据包覆盖了5 个时隙。有效载荷 包含有2 2 6 字节信息,其中包括2 字节有效载荷头和1 6 位c r c 校验码。有效载荷头中的长度 指示说明了传输的包含有有效载荷头和c r c 校验码的用户比特数。当传输和接受d m 5 数据包 的时候,跳频系统在五个时隙内保持不变,也将接收到信道接入码的那个时隙作为第一个 时隙。 d h 5 数据包和d m 5 数据包类似,去掉t d m 5 数据包中的f e c 2 q 错码。因此,d h 5 数据包带 有3 4 1 字节的数据( 包含有2 字节有效载荷头) 和1 6 位c r c 校验码。d h 5 数据包覆盖了5 个时 隙。当d h 5 数据包传送和接受时,跳频系统保持五个时隙不变化,把接收到信道接入码的 那个时隙作为第一个时隙。 a u x i 数据包类似于d h l 数据包,只是没有c r c 校验码。a u x i 数据包带有3 0 字节信息( 包 含有i 字节的有效载荷头) 。a u x i 数据包覆盖1 个时隙。 2 4 5 有效载荷格式 在前面对数据包描述中,考虑了几种

温馨提示

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

评论

0/150

提交评论