(信号与信息处理专业论文)蓝牙hcrp协议测试分析平台的系统架构设计.pdf_第1页
(信号与信息处理专业论文)蓝牙hcrp协议测试分析平台的系统架构设计.pdf_第2页
(信号与信息处理专业论文)蓝牙hcrp协议测试分析平台的系统架构设计.pdf_第3页
(信号与信息处理专业论文)蓝牙hcrp协议测试分析平台的系统架构设计.pdf_第4页
(信号与信息处理专业论文)蓝牙hcrp协议测试分析平台的系统架构设计.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(信号与信息处理专业论文)蓝牙hcrp协议测试分析平台的系统架构设计.pdf.pdf 免费下载

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

文档简介

u 了科技人学坝l + 论义蕊牙h c r p 光线传输系统的始构i 5 计 摘要 蓝牙技术是种面向短距离的无线通信技术,工作在i s m 频段,是一种颇 具有应用前景的无线传输协议。 本文介绍蓝牙h c r p 协议测试分析平台的系统设计,内容包括系统架构设 计中的两个部分:蓝牙及类似协议的高层协议栈实现方法,和整个数据通路的搭 建思路。 在协议栈实现部分,讨论了面向多任务和面向单任务两种协议栈设计方法, 并比较了他们的优缺点,说明了面向多任务的设计方法在思路上比较清晰,但是 消息的传递需要频繁的上下文从而导致效率比较低:面向单任务的方法可以克服 这个缺点,并且具有移植性高的特点。 最后重点讨论h c r p 无线传输系统的数据通路实现,并最后给出试验结果。 系统架构的核心依据是整个系统的数据通路,以及通路涉及的各种接口。由于所 用的蓝牙协议栈提供的是用户态的a p i ,而w i n d o w s 2 0 0 0 操作系统中打印数据必 须通过内核的端口驱动程序来截取,因此在最终的架构上采耿了特殊的用户态应 用程序与内核驱动程序的数据通信手段,从而达到蓝牙h c r p 打印试验的目的。 本课题的研究遵循b l u e t o o t h l 1 协议以及h c r po 9 5 协议,在w i n d o w s 2 0 0 0 操作系统下利用p r o t e l ,v i s u a lc + + 6 0 ,w i n 2 kd d k ,d r i v e r s t u d i o ,蓝牙协议栈 b l u e s t a c k 及其丌发工具p r o t o d e v e l o p e r 等完成了整个平台的架构与设计,为类 似系统包括蓝牙:或者无线局域网的应用设计提供了有价值的参考。 同时本研究设计出的h c r p 无线传输系统,为b l u e t o o t h 提供了良好的协议 测试与分析平台,并向b l u e t o o t h 的s i g 组织提供了有价值的协议修改建议。 关键词:蓝牙,h c r p ,b l u e s t a c k ,无线,协议栈,d d k ,打印。 u 了科挫人学侦f 论文蕊牙h c r p 光线传输系统的聚构砹汁 a b s t r a c t b u e t o o t hj saw i r e l e s st e c h n o l o g yo p e r a t i n gi nt h e2 4g h zi s mb a n df o rs h o r t d i s t a n c ec o m m u n i c a t i o n i ti s b e i n gd e v e l o p e df a s tf o r i t s g o o dp e r f o r m a n c ea n d b r o a da p p l i c a t i o np r o s p e c t t h ep r i m a r ya i mo ft h i sp a p e ri st od e v e l o pab l u e t o o t hh c r pp r o t o e 0 1t e s ta n d a n a l y s i sp l a t f o r r n o nt h eb a s i so fp r o t o c o la n dw i n d o w s2 0 0 0o p e r a t i n gs y s t e m a n a l y s i s t w op a r t so ft h es y s t e md e s i g n i s r e p r e s e n t e d t h ei m p l e m e n t a t i o n o f b j u e t o o t hp o r t o c 0 1s t a c ka n dt h ed a t a p a t hd e s i g no f t h ew h o l es y s t e m f i r s t w ei n t r o d u c et h eb l u e t o o t ha n dh c r p ( h a r d c o p yc a b l er e p l a c e m e n t p r o f i l e ) p r o t o c o la n dt h e na n a l y s et h ei m p l e m e n t a t i o no fb l u e t o o t ha n da n a l o g o u s c o m m u n i c a t i o n p r o t o c o l s t a c k ,t w o d e s i g nm o d e l s ,s i n g l e t a s k - o r i e n t e d a n d m u l t i t a s k o r i e n t e d a r ed i s c u s s e d w ec o n c l u d et h a tt h em u f f t a s k o r i e n t e dm e t h o di s g o o df o rp r o g r a m m e db u tt h ee f f i c i e n c yi s i o wb e c a u s eo ft h ef r e q u e n ts w i t c h e so f c o n t e x t w h i c hc o n s u m e sm u c ht i m eo ft h ec p u t h es i n g l e t a s k o r i e n t e dm e t h o dc a n a v o i dt h i sa n db e h a v e sw e l lw h e np o r t i n g , a ti a s t t h e p a p e r f o c u s e so nt h e d a t a p a t hd e v e l o p m e n t o faw i r e l e s s c o m m u n i c a t i o ns y s t e mw i t hb l u e t o o t hh a r d c o p yc a b l er e p l a c e m e n tp r o f i l e ( h c r p ) , w h i c hi sm o s t l yf o rt e s ta n da n a l y s i so fv a l i d i t ya n dp e r f o r m a n c eo fh c r p p r o t o c 0 1 s o m ee x p e r i m e n t sd a t aa n dc o n c l u s i o na r eg i v e na tm ee n do ft h i sp a p e r f o rt h e b l u e s t a c kp r o v i d e st h eu s e ta p if o rw i n d o w s 2 0 0 0p r o g r a m m e rw h i l et h ep r i n t i n g d a t as t r e a mm u s tb e g o tf r o mt h ek e m e lp o r td r i v e r w ea d o p ts o m es p e c i a l c o m m u n i c a t i o nm e t h o dt oi m p l e m e n tt h es y s t e m t h ed e v e l o p m e n ta n dt e s ta r cb a s e do nb l u e t o o t hc o r es p e c i f i c a t i o nv 1 1a n d h c r pv 0 9 5 w i t hb l u e s t a c kp r o t o d e v e l o p e rr e l e a s e db ym e z o ec o r p o r a t i o n a l l s o f l w a r e sc a nr u nu n d e rw i n 2 0 0 0o p e r a t i o ns y s t e m o u r d e v e l o p m e n ta n da n a l y s i sj sh e l p f u 】f o rt h o s ew h o a r ed e v e l o p i n gb l u e t o o t h a p p l i c a t i o ns y s t e ma sw e l la so t h e rc o m m u n i c a t i o na p p l i c a t i o ns y s t e ml i k et h a t ,f o r e x a m p l e aw i r e l e s sc o m m u n i c a t i o ns y s t e mw i t h8 0 2 1 】p r o t o c o l s i na d d i t i o n t h et e s ta n d a n a l y s i s h w s w p l a t f o r m w e d e v e l o p e d h a s s u c c e s s f u l l yp r o v i d e ds o m ev a l u a b l ea d v i c e sa b o u tt h eh c r p r e v i s i o nf o rb l u e t o o t h s i g k e yw o r d s :b l u e t o o t h ,h c r p , b t u e s t a c k ,w i r e l e s s ,p r o t o c o ls t a c k ,d d k ,p r i n t 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 日期:文口f 年刁月7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:一历j 里垄釜 导师签名: 日期:d i 。垆年;月7 日 引音 第一章引言 注:本章内容参考自文献 1 0 】、【1 5 及项目文档。大部分内容直接来自文献 1 5 a 1 1 蓝牙技术简介 蓝牙技术是一种无线数据与语音通信的开放型全球规范。它以低成本的近距 离为基础,为固定和移动设通信建立无线链接。 注意:以下所阐述的各种蓝牙的参数及具体协议,均基于蓝牙协议1 1 版。 蓝牙最初是以取消各个设备、电器之间的有线连接为目标的。它采取了与 i e e e 8 0 2 1 1 不同的实现方式:蓝牙着重于近距离低端服务的实现,数据传输带 宽大约为1 m b p s ,范围一般在十米以内,额定值为1 0 到1 0 0 米( 不排除通过提 高天线功率和增益的方法拓展通信距离的能力) 。无线局域网则主要面向高端服 务,传输速率已经可以达到5 4 m b p s 。传输距离也超过蓝牙,可以达到几百米。 由于蓝牙技术具有跳频快,数据包短,功耗低,相关技术成熟,联结方式自由的 特点,故其通信更加稳定,抗干扰能力更强,辐射更小。在小区域的范围,比如 一幢大楼之内,蓝牙设备可以任意漫游,随时随地的接入当地的蓝牙微微网,或 者注销在当前微微网的注册;同时,任何蓝牙设备一经注册到新的微微网,既可 立即通过服务搜索协议找到和申请可利用的服务,在授权范围之内得到需要的服 务:在小范围的空问内,服务提供端设备可以同时与多台被服务设备组成一主多 从的小型网络,同时为之提供服务。 目前,随着计算机技术日益向以网络为中心的模式演化,特别是无线网络业 务的同渐兴起,及时有效的发现和利用网络业务资源也日渐重要。这些业务包括 一些常用的如打印,扫描,寻呼,传真等功能,也包括其他各种各样的信息访问 要求,例如电话会议,网桥和接入点,电子商务等。这些场合都为蓝牙技术提供 了广阔的应用空削。 1 2 课题来源和背景 本课题来源于电子科技大学m o t o r o l a m c u 开发研究中心承担的蓝牙硬 拷贝电缆替代协议的验证与实现项目。m o t o r o l a 公司为项目提供了部分硬件 芯片和部分参考资料。 本课题研究的目的是通过蓝牙无线链路,架构h c r p 协议分析及测试平台, 实现h c r p 规定的功能之一远程打e p ( h c r p r i n t ) ( 协议针对的另一个应用实 例是远程扫描( h c r s c a n ) ,在本项目中没有涉及) ;同时研究蓝牙应用系统的架 构设计,并进一步进行了蓝牙协议栈的设计分析,为其他网络协议栈的设计提供 有价值的参考。 在本课题开始时,蓝牙技术正处于起步阶段,且h c r p 应用设计类的文献 尚未发表,因此项目研发经过了一个全新的探索过程,且论文的编写没有任何设 计类的文献作为参考。 引苦 1 3 课题内容及目标 整个课题任务是:用软硬件结合的方法实现蓝牙h c r p 协议中规定的 h c r p r i n t 的功能,项目最终成功的标准是蓝牙无线远程打印的实现,以架起进 一步的h c r p 协议分析与测试硬软件平台。值得注意的是,本协议测试分析平 台只测试高层的h c r p 协议本身的逻辑以及性能,对蓝牙底层的物理信号和数 据格式的测试,另有其他分析仪器来完成,因此我们采用现成的蓝牙模块和p c , 以搭建的无线打印应用系统为载体,进行高层h c r p 协议的测试和分析。为了 利于h c r p 协议测试与分析,我们采用了第四章4 2 节介绍的仿真模型。其中包 含了蓝牙h c r p 剖面之下多个剖面和协议的实现。 设计的硬件部分先后使用了m m c 的b c 0 1 系列的蓝牙调制和控制模块 m b 5 0 1 m c l ,和金瓯科技在爱立信的蓝牙芯片套件r o k l 0 1 。0 0 7 的基础上丌发的 蓝牙调制和控制封装模块j i n o u b t 0 0 7 。整个项目由郑瑜,郝云飞和本人共同 完成。本论文重点阐述蓝牙或类似系统的架构设计,及其协议栈的设计。 平台系统架构,就是用何种结构搭建起整个系统,使系统能够运行蓝牙 h c r p 的协议栈,并且有助于进行协议测试和分析。架构的核心依据,是整个系 统的数据通路,以及数据通路涉及到的所有的硬软件接口,这部分最重要的内容, 实际上就是协议栈的设计方法,以及协议栈( 包括高层的h c r p 协议) 在特定的目 标环境( 在软件上主要指操作系统w i n d o w s 2 0 0 0 ) 中存在的方法,或者从某种角 度上可以说,是移植( p o r t i n g ) ,因为特定的目标环境决定了数据传输的硬软件接 口的解决方案。 本论文论述在系统方案设计中的一些过程和要点。重点阐述两大部分:高层 协议栈的实现,以及数据通路的搭建。 而h c r p 协议本身的算法实现,不在本文讨论范围之内。如有兴趣,可参 考文献【1 5 。 1 4 开发环境 本课题的发操作系统平台是m i c r o s o f t 的w i n d o w s2 0 0 0 和w i n d o w s 9 8 操作 系统,软件平台利用了m i c r o s o f t 公司的v i s u a lc + + 6 0 ,w i n 2 kd d k ,n u m e g e 公司的d r i v e r s t u d i 0 2 叭以及c a m b r i d g ec o n s u l t a n t sl t d 的m e z o e 公司的免费蓝 牙底层协议开发平台b l u e s t a c k 。之所以选择b l u e s t a c k ,主要出于两方面的考虑: 第一是已知了m o t o r o l a 公司已经在该平台上有了一些简单的试验工作,对 该平台有了初步了解:第二是这个开发平台是免费的,通过网络升级也比较方便 ( 如在项目开发过程中就进行了一次版本升级) ,并且本开发平台提供的低层协 议的功能比较完整。 硬件设计采用p r o t e l 9 9 完成。 15 意义 课题的意义在于:本课题是在蓝牙h c r p 协议未正式公布之前,对其可行 性和功能实现的技术做了探索性的研究,为今后对该领域蓝牙技术作进步的研 引言 究、跟进和开发利用有着重要的意义;同时对于理解掌握蓝牙这一新技术,以积 极参与蓝牙协议的其他剖面的研究、开发、应用和实现,具有积极的借鉴作用。 另外,这种系统的协议栈设计分析以及系统架构方法,对于类似的系统f 如无限 局域网) 的协议栈设计及系统架构具有重大的参考意义。 蓝牙技术概述 第二章蓝牙技术概述 注:本章参考自文献 2 】【3 】【4 】【5 8 【1 0 】【1 5 】,大部分内容直接来自文献 15 。 蓝牙的英文名称是“b l u e t o o t h ”。b l u e t o o t h 本是欧洲中世纪的月麦国王h a r a l d 二世的绰号,因为他统一了北欧四分五裂的瑞典、芬兰和丹麦而立下不朽功勋, 爱立信公司就以这位国王的名字命名这一新的通信技术,希望它可以在无线通信 领域做出杰出成绩。该技术的1 1 版本的目的是实现最高数据传输速率1 m b s ( 有 效传输速率为7 2 1 k b s ) ,最大传输距离大于1 0 m 的无线通信方式。虽然蓝牙还没 有f 式成为国际标准,但是有越来越多的组织正在吸纳或者支持这种技术,比如 新的w i n d o w s x p 操作系统就增加了对蓝牙技术的支持。蓝牙技术的目标是采用 无线接入技术来取代各种传统有线连接方式。蓝牙技术的关键是有很高的软硬件 集成度的蓝牙芯片( 即无线电收发信机) ,可以方便的用在各种设备上,如手机、 家电、p c 机等。蓝牙技术潜在的应用场合极广,例如微机与微机之间通过蓝牙 无线连接,这种无束缚的接收和发送信息很有可能改变人们的生活方式。 2 1 蓝牙技术的优点 蓝牙是一种低功耗的无线技术。主要优点是: 应用了全球统一的频率设定,消除了国与国之间的频段设置障碍; 可以随时随地用无线接口来代替有线电缆连接; 具有很强的移植性,可以用于多种通信场合; 引入身份识别后可以灵活实现漫游; 功耗低,对人体危害小; 健壮性,系统稳定抗干扰能力强; 低复杂性使得蓝牙设备生产具有低成本性。 蓝牙技术是进行数据与语音通信的开放性全球规范,图2 - 1 为蓝牙技术的标 志。它以低成本的近距离无线连接为基础,为固定的或者移动的设备通信环境建 立一个特别连接。把蓝牙技术引入到移动电话和笔记本电脑中,就可以去掉移动 电话与笔记本电脑与其他设备之间的令人讨厌的连接电缆,通过无线信道通信。 打印机、p d a 、桌上型电脑、传真机、键盘、游戏操纵杆以及所有其它的数字设 备都可以成为蓝牙系统的一部分。除此之外,蓝牙无线技术还为已存在的数字网 络和外设提供通用接口以组建一个远离固定网络的个人特别连接设备群。蓝牙技 术电路集成度高,应用简单,成本低廉,实现容易,功能完整,适用广泛。 2 2 蓝牙技术的体系结构和协议简介 整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层三大 部分。图2 2 为s 1 g 定义的蓝牙协议栈。链路管理层( l m ) 、基带层( b b ) 和 射频( r f ) 构成蓝牙的底层模块。中间协议层包括逻辑控制与适配协议( l 2 c a p ) 、 服务发现协议( s d p ) 、串口仿真协议( i u c o m m ) 、电话控制协议( t c s ) 等。 4 蓝牙技术概述 在蓝牙协议栈的最上端是高端应用层协议,对应于各种应用模型的剖面,是蓝牙 剖面体系的一部分,目前s i g 正式发布了十三种剖面,分别是:普通接入剖面, 服务发现剖面,串行端口剖面,普通对象交换剖面,无绳电话剖面,内部通信剖 面,拨号网络剖面,传真剖面,耳机剖面,局域网接入剖面,文件传输剖面,对 象推剖面,同步剖面。本项目实现的h c r p 剖面还没有正式发布,故不在此列。 圃回 圈 蓟 固回同回 图2 1 蓝牙标志图2 2b l u e t o o t lp r o t o c o ls t a c k r f 层通过2 4 g h z 无需授权的i s m 频段实现数据位流的过滤和传输,主要 定义了蓝牙收发器应满足的要求。b b 层负责调频和蓝牙数据及信息帧的传输。 l m 层负责连接的建立和拆除以及链路的安全和控制,他们为上层软件模块提供 了不同的访问出口,但是这两个模块接口之间的消息和数据传递必须通过蓝牙主 机控制器接口( h c i ) 的解释才能进行。也就是说,h c i 是蓝牙协议软硬件之间的 接口,它提供了一个调用下层b b 、l m 、状态和控制寄存器等硬件资源的统一 命令接口。h c i 协议以上的协议软件实体运行在主机上,而h c i 协议以下的功 能由蓝牙设备来完成,二者之间通过传输层进行交换。 中间协议层的l 2 c a p 完成数据拆装、服务质量控制、协议复用和组提取等 功能,是其他上层协议时间的基础,同时也就是蓝牙协议栈的核心部分,比如 h c r p 就是一个基于l 2 c a p 的应用剖面。s d p 为上层应用程序提供一种机制来 发现网络中可用的服务及其特性。r f c o m m 依据e t s i 标准t s 7 1 0 在无线信道 上仿真九针r s 2 3 2 串口功能。t c s 提供蓝牙设备间话音和数据的呼叫控制信令。 通过使用r f c o m m 和t c s 这样的适配协议,蓝牙应用中除了使用s i g 自己定 义的协议,也可以选用一些传统的、通用的技术标准和协议,比如点对点协议 ( p p p l ,u d p i p t c p ,h i d ,v c a l ,v c a r d ,o b e x ,w a p 等。 协议的最上层是高层应用层,是对应于各种应用模型的“剖面”,属剖面中 的“应用剖面”部分。蓝牙剖面的制定着重于以下三方面考虑: 1 减少协议选择和缩小协议中的参数范围; 2 规定功能组合的顺序: 蓝牙技术概述 3 定义统一的用户应用交互过程。 图2 3 蓝牙剖面体系 s i g 在b l u e t o o t hs p e c i f i c a t i o nv 1 1 中发布了1 3 个剖面,之后还陆 续发布了其他一些,本设计实现的h c r p 剖面目| j 还没有发布。蓝牙的剖面体 系如图2 3 所示。其中通用接入剖面、服务发现剖面、串行端口剖面和普通对象 交换剖面构成了各个应用模型及其对应的应用剖面的基础,被称为通用剖面。其 余的9 个都是应用剖面。 蓝牙s i g 定义,当一个剖面直接或者间接使用另一个剖面的至少一部分内容 时,称此关系为剖面“依赖于”被利用的剖面。从图2 - 3 中可以比较直观地了解 通用剖面和通用剖面间、应用剖面和通用剖面间的依赖关系。 蓝牙应用模型主要描述蓝牙应用和预期的蓝牙设备,蓝牙剖面定义如何采用 蓝牙协议来提供应用模型中所描述的功能之间的互操作性,每一种应用模型对应 一个或多个剖面。 6 h c r p 的协议结构与功能 第三章h c r p 的协议结构与功能 注:本章内容直接参考卧1 】 6 】 7 【1 5 】,内容直接来自文献【1 5 。 3 1 h c r p 与蓝牙体系结构 h a r d c o p yc a b l er e p l a c e m e n t 剖面定义的是硬拷贝电缆替代应用模型对蓝牙 相关协议的使用和通信交互流程。h c r p 借助通用接入剖面g a p 规范中互操作 性方面的要求,对b a s e b a n d ,l m p , o r l 2 c a p 等方面没有做进一步的要求。最直 接应用这个剖面的是便携电脑或者台式p c 机,通过本剖面进行打印和扫描( 本 项目只是线蓝牙无线打印的功能) :不排除其他场合和其他情况可以使用这个剖 面进行蓝牙无线通信。但是这个剖面不作为针对传输纯的图像数据的应用剖面 ( 蓝牙另有专用剖面在准备发布中) 。 所谓h a r d c o p y 文本,是指不用特殊装置就可以直接阅读的复制文本,硬副 本,可读副本( 如经过计算机或缩微胶卷所复制的) 。h c r p 是为适应类似打印 机和扫描仪这类处理数据量较大,数据结构相对单一,控制过程简单的设备之间 进行控制信息和数据信息的无线传输的应用剖面,达到用蓝牙无线设备替代完成 传统上通过并口电缆传输信息的目的。该剖面包括三个专用的简单协议: h a r d c o p y c o n t r o l c h a n n e l协议、h a r d c o p y d a t a c h a n n e l协议和 h a r d c o p y n o t i f i c a t i o n c h a n n e l 协议,还有对h c r p 所依赖的g a p 剖面部分的实 现细节的规范。剖面区分了服务提供端( s e r v e r ) 和服务客户端( c l i e n t ) ,双方 都利用蓝牙协议栈中的服务发现剖面s d p 完成服务参数的发现。 h c r p 相对于其他非针对硬拷贝的应用模型的优势在于: 支持1 2 8 4 i d 的传输; 支持很简单的流控机制以适应于打印和扫描的巨大传输流量: 提供了简单的异步通知机制: 面向连接的服务,提高了通信稳健性; 涉及控制工作简单,实现容易; 接近蓝牙协议栈底层,在蓝牙的带宽限制下尽可能提高了传输吞吐量。 h c r p 在蓝牙剖面体系中的位置如图3 1 所示。按照蓝牙s i g 的定义,当一 个剖面直接或者间接使用另一个剖面的至少一部分内容时,称此剖面“依赖于” 被利用的剖面。故,h c r p 依赖于通用接入剖面( g a p ) 。事实上,为了发现各 种服务的存在,和其他绝大多数应用一样,h c r p 还要依赖s d p r o f i l e 这个蓝牙 通用剖面的正常工作,但是h c r p 并不直接对s d p r o t o c a l 的操作细节作额外的 规定。 h c r p 的协议结构与功能 图3 - 1 蓝牙剖面体系结构图 图3 ,2 显示了h c r p 在蓝牙协议模型中的位置。h c r p 位于l 2 c a p 协议之 上,使用的是它提供的服务,链路和信道的道作需要符合l 2 c a p 的具体规定, 运行在h c r p 之卜应用程序决定了设各间的互操作性。客户端的用户程序表现 成一个驱动程序,服务端则通常表现成一个页描述格式文件的解释者或产生者。 但是h c r p 并不对应用的东西限定很多。 z , 1 ) p l i c a t i o i - ia p p l k ;, d i or i e l l e l l is o i * r h c r ps o ph o r pe 0 p l m pl 2 c a pl 2 e a pl m p b a s o 豳i _ 磴i v 、 0 _ 曩。t 酾嚣的硝瓣, 7 # 。抽涮_ ”y 蠢 。j 图3 - 2 :h c r p 在蓝牙协议模型中的位置 3 2h c r p 设备工作模式 h c r p 基于客户服务器结构,服务器端设各( 简称“服务端”) 提供h c r p r i n t 或者h c r s c a n 服务,可以从客户端设备( 简称“客户端”) 得到二进制的数据。 同时它可以按照客户端的要求向客户端发送数据,连接通常是由客户的发起的, 服务端之可以发起建立到客户的用来通知客户端情况的通知信道。客户端一般 发起建立信道,发出使用服务端的服务的请求,当客户端连接到服务端的时候, 可以注册一个通知,向服务端提供足够的信息使之可以在需要的时候与自己异步 建立连接。这是为了提供通常在主机和打印机之问进行的事件驱动的控制机制。 服务端定义了四种工作状态: 离线模式( b l u e t o o t ho f f l i n em o d e ) :设备不能接收数据,设备无法被连接, h c r p 的协议结构与功能 其他设备通过使用通用查询接入码( g i a c ) 和专用查询接入码( d i a c ) 的查询 过程都不能发现该设备; 绑定模式( b o n d i n gm o d e ) :设备准备好了接受客户端设备的绑定; 有限在线模式( p r i v a t e o n l i n e m o d e ) :客户端设备只能被已知其蓝牙设地址 的设备连接和使用,而不能通过两种查询方式被发现; 公丌在线模式( p u b l i co n l i n e m o d e ) :客户端设备可以被已知其蓝牙设备地 址的设备连接和使用,能否通过两种查询方式被发现。 任何遵循蓝牙h c r p 的服务端至少要支持绑定模式和公开在线模式。只要 服务端设备进入了后三种模式之一,就要注册或激活一个h c r p 服务记录了。 3 3 h c r p 用户接口规范 h c r p 对h c r p r i n t 中用户接口层次的操作是这样规定的: 当打印端的蓝牙设备地址已知时,服务端进入由现在线模式或公共在线模 式,客户端的用户激活蓝牙打印程序,设备使用已知的蓝牙设备地址向服务端发 起连接,用户应该可以知道连接建立得成功与失败;如果设备连接成功了,客户 程序需要通过询问服务端打印机的i e e e1 2 8 4 i d 字符串或其他任何有效单数,来 决定客户端需要为使用打印功能加载什么驱动程序。如果客户端没有现成的驱 动,客户会被建议协助安装适当的驱动程序。客户端可以使用这个驱动发送数据 到打印方,打印方将任务执行结果返回客户端。 当打印端的蓝牙设备地址未知时,服务端需要处在公共在线模式,客户端的 用户选择需打印的材料,在可选的支持h c r p 的设备列表中选择出合适的设备, 激活蓝牙打印程序,客户端设备通过查询得到客户端蓝牙设备地址,使用该地址 向服务端发起连接,完成余下的工作。 当客户端不需要保持与打印端的持续连接,又希望要得到服务端进步的任 务进行情况时,需要向服务端注册通知,这可以在客户端和服务端不存在连接的 时候,服务端利用异步建立连接的方法通知客户端,以避免一条不必要的连接始 终存在。在服务端反向连接回客户端的时候,不必再次出现链路的鉴权过程。 3 4 h o r p 应用层规范 在数据传输过程中,h c r p 定义了三条基于l 2 c a p 的逻辑信道,其中c o n t r o l c h a n n e l 和d a t ac h a n n e l 是面向相连接的信道。协议没有规定二者建立时阳j 上的 先后关系,但是要求数据信道和控制信道之一关闭,另一个也要关闭。数据和控 制信道只能由客户端发起建立,通知信道只能由服务端发起建立。 协议在c o n t r o l 信道协议中定义了1 1 对原语,在该信道的通信中实现对所 有信道内通信的控制。这些控制包括d a t a 信道的流量控制和通信维护: n o t i f i c a t i o n 信道的注册和维护;设备1 2 8 4 i d 查询;打印机或扫描仪的l p ts t a t u s 查询:设备的控制信息的传送;服务的复位,等等。c o m r o l 信道中原语传递发 起方必须都是客户端,服务端可以对收到的各原语应答和采取动作。 d a t a 信道用于传输传统上由电缆传输的控制信息之外的纯数据,h c r p 未对 其数据结构作任何规定,也没有定义任何需要在这个信道上传输的数据。但是, 它在数据结构方面应该完全基于l 2 c a p 的功能和限制,并符合所传原始数据的 实际数据结构的要求。 9 h c r p 的协议结构与功能 n o t i f i c a t i o n 信道主要用于在打印或扫描服务过程中由服务端异步地发起建 链并且通知客户端某些异步事件或消息。h c r p 没有定义这些消息的内容和数掘 结构,只是对该信道中协议数据单元p d u 作了简要的定义。各种应用中对 n o t i f i c a t i o n 信道的支持是可选的。需要注意的是,n o t i f i c a t i o n 信道的维护也是在 控制信道进行。 h c r p 要达到的电缆替代作用是希望使客户端觉得打印机如同接在自己的 主机上一样。 3 5h c r p 协议层规范 3 5 1 h c r p 数据传输规范 h c r p 使用标准的网络数据传输的b i ge n d i a n 顺序。 l 2 c a p 没有提供流控机制。而打印扫描任务因为传输的数据量比较大,通 常需要流量控制。所以h c r p 提供了数据信道上简单的,轻量级的和基于c r e d i t 的流量控制方案。如果实际的l 2 c a p 层可以提供可选或必选的流控机制,h c r p 可能就不再需要现在的这种流量控制机制了。在设各开始在数据信道传输文件之 前,它必须先从对方得到c r e d i t ,g r a n t 过程指的是客户端提供服务端c r e d i t 的 过程,一般发生在无线扫描业务中;r e q u e s t 过程指的是服务端提供给客户端 c r e d i t 的过程,一般发生在无线打印业务中。c r e d i t 表示可以在数据信道上传输 的数据的字节数。这两个过程都是由客户端在控制信道发起的,周期性地进行, 每次获得的c r e d i t 大小以及获得c r e d i t 的频率可能因为双方的数据吞吐能力而不 同:如果想要取消这种基于c r e d i t 得流控过程,可以一次性许诺对方极大的c r e d i t ( 最大2 3 2 b y t e ) ,当一方设备的c r e d i t 总量变成零,数据信道上的传输必须停 止,知道得到新的c r e d i t 。不论客户端以怎样的方式进行c r e d i t 交互,数据传输 收方的c r e d i t 总量在任何时候都不能超过2 3 2 b y t e 。当数据信道和控制信道关 闭,相关的数据信道的所余c r e d i t 计数都要清零,未来建立新的h c r p 传输要 使c r e d i t 计数从零开始。数据信道的m t u 可以为任何l 2 c a p 协议许可的值。 控制信道使用请求一应答机制解决控制信道的流量控制。同一时刻能有一个 活动的控制协议数据单元,通信双方要求至少于1 2 8 一b y t e 的控制信道缓冲区, 也即控制信道在进行l 2 c a p 信道配置的时候需要保证最小m t u 不小于 1 2 8 b y t e 。协议建议在条件许可的情况下使用更大的m t u ,以有效的处理可能用 到的c rg e f t 2 8 4 i d 原语的应答。 数据信道传输的数据,完全是与打印机有关的,h c r p 通信部分部队它做任 何的假设,完全作为数据流处理,毫无改变的交给数据的最终使用方。数据信道 的c r e d i t 请求与给予都放到控制信道进行,有效的杜绝了c r e d i t 死锁。 蓝牙l 2 c a p 信道提供的是一种比较可靠的面向连接的服务,所有数据在信 道不断开和干扰不强的情况下都可以正确到达( 不过考虑到l 2 c a p 信道的 1 6 b i tc r c 码在很高的链路噪音情况下还是有极小的可能出现把受损的数据包 仍作为正常数据包生命的情况) 。如果l 2 c a p 连接断开或者出现某些超时错误, 此时应该放弃正在进行的任务,也即不进行任何错误恢复工作。建议的超时等待 为五分钟。 0 h c r p 的协议结构与功能 3 5 ,2 控制信道规范 h c r p 为控制信道定义了数据格式和一系列在控制信道传输的原语。 一、协议数据单元( p d u ) 控制信道的每个传输包括一个客户端发出的请求原语和一个服务端回复的 应答原语。所有请求原语按照请求p d u 的形式,所有应答原语按照应答p d u 的形式。如果客户端没有在五秒钟内收到所发出原语的应答,它就可以选择关闭 控制信道和数据信道。 图3 - 3 说明了请求p d u 的格式。每个请求中包含一个表示请求类型的p d u i d 域,一个实现同步的传输i d ( t r a n s a c t i o ni d ) 域,一个指明p d u 余下参数部分 长度的参数长度( p a r a m e t e rl e n g t h ) 域,和一个长度、数据结构和意义与请求类型 有关的参数值域。 胁“ 亘 卫三巫亚三互习 + 一2b 订一i 一2b y t e s 一2i :q t f - s r 1r f m ”f m l 堕竺型i 空坐! ! ! ! 卜一_ 1 堕竺塑! i 一p a f a f l l e l e fl e n g f l _ ib , l e s 斗 图3 - 3 请求p d u 格式 m 扣 亘正亟面正五五五匾画 _ _ 2 协他_ 一2m 盼一2 啊盼+ 一2l 毋慨+ 啪叵亟丑亘面至五) 一伍亟珂 _ 一p a 1 1 坩州1i 珂i e ! s + 图3 4 应答p d u 格式 图3 4 说明了应答p d u 的格式。每个应答中包含一个表示请求类型的p d u i d 域,一个与收到的相应请求中的传输i d 值一致的传输i d ( t r a n s a c t i o ni d ) 域, 一个指明p d u 参数值部分长度的参数长度( p a r a m e t e rl e n g t h ) 域,一个指明请求 执行结果的状态码( s t a t u sc o d e ) 域,和一个长度、数据结构和意义与请求类型有 关的参数值域。应答p d u 中的p d ui d 和传输i d 值与该应答对应的请求p d u 中的值要完全一样。如果状念码为0 x 0 0 0 0 ( 不支持) ,应答中不必提供具体参数 值,否则应答中的参数在类型和长度上必须符合客户端的期望( 但不一定和请求 p d u 中的一样) 。 状态码值的含义如表3 。l 所示。如果某个服务端不支持一种特定的原语的 p d u ,就应该在任何收到这种请求p d u 的时候,使用一个带有状态码为“要求 的特性不支持( o x 0 0 0 0 ) ”的应答p d u 回复这个请求,同时忽略理任何该请求相 关的参数问题。如果服务端发现收到的某个支持的请求p d u 中有任何不能处理 h c r p 的协议结构与功能 的问题,需要以一个完整的应答p c u 回复该请求,但是状念码为一般失败 ( o x f f f f ) 。 h c r p 定义的p d ui d 的含义如表3 2 所示。 表3 1 控制信道状态码含义的定义 状态码。、。i 3 带i 。等谶嚣速i “1 取值 o x 0 0 0 0要求的特性不支持( f e a t u r eu n s u p p o r t e d ) o x 0 0 0 l o x f f f f o x 0 0 0 2 ,彝鞲骢:孽黪黪够 -、搿强弹l 曩t 一般失败( g e n e r i cf a i l u r e ) c r e d i t 同步错误( c r e d i ts y n c h r o n i z a t i o n e r r o r ) h c r p 的协议结构与功能 取值 o x 0 0 0 0 o x 0 0 0 1 o x 0 0 0 2 o x 0 0 0 3 表3 - 2 控制信道p d u i d 的定义 含义 保留 c rd a t a c h a n n e l c r e d i t g r a n t c r _ d a t a c h a n n e l c r e d i t r e q u e s t c r _ d a t a c h a n n e c r e d it r e t u r n o x 0 0 0 4 c r d a t a c h a n n e l c r e d i t q u e r y o x 0 0 0 5 c rg e t l p t s t a t u s o x 0 0 0 6 o x 0 0 0 7 o x 0 0 0 8 o x 0 0 0 9 o x o o o a 0 x o o o b o x 7 f f f c rg e t l 2 8 4 i d c r $ o f r e s e t c rh a r d r e s e t c r n o t i f i c a t i o n c o n n e c t i o n a 1 i v e 保留 o x 8 0 0 0 v e n d o r s p e c i f i c 0 x f f f f 客户 端要求 n a 鼢n d a t o 盯 m a n d a t o r y o p t i o n a l o p t i o n a l o p t i o n a l o p t i o n a l 0 p 霉i o n a l o p

温馨提示

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

评论

0/150

提交评论