蓝牙技术基础教学课件蓝牙开发与测试技术课件_第1页
蓝牙技术基础教学课件蓝牙开发与测试技术课件_第2页
蓝牙技术基础教学课件蓝牙开发与测试技术课件_第3页
蓝牙技术基础教学课件蓝牙开发与测试技术课件_第4页
蓝牙技术基础教学课件蓝牙开发与测试技术课件_第5页
已阅读5页,还剩309页未读 继续免费阅读

下载本文档

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

文档简介

蓝牙技术基础教学课件喻宗泉第7章蓝牙开发与测试技术蓝牙技术基础教学课件喻宗泉第7章蓝牙开发与测试技术普通高等教育规划教材

蓝牙技术基础

主编喻宗泉

参编张有生喻晗

策划编辑刘丽敏

机械工业出版社

普通高等教育规划教材

蓝牙技术基础

主编2普通高等教育规划教材

蓝牙技术基础ppt文档

电子教案策划:刘丽敏

电子教案制作:喻宗泉容音

机械工业出版社普通高等教育规划教材

蓝牙技术基础ppt文档

电子教案策划3蓝牙技术基础-教学课件--第7章-蓝牙开发与测试技术课件4蓝牙技术基础-教学课件--第7章-蓝牙开发与测试技术课件5蓝牙技术基础-教学课件--第7章-蓝牙开发与测试技术课件67.1概述没有蓝牙开发,就不会有蓝牙产品;没有蓝牙测试,就不会有合适的蓝牙产品。研制符合蓝牙规范和蓝牙协议产品的过程,称为蓝牙认证和测试。7.1概述没有蓝牙开发,就不会有蓝牙产品;没有蓝牙测试,77.1.1什么是蓝牙开发蓝牙开发由硬件开发和软件开发两部分组成,如图7-1所示。硬件组成包括蓝牙协议栈的下三层,即无线收发、基带和链路管理层。软件组成包括蓝牙协议栈的上层:有L2CAP、RFCOMM、SDP、TCS和一些蓝牙应用层,上层由中间协议层和应用层构成。7.1.1什么是蓝牙开发蓝牙开发由硬件开发和软件开发两部分8图7-1蓝牙开发图7-1蓝牙开发97.1.2蓝牙开发过程(1)蓝牙开发过程步骤如下:(1)开发之前要先熟悉相关的蓝牙规范和蓝牙协议,因为它们是进行认证的依据。需要说明的是,蓝牙规范的核心部分内容相当丰富,没有必要全部了解,但对于和自己研发产品相关的蓝牙协议和规范,必须认真研读。(2)仔细研究开发的产品是否符合协议的要求,并调研同类产品的现状,查看每天网上公布的新产品,蓝牙网站有“通过认证的产品”专栏。7.1.2蓝牙开发过程(1)蓝牙开发过程步骤如下:107.1.2蓝牙开发过程(2)(3)制定开发规范,建立开发平台,创造开发环境,造好开发工具。由于产品开发涉及的范围广泛,需要事先规范,在时间上留有余地,在开发过程中对不确定因素要有应对措施。开发工具包括一个蓝牙硬件接口部件和一个软件部件,每一对节点将建立起一个链路。节点数量的多少由应用的复杂程度决定,应用越广,节点数目越多。硬件部件有PC卡、USB接口、UART、开发工具等,按需要选用,也可以自己开发硬件部件。7.1.2蓝牙开发过程(2)(3)制定开发规范,建立开发平117.1.2蓝牙开发过程(3)(4)进一步考虑具体的技术细节。如硬件选择时需考虑开发后是用于计算机系统,还是用于嵌入式系统。若是前者则选用PC卡、USB等已够用,相应的开发工具也简单;若是后者,需选用较为复杂的开发工具。其次考虑的问题是应用中有无语音要求?有一些开发系统没有语音接口,对于需要语音应用功能的,就不能选择这一类开发系统。在数据传输的场合还要考虑数据传输速率,例如不足100kbit/s的传输,可选用UART连接器;而全速率的数据应用,需用USB接口。7.1.2蓝牙开发过程(3)(4)进一步考虑具体的技术细节127.1.2蓝牙开发过程(4)(5)确定协议栈的开发层次,蓝牙模块的简单复杂程度,决定了提供接口的多少。最简单的模块只带一个基带控制器,仅提供无线接口。在决定使用一个协议栈以前,需要细心察看协议栈的提供能力,因为并不是所有的协议栈都具备规范中给出的所有功能。(6)关于协议栈的硬、软件实现问题,最好能选用同一厂家的产品,这样兼容性能较好。7.1.2蓝牙开发过程(4)(5)确定协议栈的开发层次,蓝137.1.2蓝牙开发过程(5)蓝牙认证和蓝牙测试是一种保护机制,它能保证蓝牙产品具备互操作性。不同的开发人员尽管对蓝牙协议的理解不同,开发的产品可能存在一些差别,但通过认证与测试,就能实现互操作,因此无论硬件还是软件,设计时都需要留出接口。7.1.2蓝牙开发过程(5)蓝牙认证和蓝牙测试是一种保护机147.2蓝牙开发蓝牙开发包括三方面内容:硬件模块开发、中间协议层开发、蓝牙剖面开发。蓝牙开发的主要目的,是为社会提供更多的符合规范的蓝牙产品。7.2蓝牙开发蓝牙开发包括三方面内容:硬件模块开发、中157.2.1蓝牙硬件模块开发(1)蓝牙硬件层次划分成无线层、基带层和链路管理层。每一层次有不同的职责和分工:无线层用于完成频率合成、位(bit)到符号的转换、符号的收发;基带层用于完成斑马鱼解码、加密与解密、分组处理和跳频频率的生成与选择;链路管理层用于完成连接并管理链路7.2.1蓝牙硬件模块开发(1)蓝牙硬件层次划分成无线层、167.2.1蓝牙硬件模块开发(2)蓝牙设计的基本要求是:尽可能减少硬件模块的体积;尽量小的功耗;最小的生产成本;在ISM频段上安全使用。7.2.1蓝牙硬件模块开发(2)蓝牙设计的基本要求是:171.单芯片蓝牙模块(1)把不同功能的模块集中到一个芯片上的技术,称之为片上系统技术。片上系统通常包括蓝牙基带核心、微处理器、HCI、语言处理、测试等模块。片上系统既可以集成一片,也可以使用各模块组装实现,一个集成了的单芯片片上系统如图7-2所示。1.单芯片蓝牙模块(1)把不同功能的模块集中到一个芯片上的技18图7-2单芯片片上系统

