蓝牙协议研究

来源:互联网 发布:性能测试 知乎 编辑:程序博客网 时间:2024/06/05 06:51

蓝牙协议栈就是SIG(Special Intersted Group)定义的一组协议的规范,目标是允许遵循规范的蓝牙应用应用能够进行相互间操作,图1-1就是完整的蓝牙协议栈和部分profile:


基带和链路控制层确保微微网内各蓝牙设备单元之间由射频构成的物理连接。蓝牙的射频系统是一个跳频系统,其任一分组在指定时隙、指定频率上发送。它使用查询和分页进程同步不同设备间的发送频率和时钟,为基带数据分组提供了两种物理连接方式,即面向连接(SCO)和无连接(ACL,而且,在同一射频上可实现多路数据传送。

ACL适用于数据分组,SCO适用于话音以及话音与数据的组合,所有的话音和数据分组都附有不同级别的前向纠错(FEC)或循环冗余校验(CRC),而且可进行加密。此外,对于不同数据类型(包括连接管理信息和控制信息)都分配一个特殊通道。


连接管理协议(LMP

该协议负责各蓝牙设备间连接的建立。它通过连接的发起、交换、核实,进行身份认证和加密,通过协商确定基带数据分组大小。它还控制无线设备的电源模式和工作周期,以及微微网内设备单元的连接状态。

逻辑链路控制和适配协议(L2CAP

协议是基带的上层协议,可以认为它与LMP并行工作,它们的区别在于,当业务数据不经过LMP时,L2CAP为上层提供服务。

L2CAP向上层提供面向连接(L2CAP只支持ACL)的和无连接的数据服务,它采用了多路技术、分割和重组技术、群提取技术。L2CAP允许高层协议以64k字节长度收发数据分组。虽然基带协议提供了SCOACL两种连接类型,但L2CAP只支持ACL(SCO和ACL都是面向连接的类型,L2CAP只支持ACL)

 SCO 链接由主单元发送SCO 建立消息,经链接管理(LM)协议来确立。该消息分组含定时参数(如SCO 间隔Tsco 和规定保留时隙补偿Dsco)等。

ACL 链接提供在主单元与所有在匹克网中活动从单元的分组交换链接,异步和等时两种服务方式均可采用。在主―从之间,若仅是单个ACL 链接存在时,对大多数ACL 分组来说,分组重传是为确保数据的完整性而设立。


a) SCO 链接
    SCO 链接是在主单元与指定的从单元之间实现点到点的同步连接。SCO 链接方式采用保留时隙来传输分组,因此该方式可看作是在主单元和从单元之间实现电路交换连接
    SCO 链接主要用于支持类似于象话音这类时限信息。从主单元方面看,它可以支持多达3路的相同从单元或不同从单元的SCO 链接。
    而从从单元方面看,针对同一主单元它可以支持多达3路的SCO 链接。
    若链接来源于不同主单元,此时从单元只能支持2 路SCO链接,在此种情况下决不能再传输SCO分组(SCO分组,ACL分组的区别)。主单元以有规律的时间间隔来发送分组,所以在保留的主―从时隙里,称到从单元的SCO 间隔为Tsco(记数时隙)。
    在主―从时隙里SCO从单元总是允许响应SCO分组传输。但若先前的主―从时隙是使用不同的编址,此时这种传输是不能使用。如果在分组头里,SCO从单元对从单元的编址码有解码错,在保留的SCO 时隙里它仍允许返回一个SCO分组。
    SCO 链接由主单元发送SCO 建立消息,经链接管理(LM)协议来确立。该消息分组含定时参数(如SCO 间隔Tsco 和规定保留时隙补偿Dsco)等。
    为防止时钟隐藏问题,在LMP中设置信息的初始化标志应指出是初始化方式1 或是初始化方式2 被采用,从单元将通过初始化标志指示采用的初始化模式。若当前主时钟(CLK27)的MSB是0 时,主单元使用初始化模式1。当前主时钟(CLK27)的MSB是1 时,主单元使用初始化模式2。由主从保留的主―从SCO时隙取决于满足下述等式的时隙上被初始化。

CLK27―1 mod Tsco = Dsco。 初始化方式1
(CLK27―1 ,CLK26―1 )mod Tsco = Dsco。 初始化方式2

主―从SCO 时隙直接跟随保留主―从SCO 时隙。在初始化后,作为下一个主―从SCO 时隙的时钟值CLK(K+1),是通过加固定间隔Tsco到当前主―从SCO 时隙的时钟值来建立。
CLK(K+1)=CLK(K)+ Tsco。







0 0
原创粉丝点击