Bluetooth协议

Bluetooth协议

 

一、射频及基带部分

Bluetooth设备工作在2.4GHz的ISM(Industrial,Science and Medicine)频段,在北美和欧洲为2400~2483.5MHz,使用79个频道,载频为2402+kMHz(k=0,1…,22)。无论是79个频道还是23个频道,频道间隔均为1MHz,采用时分双工(TDD,TimeDivision Duplex)方式。调制方式为BT=0.5的GFSK,调制指数为0.28~0.35,最大发射功率分为三个等级,分别是:100mW(20dBm),2.5mW(4dBm)和1mW(0dBm),在4~20dBm范围内要求采用功率控制,因此,Bluetooth设备间的有效通信距离大约为10~100米。

Bluetooth的基带符号速率为1Mb/s,采用数据包的形式按时隙传送,每时隙长0.625ūs,不排除将来采用更高的符号速率。Bluetooth系统支持实时的同步面向连接传输和非实时的异步面向非连接传输,分别成为SCO链路(Synchronous Ccnnection-Oriented Link)和ACL链路(Asynchronous Connection-Less Link),前者只要传送语音等实时性强的信息,在规定的时隙传输,后者则以数据为主,可在任意时隙传输。但当ACL传输占用SCO的预留时隙,一旦系统需要SCO传输,ACL则自动让出这些时隙以保证SCO的实时性。数据包被分成3大类:链路控制包、SCO包和ACL包。已定义了4钟链路控制数据包,后两者最多可分别定义12种,目前已定义了4种和7种,即共定义了15种。大多数数据包只占用1个时隙,但有些包占用3个或5个时隙。

Bluetooth支持64kb/s的实时语音传输和各种速率的数据传输,语音编码采用对数PCM或连续可变斜率增量调制(CVSD,Continuous Variable Slope Delta Modulation)。语音和数据可单独或者同时传输。当仅传输语音时,Bluetooth设备最多可同时支持3路全双工的语音通信;当语音和数据同时传输或仅传输数据时,Bluetooth设备支持433.9kb/s的对称全双工通信或723.2/57.6kb/s的非对称双工通信,另外,采用CRC(Cyclic Redundancy Check)、FEC(Forward Error Correction)及ARQ(Automatic Repeat Request),保证了通信的可靠性。

跳频是Bluetooth使用的关键技术之一,对应于单时隙包,Bluetooth的跳频速率为1600跳每秒;对应于多时隙包,跳频速率有所降低;但在建链是(包括寻呼和查询)则提高为3200跳每秒。使用这样高的跳频速率,Bluetooth系统具有足够高的抗干扰能力。

跳频序列受控于Bluetooth 48-bit设备地址码(BD——ADDR)中的28-bit和28-bit的时钟,采用以多级碟形运算为核心的映射方案。该跳频方案和其他方案相比,具有硬件设备简单、性能优越、便于79/23频段两种系统的兼容以及各种状态的跳频序列使用统一的电路来实现等特点。

二、组网技术

Bluetooth根据网络的概念提供点对点和点对多点的无线链接,在任意一个有效通信范围呢,所有设备的地位都是平等的。首先提出通信要求的设备称为主设备(Master),被动进行通信的设备称为从设备(Slave)。利用TDMA,一个Master最多可同时与7个Slave进行通信并和多个Slave(最多可超过200个)保持同步但不通信。一个Master和一个以上的Slave构成的网络称为Bluetooth的主从网络(Piconet)。若两个以上的Piconet之间存在着设备间的通信,则构成了Bluetooth的分散网络(Scatternet)。基于TDMA原理和Bluetooth设备的平等性,任意Bluetooth设备在Piconet和Scatternet中,既可作Master,又可作Slave,还可同时既是Master又是Slave。因此,在Bluetooth中没有基站的概念。另外,所有设备都是可移动的。