图7-2单芯片片上系统192.蓝牙基带核心模块(1)蓝牙基带核心模块的结构如图7-3所示,它由3部分组成:(1)片外接口部分:与模块外界完成信息交流,主要有三大接口:比特流接口,分为输出Tx比特流、输入Rx比特流;无线控制接口,用于无线信号传输;可编程接口,用于与计算机三总线连接。2.蓝牙基带核心模块(1)蓝牙基带核心模块的结构如图7-3所202.蓝牙基带核心模块(2)(2)分组头部分:实现信息的处理,处理内容有:对收到的位(dit)流定时提取或恢复其符号;FEC处理;白化和解析处理;CRC校验;净荷处理;加密和解密处理2.蓝牙基带核心模块(2)(2)分组头部分:实现信息的处理,212.蓝牙基带核心模块(3)(3)数据路径部分:在数据传送路途上按协议要求实现对信息的整理或加工。它们包括:共享RAM仲裁;时钟发生器;跳频频率发生器;可编程序列发生器;链路管理序列发生器。蓝牙基带核心模块能实现蓝牙基带所有的实时处理功能,蓝牙规范的处理过程已制成固件,置于Flash中,运行时装入RAM。2.蓝牙基带核心模块(3)(3)数据路径部分:在数据传送路途22图7-3蓝牙基带核心模块图7-3蓝牙基带核心模块233.无线收发模块无线收发模块由锁相环PLL、发生器和接收器三部分组成,如图7-4所示。锁相环可由发送和接收共享。数据收发特征如下:数据发送和接收在不同时刻进行;分组类型不同,发送、接收时刻不同;在给定时间内,允许PLL在不同载波频率跳变。3.无线收发模块无线收发模块由锁相环PLL、发生器和接收器三24图7-4无线收发模块(a)无线收发(6)接收器发送器内有一个认可VCO调制的倍频器,在0dBm发送电平时不提供RSSI电路。接收器内含一个低噪声变换的混频器、一个中频放大器、一个高放大倍数的放大器和一个鉴频器,使用外差接收方式。图7-4无线收发模块254.其它功能模块(1)(1)存储器存储器主要有Flash和SRAM,FlashMemory中存放着基带层、链路管理层的所有软件程序,形成了物理模块与高层的通信通道。SRAM起Cache功能,运行时逐段接纳来自Flash的程序。4.其它功能模块(1)(1)存储器264.其它功能模块(2)(2)CPUCPU负责处理蓝牙比特流调制或解调后的所有位,同时还统一指挥协调收发器、语音编/解码的工作。可供选择的为处理器有8051、ARM处理器等,例如基于ARM的微处理器ARM7TDMI就是一片32位精简指令集计算型(RISC)微处理器,它有两个支持指令集供用户选择:一个是ARM32位操作码;另一个是压缩成16位的子集,执行时先解压再执行。4.其它功能模块(2)(2)CPU274.其它功能模块(3)(3)USB接口和UART接口USB和UART提供前往HCI传输层的物理接口。(4)语音编码与解码CODEC语音编码包括D/A转换、A/D转换、数字接口、编码模块和2个先入先出指令队列(FIFO),FIFO用于存放编码后的语音数据。(5)认证和测试模块为了便于开发、认证和测试,有认证和测试模块提供接口十分方便。4.其它功能模块(3)(3)USB接口和UART接口287.2.2中间协议层开发蓝牙协议栈中间层由TCS(电话通信协议)、SDP(服务发现协议)、RECOMM(串口仿真协议)、L2CAP(逻辑链路控制和适配协议)等组成。7.2.2中间协议层开发蓝牙协议栈中间层由TCS(电话通信291.开发要求(1)由于协议栈是一个用户见不到的软件,那么对中间协议层开发的基本要求是开发一个用户能看到的接口,通过这个接口让用户能使用协议资源,完成配置,实现通信。为了达到这一目的,这个接口的设计有如下一些基本要求:1.开发要求(1)由于协议栈是一个用户见不到的软件,那么对301.开发要求(2)(1)支持不同的硬件平台;中间协议层既然是以软件的成分出现在计算机系统中,那么在主机设备上运行的这个软件必然是主机运行的一个组成部件,事实上它常以主机栈(HostStack)的名称出现。由于不具备高级语言程序才有的与计算机类型无关的特征,那么主机栈像汇编程序一样依赖操作系统和硬件资源,不同种类的计算机系统有不同的主机栈,这就要求中间协议层的用户接口必须适应不同品牌的计算机。1.开发要求(2)(1)支持不同的硬件平台;311.开发要求(3)(2)确定目标的用户类型如果目标不确定,用户模型无法建立,用户接口将无从谈起。(3)照顾到传统应用,兼顾现有的协议目前有很多定型的电子产品已经适应了非蓝牙的应用环境,对于这些传统应用,不能一味放弃,放弃了它也就意味着放弃了市场。但是,要把这些非蓝牙的传统应用统一到蓝牙应用环境中来,是极为困难、也是风险很大的一件事,只能要求用户接口兼顾到传统应用和现有的协议。(4)建立一些优化指标优化指标主要包括源码数量要最小、可靠性高等等。1.开发要求(3)(2)确定目标的用户类型322.开发过程中的有效措施(1)(1)维护操作系统的独立性在操作系统和中间协议层之间设计虚拟操作系统接口,使用虚拟接口,能使蓝牙主机栈有更大的适应能力,并且使用和移植都不需要修改主机栈的源码。主机栈也能直接用在诸如UNIX、Windows等通用操作系统中。主机栈还能移植到象单线程操作系统等一类最基本的操作系统中。2.开发过程中的有效措施(1)(1)维护操作系统的独立性332.开发过程中的有效措施(2)(2)保证硬件电路的独立性为了保证各硬件电路相对独立,有效的做法之一是在中间协议层之下的HCI接口附加串行接口层,以适应串、并行传输数据的需要。(3)提供应用程序接口API(ApplicationProgramInterface)中间协议层必须提供丰富的API接口,这样对于应用层设计人员来说,无须对蓝牙非常熟悉也能开发基于蓝牙的应用。API的功能性越强,协议栈的移植性能越好,越容易将蓝牙应用嫁接到传统的非蓝牙系统上。2.开发过程中的有效措施(2)(2)保证硬件电路的独立性342.开发过程中的有效措施(3)(4)在协议栈软件中设置管理模块有了管理模块,有利于管理和协调协议栈各层次的职能。按照上述开发要求所确定的中间协议层及其接口如图7-5所示。2.开发过程中的有效措施(3)(4)在协议栈软件中设置管理模35图7-5蓝牙中间协议层及其接口图7-5蓝牙中间协议层及其接口363.中间协议层的模块组成中间协议层按功能划分,可以分成必不可少的模块和带有附加功能的模块,前者是实现蓝牙协议必不可少的,后者是为适应不同的应用环境而设置的。即为支持硬件模块、剖面模块和协议管理模块。如表7-1所示。3.中间协议层的模块组成中间协议层按功能划分,可以分成必不可37蓝牙技术基础-教学课件--第7章-蓝牙开发与测试技术课件384.应用程序接口API(1)蓝牙协议栈中各层之间的通信和一般协议中的通信过程相同,常常分成4步来完成:请求→确认→指示→响应,4步中的每一步通称为原语,原语的通俗解释就是“步骤”。以A、B两层的通信为例,当A层要求与B层通信时,首先要发出一个通信请求,这个请求通常被称为请求函数。不同的通信领域内,请求函数的表现形式有所不同。发出的请求函数在内存中将产生一个特定的请求消息,该消息注入了请求函数的输入参数。携带有输入参数信息的请求消息将发往B层。4.应用程序接口API(1)蓝牙协议栈中各层之间的通信和一般394.应用程序接口API(2)B层在接到请求消息后,并不会马上通信,还需要进行确认是否是A发出,B层确认过程和A层请求过程相类似。一旦确认,双方之间的通信便立即开始。请求和确认过程是API所承接的任务,其通信示意如图7-6所示。图7-6A、B层之间的通信

4.应用程序接口API(2)B层在接到请求消息后,并不会马上405.传输协议SFCOMM及RS-232串行接口(1)RFCOMM传输协议提供了一条完整的通信路径,在这条路径上,存在着两种不同的服务:一种为中间协议层的其他协议提供的服务,一种是为了终端用户提供的服务。RFCOMM最终能够为两个不同设备的通信路径设置一个通信段,它仅仅关心的是两个直接连接的设备之间如何接口,例如连接的两端分别是蓝牙模块和有线连接。5.传输协议SFCOMM及RS-232串行接口(1)RFCO41RFCOMM模块的功能是在两个蓝牙设备之间建立信息的传递通道,它至少有两个模块组成,一个是会话控制模块,另一个是DLC控制模块。会话控制模块的主要任务是管理蓝牙设备之间的会话。DLC模块的主要职责是建立数据链路连接(DLC),并发送数据。5.传输协议SFCOMM及RS-232串行接口(2)RFCOMM模块的功能是在两个蓝牙设备之间建立信息的传递通道42RFCOMM接口至少应当具备以下功能:在一定条件下功能启动;完成接口两边的电平连接;正确地实现数据交换;串行发送或接收数据。5.传输协议SFCOMM及RS-232串行接口(3)RFCOMM接口至少应当具备以下功能:5.传输协议SFCOM436.服务发现协议SDP接口(1)服务是一种贡献,服务发现是指对可以利用的服务发现其利用价值或发现服务的一些特征。服务发现协议是对服务发现所确定的规则。利用服务发现协议SDP,蓝牙设备之间就能建立起带服务特征的连接。SDP由三个模块组成,分别是服务发现代理SDA、服务发现服务器SDS、服务数据库管理器SDM。SDA的功能是代表客户应用发送SDP请求,负责查询已有的服务及其属性,但它不具备访问服务的功能。SDS的功能是对SDA的请求给与响应,从SDM中取出有关信息送交SDA。SDM的功能是负责管理好两个数据库:一个是服务发现数据库,是SDP协议自身的数据库。另一个是栈数据库,是从远端SHP服务器检索到的数据库。6.服务发现协议SDP接口(1)服务是一种贡献,服务发现是指446.服务发现协议SDP接口(2)在栈数据库中,存放着一张服务记录表,该表占有一定大小的存储空间,用于描述与SDS有关的服务特征。SDM对服务记录表的管理有两层含义:它能让用户访问这些记录,还为用户提供有维护这些记录的接口。服务记录事实上是一种服务发现数据,它是在应用过程中添加到数据库中去的。从SDA、SDS、SDM三个模块之间的关系来看,SDS就是SDM的用户,SDS的响应功能可以理解为:它是从SDM所管理的两个数据库中查找并取出相关数据作为响应信号送至SDA。它们之间的关系如图7-7所示。6.服务发现协议SDP接口(2)在栈数据库中,存放着一张服务456.服务发现协议SDP接口(3)图7-7服务发现协议SDP

6.服务发现协议SDP接口(3)图7-7服务发现协议466.服务发现协议SDP接口(4)SDP协议与外界有两个应用程序接口API:一个是服务发现API,一个是服务登记API。前一接口用于反映客户的要求;后一接口用于服务操作。服务发现API承担以下职责:连接L2CAP协议或断开L2CAP协议;实现会话功能,主要有服务查询、服务属性、服务查询属性三种会话形式;实现服务浏览。服务登记API承担以下职责:启动;读/写操作;混合操作。6.服务发现协议SDP接口(4)SDP协议与外界有两个应用程477.逻辑链路控制和适配协议L2CAP及接口(1)L2CAP协议位于中间协议层的底层,向下是主机控制器接口HCI,可以直接与蓝牙硬件发生信息联系,向上通过数据流域SDP等高层协议发生关系。L2CAP为上层提供的服务有两种:面向连接的服务和面向非连接的服务。按照服务的种类划分,L2CAP由两个功能模块构成:面向连接的信道控制模块和面向非连接的新到控制模块。如图7-8所示。7.逻辑链路控制和适配协议L2CAP及接口(1)L2CAP487.逻辑链路控制和适配协议L2CAP及接口(2)图7-8L2CAP构成

7.逻辑链路控制和适配协议L2CAP及接口(2)图7-8497.逻辑链路控制和适配协议L2CAP及接口(3)面向连接的信道控制模块被分工承担以下任务:将面向连接的信道连接起来或将它们断开;对面向连接的信道进行合适的配置;在面向连接的信道上传输数据;将传输的数据回送;执行一些特定的信息交换任务。面向无连接的信道控制模块被分工承担以下任务:启动或关闭无连接信道;在无连接信道上发送或接收数据;实现组处理。L2CAP除了按服务种类划分模块外,还可以按照服务性质进行划分,可分成3组:启动并管理部件组,这一组除启动职能外,还包括运行在L2CAP的协议注册以订购的事件。建立连接组,无论有无连接的信道都需要事先建立,这一组的职能建立或断开一个逻辑的连接。数据传输组,职能是发送或接收数据。7.逻辑链路控制和适配协议L2CAP及接口(3)面向连接的507.逻辑链路控制和适配协议L2CAP及接口(4)无论是连接API接口,还是无连接API接口,都是一种消息接口,每条关于L2CAP的消息实质上都存在一个相应的描述函数,该函数装载了能生成消息的信息并能正确地将消息发送到目的地。用户也能有效地自由组织消息为自己服务。顺便说明,数据接口不同于消息接口,除消息函数支撑外,还需要其他函数的支撑。7.逻辑链路控制和适配协议L2CAP及接口(4)无论是连接518.主机控制接口HCI(1)HCI为主机提供了控制蓝牙模块的途径和方法,正是有了HCI接口,主机与蓝牙模块才能连接在一起。HCI的位置位于链路管理器LM和中间协议层之间,它的职责正是把两者联系在一起,完成数据的交换。HCI的工作环境正是位于蓝牙主机和蓝牙模块之间,为了实现彼此之间有机的连接,它必须向蓝牙主机提供一系列的驱动程序,向蓝牙模块提供相应的传输固件,其控制原理如图7-9所示。8.主机控制接口HCI(1)HCI为主机提供了控制蓝牙模块的528.主机控制接口HCI(2)图7-9HCI接口8.主机控制接口HCI(2)图7-9HCI接口538.主机控制接口HCI(3)HCI由传输接口卡、传输总线、传输固件组成。位于上层的HCI传输卡有4种不同的表现形式,适用于4种不同的数据驱动,它们是USB驱动程序,UART驱动程序,RS—232驱动程序,PC卡驱动程序。4个驱动程序并不能同时工作,任一是可只有一个驱动程序被激活。图7-10画出了USB驱动激活时HCI的连接情况。当USB激活时,所有的信息都将通过USB接口:控制命令经USB控制通道数据传送的方向;中断信号经USB发出申请或响应;同步数据经USB实施等时通道传送;异步数据经USB实施各自传送。8.主机控制接口HCI(3)HCI由传输接口卡、传输总线、传548.主机控制接口HCI(4)图7-10USB驱动程序作用下主机与模块的连接

8.主机控制接口HCI(4)图7-10USB驱动程序作用558.主机控制接口HCI(5)如此众多的信号都通过USB接口,是否会发生拥堵呢?事实上并不会出现。在操作系统的USB栈中有蓝牙USB微驱动程序(minidriver),它专门负责提取HCI传输的技术细节,并独立地向HCI传输接口卡提供相应的命令、事件或数据操作。考虑到HCI传输接口卡的驱动程序不止一个,为了协调4个驱动程序的工作,在HCI驱动程序下定义了一个IRP接口,让传输接口卡的4个驱动程序和HCI驱动程序进行交换,以便支持不同的传输接口卡。客户驱动程序属于一种驱动程序,它的功能是实现微驱动和端口驱动,有助于无缝地集成到操作系统中。8.主机控制接口HCI(5)如此众多的信号都通过USB接口,568.主机控制接口HCI(6)按照以上的功能要求,HCI模块应包括以下5个模块:HCI对事件的管理;HCI命令的管理;ACL/SCO数据传输;HCI传输层接口API;输出到上层的API接口。8.主机控制接口HCI(6)按照以上的功能要求,HCI模块应578.主机控制接口HCI(7)HCI模块结构如图7-11所示。其中HCI事件管理模块将收到事件分组,向上层报告分组情况,还可以调用上层已登记了的回调函数。HCI命令管理模块可产生近100条命令,这些命令按用途分成两种:用于远端设备的命令和仅在本地使用的命令。HCIACL/SCO数据传输模块用作ACL和SCO数据的分组传输,还能管理数据流量和缓存。HCI传输层API能够调用HCI和传输层之间的函数,有了它,HCI将独立于不同的硬件和传输层。事件API、命令API、数据API都属于输出到上层的API接口,有了它们,HCI就能联系到TCS、SDP、RFCOMM、L2CAP和应用层。8.主机控制接口HCI(7)HCI模块结构如图7-11所示。588.主机控制接口HCI(8)图7-11HCI模块结构8.主机控制接口HCI(8)图7-11HCI模块结构599.栈连接管理器SCM及接口(1)蓝牙协议栈中并没有出现栈连接管理器SCM,那是因为SCM不是协议,因此它并不在协议栈中占有位置。它虽然不在协议栈中出现,但并不等于它不存在,恰恰相反,只要想实现蓝牙协议栈,要想证实蓝牙协议栈的存在,SCM是必不可少的。它所负责的栈连接主要是指中间协议层与蓝牙基带BB之间的连接,而基带BB恰好位于协议栈的底层。SCM的模块结构及在协议栈中的地位如图7-12所示。从该图看出,它一方面是通向HCI驱动程序和中间协议层诸协议的接口,另一方面又连向虚拟操作系统接口,形成了前往基带BB的通道。9.栈连接管理器SCM及接口(1)蓝牙协议栈中并没有出现栈60图7-12SCM模块构成及地位9.栈连接管理器SCM及接口(2)图7-12SCM模块构成及地位9.栈连接管理器SCM61SCM含有两个模块:数据和语音链路管理;安全管理。(1)数据和语音管理模块众所周知,由很多客户或服务器都会在蓝牙协议栈上寻找不同目的的应用,这些应用的基本操作就是数据的交换。因此在一个数据链路上,将有多个客户或服务器采用多个协议信道进行通信。数据管理模式的示意图如图7-13所示。9.栈连接管理器SCM及接口(3)

SCM含有两个模块:9.栈连接管理器SCM及接口(3)62图7-13数据管理模式9.栈连接管理器SCM及接口(4)图7-13数据管理模式9.栈连接管理器SCM及接口63客户与服务器之间的信息交换首先从客户端建立数据和语音链路开始,而服务器一端需要建立的不是接收就是拒绝数据和语音链路。SCM对语音的管理基本上与对数据的管理相类似,但不完全相同。语音管理不能在同一数据链路上共享协议信道。客户和服务器都不止一个,这就需要有一条专门的链路用于处理语音,这种应用结构与数据处理器是独立的,称为语音处理器,语音处理器所对应的语音管理模式如图7-14所示。与数据处理器比较,语音处理器有两个特征:语音链路中需要专门的语音处理程序;一个蓝牙微微网中最多允许3个语音链路。9.栈连接管理器SCM及接口(5)客户与服务器之间的信息交换首先从客户端建立数据和语音链路开始64图7—14语音管理模式9.栈连接管理器SCM及接口(6)图7—14语音管理模式9.栈连接管理器SCM及接口659.栈连接管理器SCM及接口(7)以微微网中语音链路的分配来看,可以看到:图7-15中主节点A与从节点B间有3条SCO链路;图7-16中主节点A与从节点B间有2条SCO链路,与从节点C间有1条SCO链路;图7-17中主节点A分别有1条SCO链路连至从节点B、C、D。图7-15一个从节点9.栈连接管理器SCM及接口(7)以微微网中语音链路的分配来669.栈连接管理器SCM及接口(8)图7-16二个从节点图7-17三个从节点9.栈连接管理器SCM及接口(8)图7-16二个从节679.栈连接管理器SCM及接口(9)(2)安全管理模块安全管理模块的作用是:产生PIN码。在需要链路联结时,安全处理模块产生一个PIN码。接受或拒绝建立数据链路的申请。在建立连接过程中,安全管理模块将同意或拒绝接入链路的请求。配置数据和语音链路的参数。如果数据和语音链路的有关参数按照应用的要求配置,可能会引起冲突,安全处理模块将协调处理。9.栈连接管理器SCM及接口(9)(2)安全管理模块689.栈连接管理器SCM及接口(10)现在把SCM的主要功能小结如下:产生数据链路和语音链路;在链路配对时,负责保存链路的密钥;保证在两个链路上的多个应用之间相对独立;为L2CAP协议启用本地路由选择。由SCM管理的栈连接包含如下一些过程:启动;建立数据链路和语音链路;断开数据链路;管理链路的配对;处理并返回结果码。9.栈连接管理器SCM及接口(10)现在把SCM的主要功能小697.2.3蓝牙剖面开发协议的最通俗解释是“游戏规则”,又可以解释成“通信语言”,用科学的语言来叙述,“协议”定义成不同系统之间开展通信的规范。但是在很多情况下,光有这种规范还是远远不够的,这是因为一个协议仅仅只是对一种具体情况的反映。为了使蓝牙产品适应应用环境,蓝牙协议就有多个,协议栈正是协议的有序集合。但是协议的堆砌并不能实现蓝牙设备之间的互操作性。7.2.3蓝牙剖面开发协议的最通俗解释是“游戏规则”,又可701.蓝牙设备的互操作性及蓝牙剖面(1)所谓“互操作性”是指设备之间能够取得联系并进行对话、且能互相操作的性质。蓝牙设备的互操作性分解在不同的层次内完成:无线层(Radio):让设备之间联系;协议层(Protocol):让设备之间对话;应用层(Usage):让设备之间互操作。要想使蓝牙设备有优良的互操作性,必须解决以下问题:如何使蓝牙设备工作?如何发现其它蓝牙设备?并与它取得联系?如何让设备之间进行通信?进行对话?如何对蓝牙设备初始化?如何使蓝牙设备之间相互操作?1.蓝牙设备的互操作性及蓝牙剖面(1)所谓“互操作性”是指设711.蓝牙设备的互操作性及蓝牙剖面(2)仅靠几条协议是不可能解决上述问题的。一种有效的做法是规定每一种应用模型的协议、程序以及组合顺序,规定每一种应用模型的通信语言。为了有效地描述各种不同的应用模型,蓝牙技术引进了“剖面”这一概念。所谓剖面,事实上是协议栈的垂直切片组合。蓝牙协议栈的不同垂直切片组合构成了不同的剖面,它们之间的关系如图7-18所示。被定义成协议栈垂直切片组合的蓝牙剖面,之所以能够解决互操作性提出的问题,其秘诀在于使用了一套基本协议标准作为规范,通过如下三项措施使互操作性成为可能:减少了协议选择,缩小了协议中的参数范围;对程序组合的顺序作了规定;对用户交互过程能够统一定义。1.蓝牙设备的互操作性及蓝牙剖面(2)仅靠几条协议是不可能解721.蓝牙设备的互操作性及蓝牙剖面(3)图7-18协议与剖面

1.蓝牙设备的互操作性及蓝牙剖面(3)图7-18协议与剖731.蓝牙设备的互操作性及蓝牙剖面(4)蓝牙SIG定义了如下一些基本的应用模型:文件传输;因特网网桥;局域网接入;同步;三合一电话;终极耳机。1.蓝牙设备的互操作性及蓝牙剖面(4)蓝牙SIG定义了如下一741.蓝牙设备的互操作性及蓝牙剖面(5)蓝牙SIG定义了13种剖面,这些剖面与具体应用模型之间的关系如下:(1)每一种应用模型对应一个或多个剖面;(2)每一个剖面代表了具体应用模型的解决方案;(3)应用模型是当前蓝牙应用和预期蓝牙设备的描述;(4)剖面是应用模型中所描述功能间互操作性的保证措施。1.蓝牙设备的互操作性及蓝牙剖面(5)蓝牙SIG定义了13种752.13种蓝牙剖面间相互关系(1)蓝牙SIG定义的13种剖面及相互之间的关系,如图7-19所示。图7-1913种剖面

2.13种蓝牙剖面间相互关系(1)蓝牙SIG定义的13种剖7613种剖面分成两类:普通接入剖面、服务发现应用剖面、串行端口剖面、普通对象交换剖面统一称为通用剖面,因为它们构成了应用模型及应用剖面的基础,其它剖面统一称为应用剖面。剖面与剖面之间存在着依赖关系。例如剖面A和剖面B,如果剖面A直接或间接采用了另一剖面B的部分或全部功能,则称A依赖于B。从蓝牙剖面图可以看到,所有剖面都依赖于普通接入剖面。而普通对象交换、拨号网络、传真、耳机、局域网接入除依赖于普通接入剖面外,还依赖于串行端口剖面。同样道理,文件传输、对象推、同步剖面同时依赖于普通接入、串行端口和普通对象交换剖面。2.13种蓝牙剖面间相互关系(2)13种剖面分成两类:2.13种蓝牙剖面间相互关系(2)77普通接入剖面(GAP)用于让两个蓝牙单元如何发现对方并建立联系。为了保证蓝牙设备互操作性的实现,保证蓝牙设备的共存,所有蓝牙单元都必须支持GAP。无论是哪个生产厂商,还是进行何种应用,GAP都能使两个蓝牙单元在交换信息过程中发现对方,发现支持哪种应用。服务发现应用剖面(SDAP)用于发现蓝牙单元支持哪种服务,方法是搜索已知的特定服务,或用于搜索浏览所有的普遍服务。串行卡口剖面(SPP)用于在两个蓝牙设备之间建立虚拟串行端口,并完成蓝牙连接。可用于在蓝牙单元上仿真基于RS—232的串行通道,速率成达128Kbit/s。普通对象交换剖面(GOEP)用在对象交换场合中,提出需要使用哪些协议和程序。当两个蓝牙单元已经发现对方并建立了链路和信道连接后,GOEP能描述以下过程:如何将数据从一个蓝牙设备推入到另一个蓝牙设备的程序中。并且还能描述数据在两个单元之间如何移动。3.蓝牙通用剖面的用途普通接入剖面(GAP)用于让两个蓝牙单元如何发现对方并建立联784.蓝牙应用剖面的用途(1)9个应用剖面可分成三类:电话剖面、对象交换剖面(OBEX)和连网剖面。(1)电话剖面包括5个:无绳电话剖面,用于住宅电话系统;内部通信剖面,由于本地电话系统,内部通信专指对讲机;拨号网络剖面,充当无绳MODEM,网上通信用;传真剖面,充当无绳MODEM,传真用;耳机剖面,用于有限用户接口的语音和呼叫。前两个剖面又统称为基于电话控制信令(TCS)的剖面;后三个剖面又统称为基于串行口(AT命令)的剖面。4.蓝牙应用剖面的用途(1)9个应用剖面可分成三类:电话剖面794.蓝牙应用剖面的用途(2)(2)对象交换剖面(OBEX)包括3个:文件传输剖面,用于较大对象和文件的交换;对象推剖面,用作推移数据或交换单个对象;同步剖面,在PC和移动设备之间自动同步,包括日历、纪事等信息。4.蓝牙应用剖面的用途(2)(2)对象交换剖面(OBEX)包804.蓝牙应用剖面的用途(3)(3)联网剖面,目前仅1个:局域网接入剖面,采用PPP协议,让PC机通过无绳网络接入点连入局域网。并不是每个蓝牙单元都要支持上述13个剖面,但每个蓝牙单元至少必须支持普通接入剖面,以换取基本的互操作性。蓝牙单元支持的剖面越多,应用的互操作性越强。随着蓝牙应用面越来越广,相应应用模型也会逐渐增加,定义的剖面也会更多,应用的互操作性也将越来越强。4.蓝牙应用剖面的用途(3)(3)联网剖面,目前仅1个:815.蓝牙通用剖面的开发(1)(1)普通接入剖面的开发使用GAP能够开发出三个过程:发现蓝牙设备的过程;连接到蓝牙设备的链路管理程序开发过程;不同安全级别的使用过程。GAP模块由4个模块组成,如图7-20所示。4个模块是:设置模式,用于设定设备的模式,包括设定发现模式、连接模式、配对模式和安全模式;空闲过程,用于查询、限定查询、发现名字、发现设备并定位;建立过程,用于建立链路、信道和连接;安全管理,用于便于GUI修改和显示安全参数,管理服务数据库和设备数据库。5.蓝牙通用剖面的开发(1)(1)普通接入剖面的开发825.蓝牙通用剖面的开发(2)图7-20GAP模块5.蓝牙通用剖面的开发(2)图7-20GAP模块835.蓝牙通用剖面的开发(3)(2)服务发现应用剖面的开发SDAP模块由3个模块构成,如图7-21所示,它们是:服务查询模块;属性查询模块;服务浏览模块。其中服务查询模块提供了两种服务查询方法,一种是查询从一开始就直接指定了远端设备;另一种是查询服务情况与查询设备结合在一起。如果无法事先知道远端设备的服务情况最好选择后一种服务查询方式。属性查询模块用于查询服务的属性,查询方法也有两种:一种方法是在启动服务属性时查询会话,简称SAS方式;另一种是在服务过程中查询有关的属性,简称SSA方式。服务浏览模块用于浏览远端设备,在浏览时,此模块将提供一种服务方法,这一点在事先不知道服务的相关信息情况下,是非常有用的。5.蓝牙通用剖面的开发(3)(2)服务发现应用剖面的开发845.蓝牙通用剖面的开发(4)图7-21服务发现应用剖面的结构5.蓝牙通用剖面的开发(4)图7-21服务发现应用剖面855.蓝牙通用剖面的开发(5)(3)串行端口剖面的开发串行端口剖面SPP不是应用剖面,而是一个通用剖面,任何一个基于串行端口的传统应用都可以开发蓝牙串行端口剖面。它所建立的虚拟串行端口具有有线串行缆线同样的效果。SPP基于RFCOMM协议,它由两个模块组成,如图7-22所示。两个模块是:仿真模块;复用模块。其中仿真模块用于向上层提供串行通用接口,同时还可以把应用的请求转送至复用模块,并送至RFCOMM,要求其提供服务。复用模块的作用是把系统通信的相关信息映射成RFCOMM的服务。5.蓝牙通用剖面的开发(5)(3)串行端口剖面的开发865.蓝牙通用剖面的开发(6)图7—22串行端口剖面5.蓝牙通用剖面的开发(6)图7—22串行端口剖面877.3蓝牙协议测试为了让每个蓝牙产品满足蓝牙规范的要求,在产品上市之前,必须要通过SIG的严格认证和测试。这样就能提高不同厂家、不同方案开发出产品的互操作性,与其他厂家的产品融为一体。由此可见,蓝牙的认证和测试是蓝牙产品符合规范的保证,没有蓝牙认证和测试,就没有蓝牙产品,也没有蓝牙协议的使用,更没有蓝牙规范的实用。SIG的权威性就在于在世界范围内公开公布蓝牙规范,并对所有要标注蓝牙产品的产品进行认证,只有测试合格的才能使用蓝牙标记。7.3蓝牙协议测试为了让每个蓝牙产品满足蓝牙规范的要求,在887.3.1基带规范测试(1)1.测试环境测试环境由测试设备、计量设备和被测试设备组成,如图7-23所示。这种测试方式主要用于蓝牙发送器和蓝牙接收器,测试的目的是认证无线层和基带层,看发送器和接收器是否满足相关的蓝牙规范。此外,这种测试方式也可以用于管理产品的生产测试和售后测试。7.3.1基带规范测试(1)1.测试环境897.3.1基带规范测试(2)图7-23蓝牙测试示意图

7.3.1基带规范测试(2)图7-23蓝牙测试示意图907.3.1基带规范测试(3)测试环境形成了一个微微网,网中测试设备成为主节点,被测试设备是从节点,测试设备控制着全部测试过程。为安全起见,参加蓝牙测试的所有设备在测试时不支持正常操作,不为用户提供硬件和软件接口,不向用户提供任何数据。在测试环境下的工作方式称为测试模式。被测试设备在测试完毕后进入“旁观”(Stadby)状态。测试过程是从激活开始的,测试环境既然由测试设备、计量设备、被测试设备构成,那么仅有一个设备开始运作并不能算作激活,激活是三个设备共同的动作。7.3.1基带规范测试(3)测试环境形成了一个微微网,网中917.3.1基带规范测试(4)所谓“激活”是指位于测试环境中的所有成员都开始履行自己的职责。有两种方式能够进入激活状态:一种是通过硬件或软件接口在本地激活;另一种是通过空中接口进行激活。前一种激活方式要求被测设备在测试前应处于非工作状态,激活后将与测试设备建立连接,听从测试设备的指挥。后一种激活方式尽管使用的是空中接口,但处于安全因素,也需要在本地启动后进入测试。激活过程为:测试设备发出LMP指令强迫被测试设备进入测试,之前被测试设备应停止所有正常操作。被测设备在收到LMP指令后需要返回一个响应的命令。如果没有本地启动被测设备,也应当返回一个不能响应LMP的命令。7.3.1基带规范测试(4)所谓“激活”是指位于测试环境中927.3.1基带规范测试(5)使用特定的LMP命令启动测试的优势在于它能够控制测试过程的正常进行。如果蓝牙设备并没有处于在测试环境中,它必然要返回一条拒绝LMP的命令(LMP_Not_Accepted),而当被测对象认可测试时,它也会返回一条赞同LMP的命令(LMP_Accepted)。对蓝牙设备也必然提出如下要求:处于测试工作方式下,应当对那些与测试无关的LMP命令不予理睬。使被测设备退出测试环境可以使用LMP_Detach命令,或LMP_Test_Control命令来实现。7.3.1基带规范测试(5)使用特定的LMP命令启动测试的937.3.1基带规范测试(6)2.发射器测试(1)发送时序为了使发射器测试顺利进行,测试方案作如下约定:发送比特率固定不变;分组进行,同一个分组允许重复发送,且每一分组的比特率相同;被测设备在约定的TX瞬间发送一个分组。发送器测试的开始时间定为主节点发送第一个POLL分组,发送采用非跳频方式,频率由双方协商,但发送接收端频率要一致。在经过了一个TX时隙以后,从节点在下一个TX时隙一开始发送分组信号,测试分组信息的持续时间既可以短于一个TX时隙,这样下一个时隙又让主节点发出POLL信息;也可以长于一个TX时隙,这样下一个时隙内,主节点不发送POLL分组,而是可以利用余下的时间进行轮询。无论是哪种情况都应当事先定义。对有轮询的发送,轮训时间间隔应事先固定。有轮询的发送时序图如图7-24所示。7.3.1基带规范测试(6)2.发射器测试947.3.1基带规范测试(7)图7-24有轮询的发送时序7.3.1基带规范测试(7)图7-24有轮询的发送时序957.3.1基带规范测试(8)(2)测试分组测试分组是一种正常的蓝牙分组,分组格式如图7-25所示。图7-25分组格式7.3.1基带规范测试(8)(2)测试分组图7-25967.3.1基带规范测试(9)测试前要事先定义测试设备使用的分组类型和净荷长度。在基带规范中仅就净荷长度作了规定,但没有定义ACL分组的净荷结构。发射器测试对分组类型规定如下:只使用无FEC的分组,即HV3、DH1、DH3、DH5和AUXI分组;测试设备和被测试设备之间发送的分组无需白化扰动,当被测设备处在发射器测试环境中时,白化过程被关闭;只有退出该环境才重新开启。测试中每次发送都采用伪随机序列,该序列固定用PRBS—9序列,序列长度511bit,由一个9级移位寄存器生成,最大0游程是8,如图7-26所示。7.3.1基带规范测试(9)测试前要事先定义测试设备使用的977.3.1基带规范测试(10)图7-26PRBS—9序列7.3.1基带规范测试(10)图7-26PRBS—9987.3.1基带规范测试(11)测试中为了满足整个频率段的要求,采用了跳频格式,将整个频率范围精选出5个频率,分别是信道0、23、46、69、和93,测试过程依序使用这5个频率。测试中的定时选择蓝牙设备的主时钟为基准,传输周期用CLK27~1进行模运算来选定,不用CLK0,因为它只表示半个时隙。发送器测试前初始参数设置选择如下:7.3.1基带规范测试(11)测试中为了满足整个频率段的要997.3.1基带规范测试(12)①比特模式固定为0;固定为1;1、0交替出现;4个1、4个0交替出现;伪随机序列;发送关闭。7.3.1基带规范测试(12)①比特模式1007.3.1基带规范测试(13)②频率选择单个频率;跳频——欧美方式;跳频——法国方式;精简跳频。③TX频率F=(2402+K)MHz分组类型;测试序列长度。④功率可使用一般LMP命令测试自适应功率。7.3.1基带规范测试(13)②频率选择1017.3.1基带规范测试(14)(3)频率切换频率切换是在LMP过程完成时开始。LMP过程如下:测试设备收到一旦收到LMP—Accepted开始测试的消息,就发送POLL分组,分组包括ACK信号,至少持续4个发送时隙(含8个时隙)。只要发送完,测试设备就自行切换到新的频率和白化序列上。被测设备在发送LMP—Accepted消息后,就等待有关该消息的响应,如果收到“响应”信号,被测设备自行切换到新的频率和白化安置上。发送LMP—Accepted消息后、在TX或回送测试启动信号之前的延时值,由具体实施过程决定。如果一旦丢失LMP—Accepted分组,将引起频率不同,发送接收端不同步,并且不能恢复。在改变跳频时也会遇到此类问题。7.3.1基带规范测试(14)(3)频率切换1027.3.1基带规范测试(15)3.回送测试被测设备在收到常规的基带分组后,将对分组进行解码。其中的净荷部分会以相同的分组类型回送到测试设备。回送的方式允许固定不变,也允许变化,但不能杂乱无章地改变。回送的时间可选择在测试设备发送时隙之后,也允许延长两个时隙,在测试设备的下一个发送时隙进行。回送的方式不能由信令或控制信号决定。图7-27、图7-28、图7-29分别画出了正常回送、延时回送开始和延时回送结束的时序。7.3.1基带规范测试(15)3.回送测试1037.3.1基带规范测试(16)图7-27正常回送时序

图7-28延时回送开始7.3.1基带规范测试(16)图7-27正常回送时序1047.3.1基带规范测试(17)图7-29延时回送结束7.3.1基带规范测试(17)图7-29延时回送结束1057.3.1基带规范测试(18)测试设备可以选择是否白化,设置成对上行及下行同时有效。回送测试规则如下:如果没有收到同步字,就不应答;如果头错误检测HEC失误,被测设备的响应改用NULL分组,其中的ARQN比特设置为NAK,此时并不强制发送NULL分组;如果分组中有一条LMP消息与测试有关,则执行该指令后,不返回该分组,但要返回ACK或NAK分组。其余LMP命令被忽略,且不返回任何分组。净荷解码后,在发送时再编码;在误码率较高时,净荷返回,使用CRC对返回的分组进行计算;CRC失败时,回送净荷头中指示的字节。回送方式的白化过程同于正常方式下的白化过程。7.3.1基带规范测试(18)测试设备可以选择是否白化,设1067.3.1基带规范测试(19)回送过程配置的参数如下:分组:ACL分组;SCO分组;ACL分组无白化;SCO分组无白化。频率选择,同于发射器测试过程:单一频率;跳频——欧美方式;跳频——法国方式;精简跳频。功率:可改变;固定发射功率。7.3.1基带规范测试(19)回送过程配置的参数如下:1077.3.2测试接口(1)蓝牙产品测试的目的在于检查该项产品是否符合蓝牙规范、是否符合蓝牙协议的要求、是否能实现底层验证的功能,这种测试又简称为一致性测试。一致性测试的成功实施需要具备两个起码的条件:一个是需高层测试设备(UT:UnderTester),另一个是使用标准的测试控制接口(TCI:TestControlInterface)。前一条件可避免被测设备改变时带来的影响;后一条件是完成高层接口的唯一办法。为了使测试工作顺利进行,要求蓝牙产品生产厂家做到:能与TCI匹配的接口;提供能与UT连接的适配器,硬件、软件或固件都可以。在对蓝牙产品验证看其是否满足蓝牙协议时,使用蓝牙TCI接口,TCI应当能够验证以下蓝牙功能:基带层协议及相关内容;链路管理协议LMP;逻辑链路控制和适配协议L2CAP;主机控制接口。7.3.2测试接口(1)蓝牙产品测试的目的在于检查该项产品108建立蓝牙设备之间无线连接的典型命令如图7-30所示。图7-30建立连接典型命令建立蓝牙设备之间无线连接的典型命令如图7-30所示。1091.接口类型需要测试的有两类情况,一种是测试下的实现IUT(ImplementationUnderTest),另一种是测试中的系统SUT(SystemUnderTest)。测试设备与IUT/SUT之间的接口有两种类型:TCI—HCI(TestControlInterface—HostControllerInterface):测试控制接口——主机控制器接口,本接口在语义及句法上同于主机控制器接口。TCI—L2CAP:测试控制接口——逻辑链路控制和适配协议。本接口基于HCI,用于验证IUT/SUT在L2CAP层的使用情况。测试时选用的物理承载通常是USB、RS—232、UART,也可以使用其它物理承载,但必须为HCI指定一种传输层。1.接口类型需要测试的有两类情况,一种是测试下的实现IUT(1102.TCI—HCI接口的使用(1)TCI—HCI接口可用于验证基带层的链路控制部分和管理部分。测试系统与IUT/SUT高层之间一旦使用TCI—HCI接口,对IUT/SUT高层的访问就可以通过测试系统发出HCI命令、IUT/SUT接收到HCI来进行。TCI—HCI支持的功能由基带层和LM层决定。测试设备与TCI—HCI之间允许使用两种传输通道:一种是USB、RS232或UART中的一个;另一种是软件传输通道。这种通道并不要求测试设备与IUT/SUT之间有什么物理连接,只是要求IUT/SUT生产厂商能提供测试软件,该软件能够接收来自测试设备的命令或数据,并能在IUT/SUT上执行。该软件应具备代替“物理连接”的功能,使得测试人员使用该软件,如同在测试设备与IUT/SUT之间有物理连接一样。因此,该软件接口必须由IUT/SUT生产厂商与测试认证机构共同认可,测试机构有权提出自己对该软件接口的技术要求。2.TCI—HCI接口的使用(1)TCI—HCI接口可用于验1112.TCI—HCI接口的使用(2)图7-31举了一个基带和链路管理测试的例子,假设该蓝牙产品不支持HCI,使用一个物理传输层作为TCI—HCI接口。由厂商提供的测试软件要适配TCI—HCI接口。软件传输承载的接口用例如图7-32所示。TC软件作为一种测试应用,在执行命令作用下能够向测试系统报告相关的事件。除用于验证基带层的链路控制与管理外,TCI—HCI接口还可以用于验证HCI信令,这种验证仅限于生产厂家申明支持HCI命令的时候。这时所用的传输承载是物理承载,仅限于USB、RS-232或UART中的任一种。2.TCI—HCI接口的使用(2)图7-31举了一个基带和链1122.TCI—HCI接口的使用(3)图7-31物理传输承载用例(无HCI的基带和LM验证)2.TCI—HCI接口的使用(3)图7-31物理传输承1132.TCI—HCI接口的使用(4)图7-32软件传输承载用例(无HCI的基带和LM验证)2.TCI—HCI接口的使用(4)图7-32软件传输承1142.TCI—HCI接口的使用(5)图7-33就是对蓝牙产品开展HCI验证的用例。在测试设备和IUT/SUT之间就是用的物理承载,不需要其它软件,HCI就是测试系统的接口。图7-33HCI验证2.TCI—HCI接口的使用(5)图7-33就是对蓝牙产品开1153.L2CAP验证IUT/SUT的L2CAP层也可以进行验证,所用接口使用基于HCI的TCI—L2CAP接口,该接口采用通用的事件和命令语法,按特定的L2CAP服务接口定义。在L2CAP中定义的服务原语可作参考,而L2CAP事件和命令的原语在信息格式要做出转换,换成与HCI事件和命令相同。蓝牙产品的L2CAP验证如图7-34所示,图中TCI—L2CAP接口使用了物理承载,要求生产厂家在将产品送交测试前提供控制软件,用作在依赖于实现的接口与TCI—L2CAP接口之间匹配。3.L2CAP验证IUT/SUT的L2CAP层也可以进行验证116图7-34TCI—L2CAP验证图7-34TCI—L2CAP验证1174.蓝牙射频链路测试(1)蓝牙射频链路的测试立足于蓝牙的无线规范和基带规范,基本上类似于IUT/SUT上的测试,对于这类测试验证仅需要空中接口,测试配置如图7-35所示。从安全角度出发,需本地启动测试。图7-35射频链路验证

4.蓝牙射频链路测试(1)蓝牙射频链路的测试立足于蓝牙的无线1184.蓝牙射频链路测试(2)要求验证的产品由于实现的协议层次不同,分别有LM、BB、HCI或L2CAP,因而验证蓝牙协议的测试工作量也不同,导致验证过程不同、TCL也不同。验证蓝牙协议的测试,有以下几种不同的规范可供选择:无线规范、L2CAP规范和HCI规范,此外还有IUT/SUT测试指令(这类指令根据需要选择)。验证使用的接口有:测试控制接口和空中接口。在送交验证的产品声明是否支持剖面时,还需要进行剖面测试,以确保互操作性。剖面测试基于蓝牙剖面的有关规范,包括SUT测试指令。这一类测试仅需要空中接口及支持的人机接口MMI(ManMachineInterface)。验证示意图如图7-36所示。4.蓝牙射频链路测试(2)要求验证的产品由于实现的协议层次不1194.蓝牙射频链路测试(3)图7-36剖面验证配置4.蓝牙射频链路测试(3)图7-36剖面验证配置1205.TCI—L2CAP规范(1)把逻辑链路控制和适配协议L2CAP接口映射到一个合适的测试控制接口TCI,实行这种映射的若干技术指标被称为TCI—L2CAP规范。规范由事件和命令两部分组成。(1)事件事件是指接口处发生的一次操作。在L2CAP接口,将“服务指示”(Indication)映射成回调函数(Callback),该函数的功能之一是在函数的返回参数中含有相应的响应参数,这些响应参数对执行“服务指示”是必不可少的。由此可见,对于TCI,“服务指示”被映射成事件或命令的响应。测试开始时发送的第一个参数是“Event_ID”,字长1字节,用于表述256种可能的事件,其中00、06~FF预留作备用,01~05表示L2CAP的5种事件。事件码及其分配如表7-2所示。5.TCI—L2CAP规范(1)把逻辑链路控制和适配协议L21215.TCI—L2CAP规范(2)5.TCI—L2CAP规范(2)1225.TCI—L2CAP规范(3)(2)命令命令是执行服务操作的指令。其功能是处理完事件后返回参数。TCI—L2CAP的命令使用HCI规范中的HCI语法定义。为了把L2CAP规范中的L2CAP命令与HCI规范中的HCI命令区别开来,L2CAP测试接口专门预留了一个分段,该字长16位。HCI命令分组中的操作码命令字长OCF(OpcodeCommandField)字长16位,而测试用的OCF不足16位,仅10位。这样做能将L2CAP命令与HCI命令区别开来。5.TCI—L2CAP规范(3)(2)命令1237.3.3协议认证与实现(1)蓝牙产品是否符合蓝牙协议的认证过程包括两方面的内容:认证程序;认证过程。(1)认证程序认证程序由认证机构、认证人员、认证流程组成。蓝牙认证需要若干实体其名称和职能分别是:蓝牙认证评价委员会BQRB,其参加成员由蓝牙SIG指定,该委员会的职责是负责评价、推动和管理蓝牙认证计划。蓝牙认证管理人员BQA,职责是负责管理和维护通过认证的产品、蓝牙认证测试设备、蓝牙认证人员。蓝牙认证测试设备BQTF,是用于测试蓝牙产品的工具,由蓝牙认证评价委员会官方鉴定核准。蓝牙认证人员BQB:由蓝牙认证评价委员会BQRB授权的人员,负责检查声明和文档是否与规范相符,评价产品测试报告。7.3.3协议认证与实现(1)蓝牙产品是否符合蓝牙协议的认1247.3.3协议认证与实现(2)(2)认证过程图7-38画出了一个蓝牙产品的认证过程,大体步骤如下:生产厂家成为蓝牙SIG成员;生产厂家选出一个在蓝牙站点上公布的(持证上岗的)蓝牙认证人员;与蓝牙认证人员一起制定测试计划;将被测试的产品交由蓝牙认证测试设备BQTF测试并作出测试报告;蓝牙认证人员检查测试报告并提出意见;如果蓝牙认证人员在检查声明和文档后无异议,就准备一个被认证产品的公告交蓝牙认证评价委员会;如果蓝牙认证人员对产品的一致性和互操作性有意见,在经过与厂家协商后,他将经过蓝牙认证管理人员向蓝牙认证评价委员会发出请求裁决的报告。如果BQRB要进行质疑,生产厂家应按其要求递交说明书,就有关问题进行说明;所有要求全部合格,蓝牙认证人员将通知生产厂家,准备将该产品在蓝牙认证产品目录中公布,征询生产厂家是否同意。在生产厂家同意的情况下,蓝牙认证人员在官方的认证产品目录中公布该产品。7.3.3协议认证与实现(2)(2)认证过程1257.3.3协议认证与实现(3)图7-38蓝牙产品认证过程

7.3.3协议认证与实现(3)图7-38蓝牙产品认证1267.4蓝牙开发中的几个问题7.4.1蓝牙产品特征1.“蓝牙产品”名称的获得只有经过SIG测试认定符合蓝牙标准后,才有资格以蓝牙产品的名称投入市场。由蓝牙特殊利益集团SIG制定的蓝牙无线通信规范完全是公开的和共享的。这种与生俱来的开放性使蓝牙有强大的生命力。从蓝牙的诞生之日起,它就是一个由生产厂家、研究机构自己发起的非政府机构,它发起的技术协议完全公开,不是哪一家的专利,只要是SIG成员都可以无偿使用蓝牙新技术。任何SIG成员都能无偿将蓝牙技术标准拿来生产自己的产品。对于非SIG成员,不存在以上那些优惠。7.4蓝牙开发中的几个问题7.4.1蓝牙产品特征1277.4.1蓝牙产品特征(2)2.互操作性蓝牙产品必须通过SIG的认证程序,才能走向市场,认证的过程就是看生产厂家提供的产品是否符合蓝牙规范。“认证”能保证不同公司的蓝牙产品数据共享、彼此兼容。3.语音和数据传输当代的语音常以数据形式传送和存储,像移动电话这类语音设备,就能用于传输数据,语音传输和数据传输在传统意义上的区别已越来越模糊,计算终端和通信终端也开始越来越融合在一起。蓝牙无线通信同时支持语音传输和数据传输,以其中一种方式或两种方式并用,能使所有的蓝牙产品产生通信连接。蓝牙产品的特征之一,就是同时支持这两种传输方式。7.4.1蓝牙产品特征(2)2.互操作性1287.4.1蓝牙产品特征(3)4.辐射对人体的影响无线电通信的辐射是人类忧心的问题。世界卫生组织、IEEE等组成的联合专家小组已表示,未检测到蓝牙辐射对人体的影响,主要原因是蓝牙输出功率很小仅为1mw,仅仅是移动电话的一小部分,是微波炉功率的百万分之一。5.无线频率不受限制蓝牙产品工作于2.45GHz频率段,这是一个免付费、无需申请、在世界各地使用不用考虑频率限制的频段。7.4.1蓝牙产品特征(3)4.辐射对人体的影响1297.4.2与蓝牙相关的技术(1)(1)蓝牙与无线局域网的关系无线局域网WLAN(WirelessLocalAreaNetworks)是一种使用无线传播媒介实现信息传递的局域网。与广为流传的有线局域网比较,WLAN具有局域网传输速率快、传输距离近、安装使用方便灵活且运行可靠的优点,省掉了有线通信的传输线。传输媒介不再是电缆线,而是使用微波、电磁波、红外线等等,所用设备也相应为无线网卡、无线网桥、无线访问节点等。7.4.2与蓝牙相关的技术(1)(1)蓝牙与无线局域网的关1307.4.2与蓝牙相关的技术(2)蓝牙网和WLAN非常相似,但又有明显的不同。蓝牙技术是将近距离(一般是10米)的信息产品实现无线连接,这些信息产品除了PC机、手提电脑外,更多地是指移动通信终端,如手机等。而WALN技术是将局部范围内的计算机实现无线连接。因此这两门技术在实现无线传输这一点上是相同的,但在组网范围和终端设备两方面不同。WALN的传送距离大于蓝牙传送距离;WALN的终端是计算机,而蓝牙网还允许其他支撑蓝牙的产品,从终端来讲,蓝牙网的范围宽得多。7.4.2与蓝牙相关的技术(2)蓝牙网和WLAN非常相似,1317.4.2与蓝牙相关的技术(3)(2)蓝牙与其他2.4GHz产品的关系工作在2.4GHz频段上的技术和产品比较多,例如一些医疗遥感测量装置、IEEE802.11、HomeRF、红外技术等,大多数2.4GHzWLAN产品都希望能与新近进入该频段的蓝牙产品和睦相处、各司其责。由于医疗产品的存在,蓝牙进入医院受到了一定的条件限制。7.4.2与蓝牙相关的技术(3)(2)蓝牙与其他2.4GH1327.4.2与蓝牙相关的技术(4)以IEEE802.11技术标准为例,它是高速无线局域网WLAN的推荐规范,但它与蓝牙规范不同的是,它并不能保证不同生产厂家的互操作性。从另一个技术指标数据传输率比较,蓝牙在广泛的频谱跳频中能达到1Mbit/s的传输率,而IEEE802.11a和IEEE802.11b可分别达到11Mbit/s和54Mbit/s,远远高于蓝牙的传输率。以协议层的构造看,蓝牙协议栈的构造要丰富一些,包含了三个不同层面的相关协议。IEEE802.11仅规定了开放式系统互连参模型(OSI/RM)的物理局和MAC层。在物理层IEEE802.11定义了三种不同物理介质,就是红外线、跳频扩普、直控方式,但它只支持数据通信,要进行无线数据通信,相应数据设备要配备无线网卡。7.4.2与蓝牙相关的技术(4)以IEEE802.11技术1337.4.2与蓝牙相关的技术(5)另一门运行于2.4GHz频段的HomeRF技术是专为家庭用户设计的,它的名称鲜明地突出了这一应用特色。HomeRF为家庭服务方式是采用跳频扩普方式,通过家中的一台主机,在移动的数据和语音设备之间进行通信。它可以通过时分复用方式支持语音通信,还能通过载波监听多重访问——冲突避免协议支持数据通信,它还支持TCP/IP的集成、广播、多播及48位IP地址。7.4.2与蓝牙相关的技术(5)另一门运行于2.4GHz频1347.4.2与蓝牙相关的技术(6)表7-3给出了蓝牙技术、IEEE802.11、HomeRF的技术特点比较。IEEE802.11B是一种支持10个到100个接入点的无线以太网协议,它的开发初衷是在大工作区内达到无线漫游,实现Internet共享,高质量地完成网络数据传输。它的长处是可靠性高,数据传输快,不足的主要是它所采用的直序扩频技术影响了在高密度区域内的服务质量,并且语音支持功能较差。由于单一网络的局限性,因此还不能满足一些网络用户的多方位要求。7.4.2与蓝牙相关的技术(6)表7-3给出了蓝牙技术、I1357.4.2与蓝牙相关的技术(7)7.4.2与蓝牙相关的技术(7)1367.4.2与蓝牙相关的技术(8)由家庭射频(HomeRF)工作组开发的HomeRF技术,从可互操作性设计入手提出了共享无线接入设计,从一开始就把消费者在家庭网络上的需要作为研制规范的出发点,因此,它具有简单、保密、好用、服务质量优良等优点。但这一技术也有局限性,HomeRF中有语音和数据两种协议,属无线以太网IEEE802.11和欧洲数字无绳电话DECT两个协议,当系统在2.4GHz频带上以50跳/秒速率跳频,接收端必须捕获传输信号的数据头和头几个数据包,才能切换到相应的模式,很多无线局域网制造商不太支持这种做法。对比之下,蓝牙技术的跳频更快,显得更加稳定,它的明显优点是更加灵活、功耗低、成本低。7.4.2与蓝牙相关的技术(8)由家庭射频(HomeRF1377.4.2与蓝牙相关的技术(9)在无线个人区域网WPAN领域,蓝牙、IEEE802.11、HomeRF各有长处和不足,形成了各自的市场份额。蓝牙以无线代替电缆的形式吸引了更多的关注,以其低成本、快速接入、使用方便的特点,筑构成众多电子设备之间无线交换信息平台。IEEE802.11适用于工作区内的文件处理和连接Internet,在办公自动化、企业无线网络方面一枝独秀。HomeRF专长于组建家用无线互联网,将主机与移动语音、数据设备之间的通信变为现实。目前看来,它们暂时还不存在谁能取代谁的问题。7.4.2与蓝牙相关的技术(9)在无线个人区域网WPAN领1387.4.2与蓝牙相关的技术(10)(3)蓝牙技术和红外技术的关系蓝牙、IEEE802.11、HomeRF同属于无线电技术,它们与红外技术IrDA比较,有一些相似和不同之处,表7-4比较了它们的一些技术特征。7.4.2与蓝牙相关的技术(10)(3)蓝牙技术和红外技术1397.4.2与蓝牙相关的技术(11)7.4.2与蓝牙相关的技术(11)1407.4.3蓝牙发展趋势

与红外系统相比,蓝牙没有方向限制,而成本已经比其它无线电传输技术低,预计蓝牙将从智能化方面全面战胜红外技术,又会以低廉的价格战胜IEEE802.11。从长远看,蓝牙、IEEE802.11和HomeRF携手走向融合的可能性极大。7.4.3蓝牙发展趋势与红外系统相比,蓝牙没有方向限制,1417.5小结(1)蓝牙产品需要开发,蓝牙开发是蓝牙实现的必经之路。只有掌握蓝牙核心技术,才能开发出自主知识产权的产品。蓝牙硬件开发的核心技术是快速跳频和单芯片集成技术;蓝牙软件开发的核心技术是协议栈中间协议层应用程序接口API的编程设计技术和与剖面的连接管理技术。生产厂家按照蓝牙规范生产出来的产品不能称为蓝牙产品,只有经过由SIG认可的认证机构认证与测试合格的产品才能称为蓝牙产品。7.5小结(1)蓝牙产品需要开发,蓝牙开发是蓝牙实现的必1427.5小结(2)蓝牙产品的共同特征是互操作性。测试设备、计量装置和被测产品共同构成了蓝牙测试系统,测试目的是通过数据传输检查被测产品执行了哪些协议、符合哪些蓝牙规范。测试所用的接口均由申请蓝牙测试的厂家在送交被测产品时一并提供。与蓝牙有关的其它无线传输技术目前都有自己的市场,现状是并存的,这些技术将来有可能殊途同归。7.5小结(2)蓝牙产品的共同特征是互操作性。143本章到此结束本章到此结束

温馨提示

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

评论

0/150

提交评论