1、蓝牙通信协议(适合于蓝牙开发工程师)蓝牙协议栈-蓝牙技术规范的目的是使符合该规范的各种应用之间能够实现互操作。互操作的远端设备需要使用相同的协议栈,不同的应用需要不同的协议栈。但是,所有的应用都要使用蓝牙技术规范中的数据链路层和物理层。-完整的蓝牙协议栈如图 1 所示,不是任何应用都必须使用全部协议,而是可以只使用其中的一列或多列。图 1 显示了所有协议之间的相互关系,但这种关系在某些应用中是有变化的。-完整的协议栈包括蓝牙专用协议(如连接管理协议 LMP 和逻辑链路控制应用协议 L2CAP)以及非专用协议(如对象交换协议 OBEX 和用户数据报协议UDP)。设计协议和协议栈的主要原则是尽可能
2、利用现有的各种高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互操作,充分利用兼容蓝牙技术规范的软硬件系统。蓝牙技术规范的开放性保证了设备制造商可以自由地选用其专用协议或习惯使用的公共协议,在蓝牙技术规范基础上开发新的应用。蓝牙协议体系中的协议-蓝牙协议体系中的协议按 SIG 的关注程度分为四层:核心协议:BaseBand、LMP、L2CAP、SDP;电缆替代协议:RFCOMM;电话传送控制协议:TCS-Binary、AT 命令集;选用协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。-除上述协议层外,规范还定义了主机控制器接口(HCI),它
3、为基带控制器、连接管理器、硬件状态和控制寄存器提供命令接口。在图 1 中,HCI 位于 L2CAP的下层,但 HCI 也可位于 L2CAP 上层。-蓝牙核心协议由 SIG 制定的蓝牙专用协议组成。绝大部分蓝牙设备都需要核心协议(加上无线部分),而其他协议则根据应用的需要而定。总之,电缆替代协议、电话控制协议和被采用的协议在核心协议基础上构成了面向应用的协议。-1蓝牙核心协议-基带协议-基带和链路控制层确保微微网内各蓝牙设备单元之间由射频构成的物理连接。蓝牙的射频系统是一个跳频系统,其任一分组在指定时隙、指定频率上发送。它使用查询和分页进程同步不同设备间的发送频率和时钟,为基带数据分组提供了两种
4、物理连接方式,即面向连接(SCO)和无连接(ACL),而且,在同一射频上可实现多路数据传送。ACL 适用于数据分组,SCO 适用于话音以及话音与数据的组合,所有的话音和数据分组都附有不同级别的前向纠错(FEC)或循环冗余校验(CRC),而且可进行加密。此外,对于不同数据类型(包括连接管理信息和控制信息)都分配一个特殊通道。-可使用各种用户模式在蓝牙设备间传送话音,面向连接的话音分组只需经过基带传输,而不到达 L2CAP。话音模式在蓝牙系统内相对简单,只需开通话音连接就可传送话音。-连接管理协议(LMP)-该协议负责各蓝牙设备间连接的建立。它通过连接的发起、交换、核实,进行身份认证和加密,通过协
5、商确定基带数据分组大小。它还控制无线设备的电源模式和工作周期,以及微微网内设备单元的连接状态。-逻辑链路控制和适配协议(L2CAP)-该协议是基带的上层协议,可以认为它与 LMP 并行工作,它们的区别在于,当业务数据不经过 LMP 时,L2CAP 为上层提供服务。L2CAP 向上层提供面向连接的和无连接的数据服务,它采用了多路技术、分割和重组技术、群提取技术。L2CAP 允许高层协议以 64k 字节长度收发数据分组。虽然基带协议提供了 SCO和 ACL 两种连接类型,但 L2CAP 只支持 ACL。-服务发现协议(SDP)-发现服务在蓝牙技术框架中起着至关紧要的作用,它是所有用户模式的基础。使
6、用 SDP 可以查询到设备信息和服务类型,从而在蓝牙设备间建立相应的连接。-2电缆替代协议(RFCOMM)-RFCOMM 是基于 ETSI-07.10 规范的串行线仿真协议。它在蓝牙基带协议上仿真 RS-232 控制和数据信号,为使用串行线传送机制的上层协议(如 OBEX)提供服务。-3电话控制协议-二元电话控制协议(TCS-Binary 或 TCSBIN)-该协议是面向比特的协议,它定义了蓝牙设备间建立语音和数据呼叫的控制信令,定义了处理蓝牙 TCS 设备群的移动管理进程。基于 ITUTQ.931 建议的TCSBinary 被指定为蓝牙的二元电话控制协议规范。-AT 命令集电话控制协议-SI
7、G 定义了控制多用户模式下移动电话和调制解调器的 AT 命令集,该 AT命令集基于 ITUTV.250 建议和 GSM07.07,它还可以用于传真业务。-4选用协议-点对点协议(PPP)-在蓝牙技术中,PPP 位于 RFCOMM 上层,完成点对点的连接。-TCP/UDP/IP-该协议是由互联网工程任务组制定,广泛应用于互联网通信的协议。在蓝牙设备中,使用这些协议是为了与互联网相连接的设备进行通信。-对象交换协议(OBEX)-IrOBEX(简写为 OBEX)是由红外数据协会(IrDA)制定的会话层协议,它采用简单的和自发的方式交换目标。OBEX 是一种类似于 HTTP 的协议,它假设传输层是可*
8、的,采用客户机/服务器模式,独立于传输机制和传输应用程序接口(API)。-电子名片交换格式(vCard)、电子日历及日程交换格式(vCal)都是开放性规范,它们都没有定义传输机制,而只是定义了数据传输格式。SIG 采用vCard/vCal 规范,是为了进一步促进个人信息交换。-无线应用协议(WAP)-该协议是由无线应用协议论坛制定的,它融合了各种广域无线网络技术,其目的是将互联网内容和电话传送的业务传送到数字蜂窝电话和其他无线终端上。用户模式及协议栈-1文件传输模式-文件传输模式提供两终端间的数据通信功能,可传输后缀为.xls、.ppt、.wav、.jpg 和.doc 的文件(但并不限于这几种
9、),以及完整的文件夹、目录或多媒体数据流等,提供远端文件夹浏览功能。文件传输协议栈如图 2 所示。-2因特网网桥模式-这种用户模式可通过手机或无线调制解调器向 PC 提供拨号入网和收发传真的功能,而不必与 PC 有物理上的连接。拨号上网需要两列协议栈(不包括SDP),如图 3 所示。AT 命令集用来控制移动电话或调制解调器以及传送其他业务数据的协议栈。传真采用类似协议栈,但不使用 PPP 及基于 PPP 的其他网络协议,而由应用软件利用 RFCOMM 直接发送。-3局域网访问模式-该用户模式下,多功能数据终端(DTs)经局域网访问点(LAP)无线接入局域网,然后,DTs 的操作与通过拨号方式接
10、入局域网的设备的操作一样,其协议栈如图 4 所示。-4同步模式-同步用户模式提供设备到设备的个人资料管理(PIM)的同步更新功能,其典型应用如电话簿、日历、通知和记录等。它要求 PC、蜂窝电话和个人数字助理(PDA)在传输和处理名片、日历及任务通知时,使用通用的协议和格式。其协议栈如图 5 所示,其中同步应用模块代表红外移动通信(IrMC)客户机或服务器。-5.一机三用电话模式-手持电话机有三种使用方法:第一,接入公用电话网,作为普通电话使用;第二,作为不计费的内部电话使用;第三,作为蜂窝移动电话使用。无线电话和内部电话使用相同的协议栈;语音数据流直接与基带协议接口,不经过L2CAP 层,如图 6 所示。-6.头戴式设备模式-使用该模式,用户打电话时可自由移动。通过无线连接,头戴式设备通常作为蜂窝电话、无线电话或 PC 的音频输入输出设备。头戴式设备协议栈如图 7所示,语音数据流不经过 L2CAP 层而直接接入基带协议层。头戴式设备必须能收发并处理 AT 命令。