Bluetooth的基本出发点是可使其设备能够在全球范围内应用于任意的小范围通信。任一Bluetooth设备,都可根据IEEE 802标准得到一个唯一的48-bie的BD_ADDR,它是一个公开的地址码,可以通过人工或自动进行查询。在BD_ADDR基础上,使用一些性能良好的算法可获得各种保密和安全码,从而保证了设备识别码(ID,Identification)在全球的唯一性,以及通信过程中设备的鉴权和通信的安全保密。

三、Bluetooth的协议体系结构

和许多的通信系统一样,Bluetooth的通信协议采用层次结构。其地层为各类应用所通用,高层则视具体应用而有所不同,大体上分为计算机背景和非计算机背景两种方式,前者通过主机控制接口(HCI,Host Controller Interface)实现高、低层的联接,后者则不需用HCI。层次结构使其设备具有最大可能的通用性和灵活性。根据通信协议,各种Bluetooth设备无论在任何地方,都可以通过人工或自动查询来发现其他Bluetooth设备,从而构成Piconet或Scatternet,实现系统提供的各种功能,使用起来十分方便。

蓝牙协议栈

蓝牙协议体系中的协议啊系统软件的功能分为四层:

核心协议:BaseBand、LMP、L2CAP、SDP;

电缆代协议:RFCOMM;

电话传输控制协议:TCSBinary、AT命令集;

可选协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrDA、WAE;

基带(BaseBand)协议描述了完成地层链路建立维护和执行基带协议的链路控制器的规范;链路管理协议(Link Manager Protocol)定义了链路的建立与控制的规范,在接收侧信号由解释及过滤;逻辑链路控制与适配协议(Logical Link Control and Adaptation Protocol)支持高层协议复用、数据包分段重组、QoS信息服务并获得相应的信息;RFCOMM是ETSITS07.10的子集,提供L2CAP之上的串口防真;TCSBinary定义了在蓝牙设备间建立语音与数据呼叫控制信令;其他的一些协议都是已有的其他组织的协议。

除上述协议层外,规范还定义了主机控制接口(HCI),它为基带控制器、连接管理器、硬件状态和控制寄存器提供命令接口,用以想设备供应商提供像USB和UART(通用异步收发器)的通用接口。绝大多数蓝牙设备都需要核心协议(加上无线部分),而其他协议则根据应用的需要而定。

四、应用模型

Profiles部分规定不同蓝牙应用所需的协议,整个Profiles部分涉及了从耳机到局域网接入点等多种应用。对于每一个应用,应用模型给出其协议栈结构,并针对每一层具体规定一些必须实现的内容,诸如消息序列、功能集以及空中接口。依据应用模型实现应用,有利于不同厂家设备之间的互通性。

例如应用模型的第一个是一般接入应用模型,这个模型定义了用于发现蓝牙设备的过程、用于链接管理的过程、使用不同安全级别的过程,并描述了用户界面层次上参数的表示格式。模型首先给出了协议栈结构,而后分别描述了蓝牙地址、蓝牙设备类型、蓝牙PIN码在用户层面的表示格式,同时就认证等安全方面的内容给出流程图,最后描述设备发现及链路维护的消息序列,依照这个模型实现的设备互相可以发现对方并根据用户需求建立链路。

 

Bluetooth的四种应用模式

(1)通用访问应用(GAP)模式:定义了两个蓝牙单元如何互发现和建立连接,它是用来处理连接设备之间的相互发现和建立连接的。它保证两个蓝牙设备,不管是哪一家厂商的产品,都能够发现设备支持何种应用,并能够交换信息。 

(2)服务发现应用(SDAP)模式:定义了发现注册在其他蓝牙设备中的服务的过程,并且可以获得与这些服务相关的信息。 

(3)串口应用(SPP)模式:定义了在两个蓝牙设备间基于RFCOMM建立虚拟的串口连接的过程和要求。 

(4)通用对象交换应用(GOEP)模式:定义了处理对象交换的协议和步骤,文件传输应用和同步应用都是基于这一应用的,笔记本电脑、PDA、移动电话是这一应用模式的典型应用。

 

