(通信与信息系统专业论文)蓝牙rfcomm协议的研究与实现.pdf_第1页
(通信与信息系统专业论文)蓝牙rfcomm协议的研究与实现.pdf_第2页
(通信与信息系统专业论文)蓝牙rfcomm协议的研究与实现.pdf_第3页
(通信与信息系统专业论文)蓝牙rfcomm协议的研究与实现.pdf_第4页
(通信与信息系统专业论文)蓝牙rfcomm协议的研究与实现.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(通信与信息系统专业论文)蓝牙rfcomm协议的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 蓝牙已经成为数字设备之、短距离无线互联的一种全球统一的技术标准,其 阿的就是要取代计算机与外设及其他电子设备之问的电缆,实现语音和数据的传 输。利用蓝牙技术,具有蓝牙功能的各种数字设备还可以方便的构成监牙微微网 f p i c n e t ) 和蓝牙散射髓 ( s c a t t e r n e t ) ,形成个人身边的无线区域型网络。 一个监牙系统在整体上可以分为底层硬件系统和上层软件系统。蓝牙软件协 议栈是整个蓝牙结构体系中的重要核心部分,是实现蓝牙各种功能的关键冈素。 本论文主要描述了蓝牙协议栈中串广| 仿真( r f c o m m ) 协议层的研制和开发,并 实现计算机上基于r f c o m m 的数据传输。 首先本文介绍了蓝牙技术的基本概念和技术特点,叙述r f c o m m 协议在蓝 牙体系的整体框架结构中的位置和作用。然后分别详细阐述了监牙r f c o m m 层 协议的内容和具体实现过程,还说明了本层协议和其他协议的相互调用。最后, 将奉层协议和小组其他成员研发的协议层合成一个完整的蓝牙协议栈,在 w i n d o w sx p 平台下丌发出了相应的应用软件。实现了蓝牙曲、议栈的基本功能, 为进一步开发嵌入式蓝牙系统打好了基础。 关键词:蓝牙串口仿真协议逻辑链路控制与适配协议服务发现协议 a b s t r a c t b l u e t o o t ht e c h n o l o g yh a sb e c o m eag l o b a lt e c h n o l o g ys t a n d a r do fs h o r tr a n g e c o m m u n i c a t i o nb e t w e e nd i g i t a le q u i p m e n t s ,w h i c hi si n t e n d e dt ot r a n s m i tv o i c ea n d d a t aw i t h o u th a v i n gt oc a b l ec o m p u t e ra n do t h e rs o r t so fe l e c t r o n i ce q u i p m e n t b y b l u e t o o t ht e c h n o l o g y , d i g i t a le q u i p m e n t sw i t hb l u c t o o t hf u n c t i o nc o u l dc o n s t r u c ta b l u e t o o t hp i c n e to rs c a t t e rn e t ,a n df o r map e r s o n a la r e an e t w o r k ab l u e t o o t hs y s t e mm a yb ed i v i d e dt ot w op a r t s :l o wh a r d w a r el a y e ra n dh i 曲 s o f t w a r el 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 ni 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 i sp a p e rd e s c r i b e st h er e s e a r c ho f r f c o m mp r o t o c o l l a y e r a n dr e a l i z e st h ed a t at r a n s m i s s i o no fr f c o m mo n c o m p u t e r 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 sa n dt e c h n i c a lf e a t u r e so fb l u e t o o t ha r e i n t r o d u c e d t h ep o s i t i o na n df u n c t i o no fr f c o m mp r o t o c o li nb l u e t o o t hs y s t e m s f r a m e w o r ks t r u c t u r eh a v e b e e n d e s c r i b e d t h e n ,t h e d e t a i l e dc o n t e n ta n d i m p l e m e n t a t i o np r o c e s sa r ee x p a t i a t e dr e s p e c t i v e l y t h er e l a t i o nb e t w e e nr f c o m m l a y e ra n do t h e rp r o t o c o li sa l s oe x p l a i n e d f i n a l l y , r f c o m mp r o t o c o la n do t h e rl a y e r p r o t o c o ld e v e l o p e db yo t h e rm e m b e r so ft h eg r o u pa r ei n t e g r a t e dt oac o m p l e t e b l u e t o o t hp r o t o c o ls t a c k ,p r o v i d e sa na p p l i c a t i o nb a s e do nw i n d o w sx pp l a t f o r m r e a l i z a t i o no ft h eb a s i cf u n c t i o n so ft h eb l u e t o o t hp r o t o c o ls t a c kw i l l l a y t h e f o u n d a t i o nf o rt h ef u r t h e rd e v e l o p m e n to fe m b e d d e db l u e t o o t hs y s t e m k e yw o r d s :b l u e t o o t hr f c o m m l 2 c a ps d p 独创性( 或创新性) 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:验躯日期 m ,f 2 7 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 牛在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保汪毕 业离校后,发表沦文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论义 在解密后遵守此规定) 木学位论文属于保密,在年解密后适用本授权书。 本人签名:塾盘日期:鲨2 :! :望: 导师签名 j 企j lr | 划:1 1 堂 第一章绪论 1 1 1 什么是蓝牙技术 第一章绪论 1 1 蓝牙技术概述 蓝牙( b l u e t o o t h ) 技术实际上是一种短距离无线电技术,利用“蓝牙”技术, 能够有效地简化掌上电脑、笔记本电脑和手机等移动通信终端设备之间的通信, 也能够成功地简化以上这些设备与因特网i n t e m e t 之问的通信,从而使这些现代通 信设备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。说得 通俗一点,就是蓝牙技术使得现代一些轻易携带的移动通信设备和电脑设备,不 必借助电缆就能联网,并且能够实现无线上因特网,其实际应用范围还可以拓展 到各种家电产品、消费电子产品和汽车等信息家电,组成一个巨大的无线通信网 络。“蓝牙”技术属于一种短距离、低成本的无线连接技术,是一种能够实现语音和 数据无线传输的丌放性方案,因此,目前无线通信的“蓝牙”已经引起了全球通 信业界和广大用户的密切关注。 1 1 2 蓝牙的技术内容 蓝牙的标准是i e e e 8 0 2 1 5 ,工作在2 4 g h z 频带,带宽为1 m b s 。以时分方式 进行全双工通信,其基带协议是电路交换和分组交换的组合。一个跳频频率发送 一个同步分组,每个分组占用一个时隙,使用扩频技术也可扩展到5 个时隙。同 时,蓝牙技术支持1 个异步数据通道或3 个并发的同步话音通道,或1 个同时传 送异步数据和同步话音的通道。每一个话音通道支持6 4 k b s 的同步话音;异步通 道支持最大速率为7 2 1 k b s ,反向应答速率为5 7 6 k b s 的非对称连接,或者是 4 3 2 6 k b s 的对称连接。 依据发射输出电平功率不同,蓝牙传输有3 种距离等级:c l a s s l 为1 0 0 m 左 右;c l a s s 2 约为l o m :c l a s s 3 约为2 - 3 m 。一般情况下,其正常的工作范围是l o m 半径之内。在此范围内,可进行多台设备间的互联。 蓝牙技术的特点包括: 1 ) 采用跳频技术,数据包短,抗信号衰减能力强; 2 ) 采用快速跳频和前向纠错方案以保证链路稳定,减少同频干扰和远距离传 输时的随机噪声影响; 3 ) 使用2 4 g h z i s m 频段,无须申请许可证; 4 ) 可同时支持数据、音频、视频信号; 2 蓝牙r f c o m m 协议的研究与实现 5 ) 采用f m 调制方式,降低设备的复杂性。 目前所公布的蓝牙技术参数如表1 i t l l 所示。 表1 1 蓝牙技术指标和系统参数 r 一“”7 + 一一一“ 工作频段 i s m 频段,2 4 0 2 - - 2 4 8 0 g h z l 双工方式 l 全双工,t d d 时分双工 _ l 一, 业务类璎i支持电路交换和分组交换业务 ;数据速率|1 m b s - 3 m b s 非同訾道速l 非对称连接7 2 帆雠,对称连接4 3 2 枞 $ 同步信道速率; 6 4 k b s i 功率;期眦赇删鼍然濮姻翱糯为 跳频频率数;7 9 个频点m h z “”m v h “w v _ h q 2 跳频速率l1 6 0 0 次,s 数据连接方式面向连接业务s c o ,无连接业务a c l j“一r ” “一“一“一 纠错方式1 3 f e c ,2 3 f e c ,a r q “ 一一一一 一一 鉴权l采用反应逻辑算术 一。一l 。+ ,。一一 信道加密采用0 位、4 0 位、6 0 位密钥 ”|+“” 语音编码方式;连续可变斜率调制c v s d “”“ 4 ”。“、“ 发射距离一般可达1 0 1 0 c m ,增加功率情况下可达1 0 0 m 1 1 3 蓝牙协议体系结构 蓝牙协议是蓝牙设备间交换信息所应遵守的规则。与开放系统互联( o s i ) 模 型一样,蓝牙技术的协议体系也采用分层方式,包括蓝牙专用协议和一些通用协 议。专用协议位于协议栈的底部,从底到上依次是蓝牙无线层( b l u e t o o t hr a d i o ) 、 基带层( b a s eb a n d ) 、l m p 层( l i n km a n a g e rp r o t o c 0 1 ) 、l 2 c a p 层( l o g i c a ll i n k c o n t r o la n da d a p t a t i o np r o t o c 0 1 ) 、s d p 层( s e r v i c ed i s c o v e r yp r o t o c 0 1 ) 。另外 r f c o m m 层以e t s i t s 0 7 1 0 为基础,目的是取代电缆连接:t c s ( t e l e p h o n y c o n t r o l p r o t o c o ls p e c i f i c a t i o n ) 以l t u - t 的q 9 3 1 为基础,目的是进行呼叫控制。在蓝牙 专用协议之上可以承载p p p 、t c p 佃、u d p i p 、w a p 等通用高层协议。每层分 别完成数据流的过滤和传输、跳频和数据帧传输、连接的建立和释放、链路的控 制、数据的拆装、业务质量( q o s ) 、协议的复用和分用等功能。蓝牙的高层协议 最大限度地重用了现存的协议,而且其高层应用协议都使用公共的数据链路和物 第一章绪论 3 理层。蓝牙技术规范的目的是使符合该规范的各种应用之间能够互通,本地设备 与远端设备使用相同的协议。蓝牙的协议体系结构如下图1 i t l i 所示: 图1 1 蓝牙协议体系结构 1 蓝牙底层协议 底层协议是蓝牙技术的核心协议,所有嵌入蓝牙技术的设备都必须包括底层 协议。它主要由链路管理层( l m p i j i l 】( m a n a g e r p r o t o c 0 1 ) 、基带层( b b b a s e b a n d ) 和射频( r fr a d i of r e q u e n c y ) 组成。其功能是:无线连接层( r f ) 通过2 4 g h z 无需申请的i s m 频段,实现数据流的过滤和传输,它主要定义了对工作在此频段 的蓝牙接收机应满足的要求。 1 1 基带层( b b ) 提供了两种不同的物理链路( 同步面向连接链路s c o s y n c h r o n o u sc o n n e c t i o no r i e n t e d 和异步无连接链路a c la s y n c h r o n o u s c o n n e c t i o nl e s s ) ,负责跳频和蓝牙数据及信息帧的传输,且对所有类型的 数据包提供了不同层次的前向纠错码( f e cf r e q u e n c ye r r o rc o r r e c t i o n ) 或 4 蓝牙r f c o m m 协议的研究与实现 循环沉余度差错校验( c t cc y c l i cr e d u n d a n c yc h e c k ) 。 2 ) l m p 层负责两个或多个设备链路的建立和拆除及链路的安全和控制,如鉴 权和加密、控制和协商基带包的大小等,它为上层软件模块提供了不同的 访问入口。 3 1 蓝牙主机控制器接口h c i ( h o s tc o n t r o l l e ri n t e r f a c e ) 由基带控制器、连接 管理器、控制和事件寄存器等组成。它是蓝牙协议中软硬件之间的接口, 它提供了一个调用下层b b 、i n i 、状态和控制寄存器等硬件的统一命令, 上、下两个模块接口之间的消息和数据的传递必须通过h c i 的解释才能进 行。h c i 层以上的协议软件实体运行在主机上,而h c i 以下的功能由蓝牙 设备来完成,二者之间通过传输层进行交互。 乙蓝牙中问层协议 中间协议层由逻辑链路控制与适配协议l 2 c a p ( i j 0 西c a ll i n kc o n t r o la n d a d a p t a t i o np r o t o c 0 1 ) 、服务发现协议s d p ( s e r v i c ed i s c o v e r yp r o t o c 0 1 ) 、串口仿真 协议或称线缆替换协议r f c o m m 和二进制电话控制协议t c s ( t e l e p h o n yc o n t r o l p r o t o c o ls p e c t a d e ) 组成。 1 ) l 2 c a p 是蓝牙协议栈的核心组成部分,也是其它协议实现的基础。它位于 基带之上,向上层提供面向连接的和无连接的数据服务。它主要完成数据 的拆装、服务质量控制,协议的复用、分组的分割和重组( s e g m e n t m i o n a n d r e a s s e m b l y ) 及组提取等功能。l 2 c a p 允许高达6 4 k b 的数据分组。 劲s d p 是一个基于客户服务器结构的协议。它工作在l 2 c a p 层之上,为上 层应用程序提供一种机制来发现可用的服务及其属性,而服务的属性包括 服务的类型及该服务所需的机制或协议信息。 3 ) r f c o m m 是一个仿真有线链路的无线数据仿真协议,符合e t s i 标准的 i s0 7 1 0 串口仿真协议。它在蓝牙基带上仿真r s 2 3 2 的控制和数据信号, 为原先使用串行连接的上层业务提供传送能力。 舢t c s 是一个基于1 t u tq 9 3 1 建议的采用面向比特的协议,它定义了用于 蓝牙设备之间建立语音和数据呼叫的控制信令( c a l lc o n t r o ls i g n a l i n g ) , 并负责处理蓝牙设备组的移动管理过程。 3 蓝牙高端应用层协议 一个完整的蓝牙协议栈按其功能又可划分为四层;核心协议层( b b 、l m p 、 l c a p 、s d p ) 、线缆替换协议层( r f c o m m ) 、电话控制协议层( t c s b i n ) 、选 用协议层( p p p 、t c p 、t p 、u d p 、o b e x 、i r m c 、w a p 、w a e ) 。高端应用层位 于蓝牙协议栈的最上部分,而高端应用层就是由选用协议层组成。 1 1p p p ( p o i n t t o p o i n tp r o t o c 0 1 ) 是点到点协议,它由封装、链路控制协议、 网络控制协议组成,它定义了串行点到点链路应当如何传输因特网协议数 第一章绪论 5 据,它主要用于t a n 接入、拨号网络及传真等应用规范。 2 ) t c p f l p ( 传输控制协议网络层协议) 、u d p ( u s e rd a t a g r a mp r o t o c o l 对象交 换协议) 是三种已有的协议,它定义了因特网与网络相关的通信及其他计 算机设备和外围设备之间的通信。蓝牙采用或共享这些已有的协议去实现 与连接因特网的设备的通信,这样,既可提高效率,又可在一定程度上保 证蓝牙技术和其它通信技术的互操作性。 3 ) o b e x ( o b j e c te x c h a n g ep r o t o c 0 1 ) 是对象交换协议,它支持设备间的数据 交换,采用客户服务器模式提供与h t t p ( 超文本传输协议) 相同的基本 功能。该协议作为一个开放性标准还定义了可用于交换的电子商务卡、个 人日程表、消息、和便条等格式。 4 ) w a p ( w i r e l e s sa p p l i c a t i o np r o t o c 0 1 ) 是无线应用协议,它的目的是要在数 字蜂窝电话和其它小型无线设备上实现因特网业务。它支持移动电话浏览 网页、收取电子邮件和其它基于因特网的协议。 5 ) w a e ( w i r e l e s s a p p l i c a t i o n e n v i r o n m e n t ) 是无线应用环境,它提供用于w a p 电话和个人数字助理p d a ( p e r s o n a ld i g i t a la s s i s t a n t ) 所需的各种应用软 件。 1 1 4 蓝牙技术的发展现状 作为一种近距离无线通信技术规范,蓝牙初始的定义就是用来解决线缆困扰, 实现短距离的无线连接。凭借其在无线方面的清晰定位,蓝牙迅速奠定了在个人 短距离无线通信上的市场地位,在手机、p c 及外设、耳机等方面均有上佳表现, 成为世界无线网络主要技术之一。 近年来随着蓝牙技术的不断发展和深入,蓝牙已不再仅仅局限于初始的定义, 开始将设备之间的无线连接融合起来,形成一个个人的无线网络,即个人区域网 ( p a n ) ,使得在其范围之内的各种信息化的移动设备都能实现无缝的资源共享。 蓝牙的应用也随之不断的拓展,从手机、笔记本、耳机等这样的手持终端扩展到 各行各业,如汽车、医疗、工业控制、办公应用、电子商务等等,所涉及的技术、 功能、市场等要求越柬越高,产业链也同益复杂,已成为人们所关注的重点。 1 2 1 所选课题的来源及意义 1 2 课题来源和开发环境 论文束源于本实验室的一项课题研究,该项目主要目的是利用蓝牙技术,实 现手持终端与本地网络聊天软件的连接,使两台不同的手持终端可以借助聊天软 6 蓝牙r f c o m m 协议的研究与实现 件的v o i p 语音功能实现免费的语音聊天。项目的主要任务是蓝牙协议的软件实 现,本人在这次项目中承担蓝牙r f c o m m 通信协议的软件实现,并在此基础上顺 利的完成了控制信息和语音数据的交换。 由于目前公开的蓝牙协议文档中介绍r f c o m m 层协议时,仅给出它与e t s i t s0 7 1 0 规范的不同之处,以及蓝牙协议在这一层应具有的功能,并没有讨论如何 实现这一层协议。加之r f c o m m 协议是基于t s0 7 1 0 协议的,因此实现r f c o m m 协议时,需要先对t s0 7 1 0 协议有比较深入的理解。因此给r f c o m m 层协议的 实现带来了困难。本文结合l 2 c a p 和s d p 协议层,以及本项目的特殊要求,主 要对在蓝牙协议中使用t s0 7 1 0 的帧进行了分析,给出了实现r f c o m m 协议层 的具体软件实现方案。 1 2 2 项目开发环境【2 i 该项目所使用的实验工具包括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 软件开发包:使用w i n d o w s 2 0 0 0 x p 操作系 统和v c 编译器。下面我们主要介绍与本论文有关的c a s i r a 蓝牙开发环境。 作为世界上最大的蓝牙芯片提供商英国c s r 公司推出用于蓝牙嵌入式应用的 b l u e c o r e 蓝牙芯片家族,并且提供相应的蓝牙开发工具及蓝牙协议栈。 c s r 开发系统主要包括c s rb i u e l a b ( 软件开发包) 和c a s i r a 开发工具包。 b l u e l a b 是专用于进行嵌入c s rb l u e c o r e 内部的应用程序开发的软件开发平台。它 并不支持运行在p c s 或者其他外部微控制器的应用开发。它可以将应用程序在 b l u e c o r e 的v m 中运行。 b l u e l a b 主要用于以下应用的开发: 无线耳机( w i r e l e s sh e a d s e t ) ,用于蜂窝手机和p d a s ; h a n df r e e 汽车系统的应用; r s 2 3 2 线缆替代的应用; 蓝牙无线鼠标、键盘以及其他用户接口设备的开发。 b l u e l a b 为c s r 的b l u e c o r e 芯片创建代码。所以除了b l u e l a b ,还需要一套 c a s i r a 开发系统。主要用来使用户编写运行在芯片上的应用代码,主要包括一套完 整的开发工具,包括编译器、连接器和仿真器,还有一些库的源代码。 1 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 刖a r t ) 连线和耳麦等 配件。下面我们将对c a s i r a 各部件进行分析与介绍。 仿真系统主要包括两个完全一样的开发板,可以通过一个蓝牙链接来收发数 第一章绪论 7 据和语音。每个开发板还内嵌一个蓝牙无线收发子模组。插入到主板里的无线子 模组包括前端滤波器、功率放大器、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 1 0 连线和电源插座。 2 软件开发平台b l u e l a b 用c s r b l u e l a b 开发应用程序,是在c y g w i n 环境下以命令行的形式进行编译、 连接和向f l a s h 存储器内写程序。 c y g w i n 是一个给w i n d o w s 用的u n i x 环境,目前由r e dh a t 控制,是一个 g p l 的开放软件。它包括两个部分:一个d l l ( c y g w i n l d l1 1 作为u n i x 模拟层,提 供了u n i x 的标准a p i ;另外提供了一组从u n i x 移植来的工具,如i s ,c a t ,v i 等,提供适用u n i x 的“感觉”。 c s r 开发系统所用的编译器x a p 1 0 c a l x a p g e e 是源自g n u 的c 编译器,运 行在c y g w i n 下。它将编译c 源代码并生成一个文件扩展名为的对象文件。连接 器l d 将分析这个对象文件,链接相应的库,并生成几个对应的应用程序文件* a p p , t d b g ,t s y m ,* - x a p 将汇编指令编译成可下载的信息并且提供对对象文件的分析。 c s r b l u e l a b 提供的调试器a p p d e b u g 可以用束装载应用程序代码、调试、设 置断点、实时单步执行、察看内存、完全的符号列表、编译器和硬件仿真。 1 3 本论文的主要工作和内容安排 以上简要的讨论了无线个域网中蓝牙技术的起源、技术内容以及蓝牙技术的 发展现状,可以看到蓝牙技术的优势是:支持语音和数掘传输;采用无线电技术 传输范围大,可以穿透不同物质以及在物质问扩散;采用调频展频技术,抗干扰 性强,不容易窃听;使用在各国都不受限制的频谱:功耗低,成本低。蓝牙的劣 势是:传输速度慢,距离短。由于蓝牙功耗低,成本低,使用蓝牙非常适合应用 于短距离的传输。 论文主要描述了蓝牙系统中r f c o m m 协议层的研制和歼发,并实现计算机上 基于r f c o m m 的数据传输。本文首先介绍了蓝牙技术的基本概念和技术特点,叙 述r f c o m m 协议在蓝牙体系的整体框架结构中的位置和作用。然后分别详细阐述 了蓝牙协议栈r f c o m m 层协议的内容和具体实现过程,还说明了本层协议和其他 8 蓝牙r f c o m m 协议的研究与实现 协议的相互调用。最后,将本层协议和小组其他成员研发的协议层合成一个完整 的蓝牙协议栈,在w i n d o w sx p 平台下开发出了简单的蓝牙聊天软件。实现了蓝牙 协议栈的基本功能,为进一步开发嵌入式蓝牙系统打好了基础。 论文的具体章节安排如下: 第一章蓝牙技术的概述及本课题开发环境; 第二章详细分析了r f c o m m 协议及其功能; 第三章提出了r f c o m m 协议的软件实现方案; 第四章介绍基于蓝牙r f c o m m 协议的聊天软件; 最后总结本课题的成果以及对进一步研究的设想。 第二章r f c o m m 协议层分析 9 第二章r f c o m m 协议层分析 r f c o m m 协议层位于l 2 c a p 协议层和应用层协议之间,是一个传输层协议。 它提供了基于l 2 c a p 协议层之上的模拟串口,完成了对r s 2 3 2 串口的仿真。使得 以前遗留下来的基于串口通信的应用程序,能很容易的应用到蓝牙协议之上,保 证蓝牙技术与现有技术的融合,以及各种应用之间的互通性。 2 1r f c o m m 协议功能 r f c o m m 协议对9 针的r s 2 3 2 串口进行模拟,最大可以在两个b t 设备之 间同时提供6 0 个连接,可由b t 设备同时使用的连接数景要根据实际应用情况而 定。 r f c o m m 的目的是针对如何在两个不同设备( 通信端点) 上的应用之问保证 一条完整的通行路径,并在它们中间保持一通信段。图2 1 4 1 表示一条完整的通信 路径。图中的应用不只表示终端应用,也可以是高层协议或作为终端用户应用的 其他服务。 图2 1 r f c o m m 通信段 根据实现方式不同,存在两种类型的b t 设备: 1 ) 类型1 的b t 设备本身具有完整的b l u e t o o t h ( b t ) 硬件和软件,能独立完成 b l u e t o o t h 的功能,实现通信设备之问的短距离无线连接,如计算机和打印 机等。 2 ) 类型2 的b t 设备仅仅起到类似于m o d e m 的功能,负责将普通设备所要传 输的信息与b l u e t o o t h 格式的码流的相互转换。当采用类型2 的b t 设备时, 数据传输的瓶颈在于实际的串口之间的有线连接,即受到标准串口最高速 率的限制;而采用类型1 的b t 设备时,数据传输的速率则不受到串口速 率的限制。 r f c o m m 协议并不区分这两种设备,在两个r f c o m m 实体问传送的信急也 都支持这两种设备,其中有些信息只用于类型2 的设备。由于一个设备并不知道 通行路径上的其他设备类型,所以每一个设备都应按照协议规定发送所有可用信 息。 1 0 蓝牙r f c o m m 协议的研究与实现 2 2r f c o m m 服务 r f c o m m 仿真r s 2 3 2 串口,包括控制信号的仿真和空m o d e m 的仿真。 r f c o m m 支持两个设备间的多串口仿真,也支持多个设备间多串口的仿真。 2 2 1r s 2 3 2 控制信号 r f c o m m 仿真9 针r s 2 3 2 接口,9 针的定义见下表所示。 表2 1 【4 l 常用的9 条r s - 2 3 2 信号线 引脚信号名称信号方向简称 信号功能 1 载波检测d c e - d t ed c d 数据链路已迮接 2接受数据d c b d t er x d d t e 接受串行数据 3发送数据d t e d c e咖 d t e 发送串行数据 4数据终端就绪d t e d c e删t d t e 准备就绪 5 信号地 s g 公共信号地 6 数据设备就绪 d c e d t ed s r d c e 设备就绪,可以接收 7 请求发送d t e - d c er t sd t e 通知d c e 请求发送 8 消除发送d c e - d t e d c e 己切换到接收模式 9 振铃指示d c e d t er i 通知d t e 有远稃呼叫 r s 2 3 2 c 标准定义的接口电路可以分为4 类:地、数据、控制和定时。所有 的电路名称都从d t e 角度出发说明。 图2 2 h 给出了r s - 2 3 2 dt e 侧的d b 9 插头各管脚的信号定义。 信号地s g 数据终端就绪d t r 发送数据t x d 接受数据r x d 载波检测d c d 9 振铃指示r i 8清除发送c t s 7请求发送r t s 6 数据设备就绪d s r 图2 2 d b 9 插图示意图 信号r t s 、c t s 、d s r 、d c d 、d t r 和r l 都表示控制信号。这些信号有效时, 表示通( 0 n ) 状态( 二进制0 、高电平) :反之表示断开( o f f ) 状态( 二进制1 、 低电平) 。信号线t x d 和r x d 为数据传输信号线。下面对这9 条信号线的功能进 行具体说明: 1 ) 当d c e 接收到远程载波,发出d c do n ,通知d t e 通信链路己连接,此 时可以进行数据传输。远程载波消失时,d c e 通过发出d c do f f 信号通 知d t e 断开连接。 第_ 二章r f c o m m 协议层分析 2 ) 接收数据( r x d ) 是d t e 从d c e 接收串行数据,该信号与其他信号状态 无关。 3 ) 发送数据( t x d ) 是d t e 向d c e 发送串行数据。只有r t s ,c t s ,d s r , d t r 信号都有效时,d t e 才发送数据。 4 ) 数据端就绪( d t r ) 表明d t e 已经准备就绪。d t e 通常在通信开始时发 出d t r 信号,并在整个过程中保持o n 状态。 5 ) 信号地( s 0 0 是整个电路的公共信号地,作为所有信号的参考地。 6 ) 数据设备就绪( d s r ) 表示d c e 准备就绪,可以接收数据。它并不表示 已经建立端到端的连接,而只表明本地d c e 的状态。 7 ) 请求发送( r t s ) 信号和清除发送( c t s ) 信号一起提供了控制d t e 与 d c e 之间数据流的一种方法。当d t e 要求发送数据或从接收模式切换到 发送模式时,发出r t s 信号,以通知d c e ,d t e 请求发送数据。d t e 发 送r t s 信号请求发送数据后,不能立即发送数据。因为d c e 不可能在瞬 间完成线路切换,因而,d t e 必须检测c t s 信号。当d c e 向d t e 发送 c t s 信号后表明d c e 已经切换到数据接收模式,这时d t e 才可以发送数 据。 8 ) 振铃指示( r i ) 的作用是当d c e 接收到线路上有振铃信号时,发出控制 信号,以通知d t e 有一个远程呼叫。 2 2 2 空m o d e m 仿真 空调制解调器是计算机通信网络中的一种模拟的调制解调器,本地计算机可 以使用它和周围需要调制解调器的外设相连。在传输控制信号时,r f c o m m 并不 区分d t e 和d c e 设备,这些控制信号包括在m s c 命令中。对应关系如下表2 2 t 5 】 所示。 表2 2t s0 7 1 0 和r s 2 3 2 控制信号之间的对府关系 t s0 7 加信号对应的r s 2 3 2 控制信号 r t cd s r ,d t r m r t s ,c r s i cr l d v d c d 当两个同类设备相连时,r f c o m m 通过传输r s 2 3 2 信号创建一个隐含的调制 解调器。没有哪一种空调制解调器电缆连线方案能适用所有的情况,但r f c o m m 中提供的空调制解调器方案适用于大多数情况。图2 3 1 5 展示了两个d t e 设备通 过r f c o m m 相连时创建的空调制解调器。 蓝牙r f c o m m 协议的研究与实现 2 2 3 多串口仿真 f gl f g1 := = = r t d d ;r d3 ,、r d3 c r ,t 。s :二二二 c r t 。$ t :c t s5 ,、cs5 图2 3r f ( m md t e - d t e 空m o d e m 仿真 1 两个设备间的多串口仿真 使用r f c o m m 通信的两个蓝牙设备可以打开多串口仿真,如图3 3 所示。 r f c o m m 最多可支持6 0 路仿真端口,但具体到某一设备,还要视生产商的具体 实现而定。数据链路连接识别器( d a t an n kc o n n e c t i o ni d e n t i f i e r ,d l c i ) 用来识 别客户机和服务器问应用的正在进行的连接。d l c i 包含6 b i t ,但其值范围是2 6 1 。 在 i s0 7 1 0 中,d l c l 0 指示控制信道,d l c l l 由于服务器信道的概念不可用, 而d l c l 6 2 6 3 是保留的。在两个设备间的一次r f c o m m 会话中,d l c i 是独有的。 客户机和服务器应用都可以驻留在r f c o m m 会话的两端,而任一端的客户都可发 起独立于两端的连接,因此,采用r f c o m m 服务器信道的概念,将d l c i 值空间 在两个设备问划分。 串口仿真 串口仿真 图2 4 【5 i 两台设备间的多串口仿真 第二章r f c o m m 协议层分析 2 多串口仿真和多个蓝牙设备 如果一台蓝牙设备与不止一台蓝牙设备间存在多路仿真串口,那么该设备上 r f c o m m 实体必须具有运行多个 i s0 7 1 0 多路复用器会话的能力。如图2 5 t “所 示,每个多路复用器会话都使用各自的l 2 c a p 信道j d 。运行多个t s0 7 1 0 多路 复用器会话的能力,对r f c o m m 来说是可选的。 图2 5 同时与两台设备存在多路仿真 2 3r f c o m m 参考模型 r f c o m m 是用来仿真串口的协议。在大多数的系统中,它是作为端口驱动程 序的一部分出现的。图2 6 t 5 1 是r f c o m m 在一个典型系统中的参考模型。 一闹 。谢写1 + 疆翻f i服务注腮搜索卜一叫 端口仿真实体 1 、州r 猢f韶荔麟f 1 r f s d p l r f 删 l 2 ( a p 基带 端r l 接l l 如虚拟串口 r f 删 服务接口 图2 6r f c o m m 参考模璎 1 ) 端口仿真实体( p o r te m u l a t i o ne n t i t y ) :将特定系统的通信a p i 映射为 r f c o m m 服务。它和r f c o m m 起构成端口驱动程序。 2 ) 服务注册搜索( s e r v i c er e g i s t r a t i o n d i s c o v e r y ) :将服务应用注册到本地 设备,使其他设备上的客户应用能够发现它并与之连接。 单个应用或服务的注册以及需到达蓝牙服务器信道的信息,由各个应用自行 1 4 蓝牙r f c o m m 协议的研究与实现 负责。所有通过r f c o m m 可获得的程序或服务必须提供s d p 服务记录,该服务 记录包含了到达对应应用程序所必须的参数,例如s e r v e r c h a n n e l 号。为了支持运 行在虚拟串行端口上的遗留程序,服务注册必须由某种帮助应用程序完成,该程 序帮助用户建立端口。一个服务记录的例子如表2 3 。 表2 , 3r f c o m m 服务记录范例 项目 定义类型:k d 值属性i d s e r v i c e o a s s l i s t0 x o 0 0 1 s e r v i c e c l a s s 0串口 u u i d ,3 2 - b i t p r o t o c o l d e s c r i p t o r l i s t 0 x 0 0 0 4 p r o t o c 0 1 0 l 2 c a pu u i d 3 2 b i tl 2 c a p p r o t o o a l lr f c o m mu u j d 3 2 b i tr f c o m m p r o t o c o l s p e c i f l c p a r a m e t e r 0服务信道 u i n l 8 n = 服务器 信道# 服务名称 可显示的文本数据元素,字 “c o m 5 ” 名称符串 表2 3 是利用r f c o m m 来开发给定服务或模型的服务记录模板范例。该模板 以个服务类和一个协议描述器列表为例、该列表包含两个协议;同时,该模板 还展示了另一个通用属性的用法;对于每个运行于r f c o m m 之上的服务,都可应 用适当的s d p 定义的通用属性或特定服务属性,详见s d p 规范。客户应用若要连 接到一个运行于r f c o m m 之上的服务,最少需要两个属性:服务类i d 列表和协 议描述器列表。 2 4r f c o m m 提供的接口函数 r f c o m m 提供的接口主要是指r f c o m m 为上层应用提供的接口,上层应用 可以使用该接口调用r f c o m m 提供的服务。 1 ) 获取可用d l c i 。在本地r f c o m m 实体中分配一个可用的d l c i 配置信道。 对信道参数进行配置。 2 ) 请求建立连接。请求与远端设备r f c o m m 实体上的一条d l c i 建立连接 ( 如果d l c

温馨提示

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

评论

0/150

提交评论