1 蓝牙协议概述
蓝牙技能规范(Specification)包含协议(PRotocol)和运用规范(Profile)两个部分。协议界说了各功用元素(如串口仿真协议(RFCOMM)、逻辑链路操控和适配协议(L2CAP)等各自的作业方式,而运用规范则论述了为了完结一个特定的运用模型(Usage model),各层协议间和作业协同机制。显着,Protocol是一种横向体系结构,而Profile是一种纵向体系结构。较典型的Profile有拨号网络(Dial-up Networking)、耳机(Headset)、局域网拜访(LAN access)和文件传输(File Transfer)等,它们别离对应一种运用模型。
整个蓝牙协议体系结构可分为底层硬件模块、中心协议层(软件模块)和高端运用层三大部分。图1中所示的链路管理层(LM)、基带层(BB)和射频层(RF)归于蓝牙的硬件模块。RF层经过2.4GHz无需授权的ISM频段的微波,完结数据位流的过滤和传输,它首要界说了蓝牙收发器在此频带正常作业所满意的要求。BB层担任跳频和蓝牙数据及信息帧的传输。LM层担任衔接的树立和撤除以及链路的安全机制。它们为上层软件模块供给了不同的拜访人口,可是两个蓝牙设备之间的音讯和数据传递有必要经过蓝牙主机操控器接口(HCI)的解说才干进行。也就是说,HCI是蓝牙协议中软硬件之间的接口,它供给了一个调用基层BB、LM状况和操控寄存器等硬件的共同指令接口。HCI层以上的协议实体运转在主机上,而HCI以下的功用由蓝牙设备来完结,二者之间经过一个对两头通明的传输层进行交互。
中心协议层包含逻辑链路操控和适配协议(L2CAP,Logical Link Control and Adaptation Protocol)、服务发现协议(SDP,Service Discovery Protocol)、串口仿真协议(RFCOMM)和电信通讯协议(TCS,Telephone control Protocol)。L2CAP完结数据拆装、服务质量操控和协议复用等功用,是其他上层协议完结的根底,因而也是蓝牙协议栈的中心部分。SDP为上层运用程序供给一种机制来发现网络中可用的服务及其特性。RFCOMM根据ETSI规范TS07.10在L2CAP上仿真9针RS232串口的功用。TCS供给蓝牙设备间话音和数据的呼叫操控信令。
在蓝牙协议栈的最上部是高端运用层(applications),它对应于各种运用模型的profile。
2 蓝牙协议测验布景
2.1 蓝牙测验布景
蓝牙安排成员为证明自己的产品达到了蓝牙安排参加协议的要求,契合蓝牙规范,有必要经过蓝牙认证。蓝牙认证设置的意图在于维护蓝牙无线互连技能的共同性,一起尽或许下降对产品开发商的要求。
任何一个出产或出售蓝牙设备的公司有必要首要签署蓝牙协议以成为蓝牙安排成员,然后证明自己的产品契合蓝牙体系规范(包含共同性要求)。在成功经过蓝牙认证之后,产品计划被列入合格产品目录。产品有必要彻底经过蓝牙认证,不然不享有蓝牙安排协议所赋予的权力。
蓝牙设备测验规范包含一系列为验证蓝牙设备而规划的测验。蓝牙设备应对蓝牙设备测验规范中一切的蓝牙设备测验事例逐个进行验证。
所谓测验事例是与被测验协议的一个特定特征相关的一个特定测验单元。每个测验事例都有一个特定的测验意图,运转后都对所得到的测验成果进行判别。例如为测验传输层和建链(Connection establishment)而规划一个测验事例,其测验意图为“测验传输层建链”,履行这个测验事例或许得到的成果为成功、失利或许不确认。
测验事例一般由三部分组成:初始化部分(Preamble)、测验体(Test Body)和重置部分(Postamble)。
在蓝牙设备认证测验中,射频(Radio Frequency)、蓝牙协议共同性、profile共同性和profile互联测验所运用的办法是不同的。
*射频测验事例可以混合运用规范测验设备和特别蓝牙测验设备来履行。假如有一个可用的参阅测验体系,蓝牙协议共同性的测验事例可以运用它来履行。不然共同性测验只能经过其他办法进行。安排成员自由选择适宜的测验设备来运转所需的测验。
*为加强低层互联的牢靠性,首要应进行蓝牙协议互联蓝牙协议互联测验。运用规划好的测验产品(一般称为蓝牙设备)来进行测验。
*Profile共同性测验用来决议蓝牙产品是否契合蓝牙规范。
*Profile互联测验协助确认支撑同一Profile的产品是否如意料那样支撑互联。当设备特别是不同厂家设备之间进行实践通讯的时分,互联测验有或许发现原先不太显着的问题。
2.2共同性测验
协议共同性测验和协议校验的方针是很简单混杂的。协议共同性测验用于查看给定的一种协议的完结实体是否与协议的内涵开工规范要求相共同。协议校验用来查看协议规范本身在逻辑上是否牢靠的。假如协议规范存在规划过错,肯定契合规范要求的协议完结尽管存在相同的逻辑过错,但可以经过共同性测验;假如它不存在相同的过错,就无法经过共同性测验。只要完结实体和规范要求不共同时共同性测验才会失利。相反,协议的牢靠性验证应该检测出规划上的过错。
给定一个例如有限状况机方式的参阅协议规范和一个不知道的完结实体。对一切实践运用来说,协议完结实体相当于一个具有有限输入输出的黑箱。咱们只能经过供给一系列的输入信号(音讯),调查输出的成果信号来验证它。处于验证下的完结实体,一般称为被校验目标(IUT),只要当一切调查到的输出与方式规范所描绘相共同时方可经过校验。一组用于按这种办法验证协议完结的输入序列集称为共同性测验事例包。
这里有两个首要的问题解决:
(1)找到一种通用有用的办法为一种给定的协议完结实体生成一个共同性测验事例包。
(2)找到一种办法把测验安全运用在协议完结实体上进行测验。
第二个问题看起来比较简单。IUT可所以协议栈结构中独自的一层,具有与相邻层间的两个接口。为了测验它,需求一个高层测验仪和一个低层测验仪和一些体系办法来同步它们之间的流程。当IUT和测验仪在物理上彼此阻隔时也存在杂乱的影响要素。测验仪或许只能经过长途网络衔接来拜访IUT,而且无法肯定牢靠的供给输入以及从IUT取得输出。
通讯体系规划要坚持必定的规范后为称为共同性测验。
在OSI体系模型界说后几年中,ISO(国际规范化安排)开端着手拟定共同性测验的办法和结构。一个专门委员会接手了规范化中最困难的使命之一,开展出ISO用于界说共同性测验结构和办法的一系列规范,以及一种描绘笼统测验集的言语。
发起的一种解决办法是为每一种协议或协议集(profile)开展一种笼统的测验集,并使之规范化。开展商要以一系列称为PICS或PIXTT文档的方式阐明自己产品的完结途径。共同性测验中心(也称为测验实验室)担任被测目标的共同性验证。中心首要选出刊登特定目标的测验事例,给测验事例赋值,最终得到笼统测验集的一个物理完结。现在,共同性测验是国际范围内最为广泛的软件测验活动。