对于蓝牙,小伙伴们都已经熟的不能再熟了,真可谓是已经熟透了呀。尤其是在WiFi还没有这么普遍的几年以前,上网下载东西不是这么地方便,那时候一旦一个小伙伴有了什么音频、视频、文档、图像等的珍惜资源时,大家都是通过蓝牙来进行资源共享的。用专业术语来讲,蓝牙其实是一个开放性的无线通信标准,通过使用隐形的连接线代替电缆来完成“保持联系、不靠电缆、拒绝插头”的目标,虽然目前它的魅力不足WIFI。
蓝牙简介
蓝牙是一种支持设备短距离通信(一般是10m之内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。蓝牙的标准是IEEE802.15,工作在2.4GHz 频带,带宽为1Mb/s。
“蓝牙”(Bluetooth)原是一位在10世纪统一丹麦的国王,他将当时的瑞典、芬兰与丹麦统一起来。用他的名字来命名这种新的技术标准,含有将四分五裂的局面统一起来的意思。蓝牙技术使用高速跳频(FH,Frequency Hopping)和时分多址(TDMA,me DivesionMuli—access)等先进技术,在近距离内最廉价地将几台数字化设备(各种移动设备、固定通信设备、计算机及其终端设备、各种数字数据系统,如数字照相机、数字摄像机等,甚至各种家用电器、自动化设备)呈网状链接起来。蓝牙技术将是网络中各种外围设备接口的统一桥梁,它消除了设备之间的连线,取而代之以无线连接。
蓝牙协议栈
蓝牙技术是一种无线数据与数字通信的开放性规范。它以低成本、近距离无线连接为基础,为固定与移动设备建立了一种完整的通信方式和技术。
蓝牙技术的实质是建立通用无线接口及其控制软件的标准,使移动通信与计算机网络之间能实现无缝连接,由此,为不同厂家生产的便携式设备提供了近距离(10m~100m)范围内的互操作通道。
协议层次
蓝牙协议是通信协议的一种,为了把复杂问题简单化,任何通信协议都具有层次性,特点如下:
从下到上分层,通过层层封装,每一层只需要关心特定的、独立的功能,易于实现和维护;
在通信实体内部,下层向上层提供服务,上层是下层的用户;
在通信实体之间,协议仅针对每一层,实体之间的通信,就像每一层之间的通信一样,这样有利于交流、理解、标准化。
蓝牙协议也不例外,其协议层次如下:
从OSI(Open System Interconnecon)模型的角度看,蓝牙是一个比较简单的协议,它仅仅提供了物理层(Physical Layer)和数据链路层(Data Link Layer )两个OSI层次。但由于蓝牙协议的特殊性、历史演化因素等原因,其协议层次又显的不简单,甚至晦涩难懂(如上面图片所示的Physical Link、Logical Transport等)。
蓝牙协议分为四个层次:物理层(Physical Layer)、逻辑层(Logical Layer)、L2CAP Layer和应用层(APP Layer)。
物理层,负责提供数据传输的物理通道(通常称为信道)。通常情况下,一个通信系统中存在几种不同类型的信道,如控制信道、数据信道、语音信道等等。
逻辑层,在物理层的基础上,提供两个或多个设备之间、和物理无关的逻辑传输通道(也称作逻辑链路)。
L2CAP层,L2CAP是逻辑链路控制和适配协议(Logical Link Control and Adaptaon Protocol)的缩写,负责管理逻辑层提供的逻辑链路。基于该协议,不同Applicaon可共享同一个逻辑链路。类似TCP/IP中端口(port)的概念。
APP层,理解蓝牙协议中的应用层,基于L2CAP提供的channel,实现各种各样的应用功能。Profile是蓝牙协议的特有概念,为了实现不同平台下的不同设备的互联互通,蓝牙协议不止规定了核心规范(称作Bluetooth core),也为各种不同的应用场景,定义了各种Application规范,这些应用层规范称作蓝牙profile。
蓝牙协议栈体系结构
蓝牙协议栈体系结构为分层结构,具体如图所示
蓝牙技术规范的目的是使符合该规范的各种应用之间能够实现互操作。互操作的远端设备需要使用相同的协议栈,不同的应用需要不同的协议栈。并不是任何应用都必须使用全部协议,而是可以只使用其中的一层或多层。但是,所有的应用都要使用蓝牙技术规范中的数据链路层和物理层。
设计蓝牙协议栈的主要原则是尽可能地利用现有的各种高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互通性以及充分利用兼容蓝牙技术规范的软硬件系统。蓝牙技术规范的的开放性保证了设备制造商可自由地选用其专利协议或常用的公共协议,在蓝牙技术规范基础上开发新的应用。蓝牙技术规范包括Core和Profiles两大部分.Core是蓝牙的核心,主要定义蓝牙的技术细节;Profiles部分定义了在蓝牙的各种应用中的协议栈组成,并定义了相应的实现协议栈。
按照各层协议在整个蓝牙协议体系中所处的位置,蓝牙协议可分为底层协议、中间层协议和高层协议三大类。
蓝牙底层协议
蓝牙底层协议实现蓝牙信息数据流的传输链路,是蓝牙协议体系的基础,它包括射频协议、基带协议和链路管理协议。
(1)射频协议(Radio Frequency Protocol)
蓝牙射频协议处于蓝牙协议栈的最底层,主要包括频段与信道安排、发射机特性和接收机特性等,用于规范物理层无线传输技术,实现空中数据的收发。蓝牙工作在2.4GHz ISM频段,此频段在大多数国家无须申须运营许可,使得蓝牙设备可工作于任何不同的地区。
信道安排上,系统采用跳频扩频技术,抗干扰能力强、保密性好。蓝牙SIG制定了两套跳频方案,其一是分配79个跳频信道,每个频道的带宽为1MHz,其二是23信道的分配方案,1.2版本以后的蓝牙规范目前已经不再推荐使用第二套方案。
(2)基带协{,S((Base Band Protocol)
基带层在蓝牙协议栈中位于蓝牙射频层之上,同射频层一起构成了蓝牙的物理层。
基带层的主要功能包括:链路控制,比如承载链路连接和功率控制这类链路级路由;管理物理链路,SCO链路和ACL链路;定义基带分组格式和分组类型,其中SCO分组有HVl、HV2、HV3和DV等类型,而ACL分组有DMl、DHl、DM3、DH3、DM5、DH5、AUXl等类型;流量控制,通过STOP和GO指令来实现;采用13比例前向纠错码、23比例前向纠错码以及数据的自动重复请求ARQ(Automatic Repeat Request)方案实现纠错功能;另外还有处理数据包、寻呼、查询接入和查询蓝牙设备等功能。
(3)链路管理协议(Link Manager Protocol,LMP)
链路管理协议(LMP)是在蓝牙协议栈中的一个数据链路层协议.LMP执行链路设置、认证、链路配置和其它协议:链路管理器发现其它远程链路管理器(LM)并与它们通过链路管理协议(LMP)进行通信。
蓝牙中间层协议
蓝牙中间层协议完成数据帧的分解与重组、服务质量控制、组提取等功能,为上层应用提供服务,并提供与底层协议的接口,此部分包括主机控制器接口协议、逻辑链路控制与适配协议、串口仿真协议、电话控制协议和服务发现协议。
(1)主机控制器接口协议(Host Controller Interface Protocol,HCI)
蓝牙HCI是位于蓝牙系统的逻辑链路控制与适配协议层和链路管理协议层之间的一层协议.HCI为上层协议提供了进入链路管理器的统一接口和进入基带的统一方式。在HCI的主机和HCI主机控制器之间会存在若干传输层,这些传输层是透明的,只需完成传输数据的任务,不必清楚数据的具体格式。蓝牙的SIG规定了四种与硬件连接的物理总线方式,即四种HCI传输层:USB、RS232、UART和PC卡
(2)逻辑链路控制与适配协议(Logical Link Control and AdaptationProtocol,L2CAP)
逻辑链路控制与适配层协议(L2CAP)是蓝牙系统中的核心协议,它是基带的高层协议,可以认为它与链路管理协议(LMP)并行工作.L2CAP为高层提供数据服务,允许高层和应用层协议收发大小为64 KB的L2CAP数据包.L2CAP只支持基带面向无连接的异步传输(ACE),不支持面向连接的同步传输(sco).L2CAP采用了多路技术、分割和重组技术、组提取技术,主要提供协议复用、分段和重组、认证服务质量、组管理等功能。
(3)串口仿真协议(RFCOMM)
串口仿真协议在蓝牙协议栈中位于L2CAP协议层和应用层协议层之间,基于ETSI标准TS 07.10,在L2CAP协议层之上实现了仿真9针RS232串口的功能,可实现设备间的串行通信,从而对现有使用串行线接口的应用提供了支持。
(4)电话控制协议(Telephony Control Protocol Spectocol,TCS)
电话控制协议位于蓝牙协议栈的L2CAP层之上,包括电话控制规范二进制(TCS BIN)协议和一套电话控制命令(AT Commands)。其中,TCS BIN定义了在蓝牙设备间建立话音和数据呼叫所需的呼叫控制信令;AT Commands则是一套可在多使用模式下用于控制移动电话和调制解调器的命令,它SIG在ITU.TQ.931的基础上开发而成.TCS层不仅支持电话功能(包括呼叫控制和分组管理),同样可以用来建立数据
呼叫,呼叫的内容在L2CAP上以标准数据包形式运载。
(5)服务发现协议(Service Discovery Protocol,SDP)
服务发现协议(SDP)是蓝牙技术框架中至关重要的一层,它是所有应用模型的基础。任何一个蓝牙应用模型的实现都是利用某些服务的结果。在蓝牙无线通信系统中,建立在蓝牙链路上的任何两个或多个设备随时都有可能开始通信,仅仅是静态设置是不够的。蓝牙服务发现协议就确定了这些业务位置的动态方式,可
以动态地查询到设备信息和服务类型,从而建立起一条对应所需要服务的通信信道。
蓝牙高层协议
蓝牙高层协议包括对象交换协议、无线应用协议和音频协议。
(1)对象交换协议(Object Exchange Protocol,OBEX)
OBEX是由红外数据协会(IrDA)制定用于红外数据链路上数据对象交换的会话层协议。蓝牙SIG采纳了该协议,使得原来基于红外链路的OBEX应用有可能方便地移植到蓝牙上或在两者之间进行切换.OBEX是一种高效的二进制协议,采用简单和自发的方式来交换对象。它提供的功能类似于帅协议,在假定传输层可靠的基础上,采用客户机.服务器模 式。它只定义传输对象,而不指定特定的传输数据类型,可以是从文件到商业电子贺卡、从命令到数据库等任何类型,从而具有很好的平***立性。
(2)无线应用协议(Wireless Application Protocol,WAP)
无线应用协议(WAP)由无线应用协议论坛制定,是由移动电话类的设备使用的无线网络定义的协议.WAP融合了各种广域无线网络技术,其目的是将互联网内容和电话债券的业务传送到数字蜂窝电话和其他无线终端上。选用WAP可以充分利用为无线应用环境开发的高层应用软件。
(3)音频协议(Audio)
蓝牙音频(Audio)是通过在基带上直接传输SCO分组实现的,目前蓝牙SIG并没有以规范的形式给出此部分。虽然严格意义上来讲它并不是蓝牙协议规范的一部分,但也可以视为蓝牙协议体系中的一个直接面向应用的层次。
蓝牙技术原理
蓝牙系统主要由天线单元、链路控制单元、链路管理单元和蓝牙软件单元四部分构成组成。其中,天线单元即天线,用于完成电信号的接收与发送;链路控制单元中包括多个链路控制器,其中基带链路控制器用于负责处理基带协议和其它一些低层常规协议;链路管理单元用于携带链路的数据设置、鉴权、链路硬件配置和其它一些协议;蓝牙软件单元主要包括两部分,其中第一部分为核心部分,用于规定诸如射频、基带、连接管理、业务搜寻、传输层以及与不同通信协议之间的互用、互操作性等组件,第二部分为协议子集部分,用于规定不同蓝牙应用所需的协议和过程。
责任编辑:ct
评论
查看更多