Bluetooth的协议标准

 

 蓝牙规范(Specification of the Bluetooth System)就是蓝牙无线通信协议标准,它规定了蓝牙应用产品应遵循的标准和需要达到的要求,有SIG颁布.

       蓝牙规范包括核心协议(Core)与应用框架(Profiles)两个文件。协议规范部分定义了蓝牙的各层通信协议,应用框架指出了如何采用这些协议实现具体的应用产品。蓝牙协议规范遵循开放系统互连参考模型(Open System Interconnetion/Referenced Model, OSI/RM),从低到高地定义了蓝牙协议堆栈的各个层次。 

       按照蓝牙协议的逻辑功能,协议堆栈由下至上分为3个部分:传输协议、中介协议和应用协议。其功能简介如下。 

1 .传输协议 

       负责蓝牙设备间相互确认对方的位置,以及建立和管理蓝牙设备间的物理和逻辑链路。这一部分又进一步分为低层传输协议和高层传输协议。低层传输协议侧重于语音与数据无线传输的物理实现以及蓝牙设备的物理和逻辑链路。低层传输协议包括蓝牙的射频(Radio)部分、基带与链路管理协议(Baseband && Link Manager Protocol, LMP)。高层传输协议包括逻辑链路控制的物理实现以及蓝牙设备间的连接于组网。高层传输协议包括逻辑链路控制与适配协议(Logical Link Control and Adaptation Protocol, L2CAP)和主机控制器接口(Host Controller Interface, HCI)。这部分为高层应用程序屏蔽了诸如跳频序列选择等低层传输操作,并为高层应用传输提供了更加有效和更有利于实现的数据分组格式。 

2 .中介协议 

       为高层应用协议或程序在蓝牙逻辑链路上工作提供了必要的支持,为应用曾提供了各种不同的标准接口。这部分协议包括以下几部分。 

(1). 串口仿真协议(RFCOMM) 

        基于欧洲电信标准化协会(European Telecommunication Standardization Institute, ETSI)的TS07.10标准制定。该协议用于模拟串行接口环境,使得基于串口的传统应用仅作少量的修改或者不做任何修改可以直接在该层上运行。 

(2). 服务发现协议(Service Didcovery Protocol,SDP) 

        为实现蓝牙设备之间相互查询及访问对方提供的服务。 

(3). IrDA(Infrared Data Association)互操作协议 

        蓝牙规范采用了IrDA的对象交换协议(OBEX),使得传统的基于红外技术的对象(如电子名片(vCard)和电子日历(vCal)等)交换应用同样可以运行在蓝牙无线接口之上。 

        网络访问协议:该部分协议包括点对点协议(Point to Point Protocol, PPP)、网际协议(Internet Protocol, IP)、传输控制协议(Transfer Control Protocol, TCP)和用户数据报协议(User Datagram Protocol, UDP)等,用于实现蓝牙设备的拨号上网,或通过网络接入点访问Internet 和本地局域网。 

(4). 电话控制协议 

       该协议包括TCS、AT指令集和音频。电话控制协议性能(Telephone Control Protocol Specification,TCS)是基于国际电信联盟电信标准化部门(International Telecommunication Union-Telecommunication,ITU-T)的Q.931标准制定的,用于支持电话功能;蓝牙直接在基带上处理音频信号(主要指数字语音信号),采用SCO链路传输语音,可以实现头戴式耳机和无绳电话等的应用。 

3 .应用协议 

       是指那些位于蓝牙协议堆栈之上的应用软件和其中所涉及的协议,包括开发驱动各种诸如拨号上网和通信等功能的蓝牙应用程序。蓝牙规范提供了传输层及中介层定义和应用框架,在传输层及中介层之上,不同的蓝牙设备必须采用统一符合蓝牙规范的形式;而在应用层上,完全由开发人员自主实现。事实上,许多传统的应用都可以几乎不用修改就在蓝牙协议堆栈之上运行,如基于串口和OBEX协议的应用。通常蓝牙技术应用程序接口(Application Programming Interface,API)函数的开发由开发工具的设计人员来完成,这样有利于蓝牙技术与各类应用的紧密结合。

你可能感兴趣的:(Bluetooth协议)