1、蓝牙协议栈体系结构

按照各层协议在整个蓝牙协议体系中所处的位置,蓝牙协议可分为三大类:

1,底层协议:射频RF,基带协议和链路管理协议。

2,中间层协议:逻辑链路管理和适配协议,服务发现协议,串口仿真协议,以及电话通信协议等

3,应用层协议:对应各种应用的profiles

2,链路管理协议:

链路管理协议(LMP)是蓝牙协议栈中的一个数据链路层协议。它规定如何建立和拆除连接,以及链路的控制和安全。该协议主要完成三方面工作:一是控制和协商发送数据使用的分组大小;二是管理节点的功率模式和蓝牙节点在微微网中的状态;三是处理链路和秘钥的生成、交换和控制。

目前蓝牙基带技术支持两种不同的链路类型,前者主要用于同步话音传送,后者主要用于分组数据传输:

1,ACL(Asynchronous Connectionless)

2,SCO(Synchronous Connection Oriented)

3 ACL(Asynchronous Connectionless)

ACL为面向无连接的异步链路,是主单元与共存于微微网中的所有从单元之间实现一点多址的连接方式。它既支持对称连接,也支持不对称连接(既可以一对一,也可以一对多)。对大多数ACL 分组来说,分组重传是为确保数据的完整性而设立。

1)主设备负责控制链路带宽,并决定微微网中的每个从设备可以占用多少带宽和连接的对称性。从设备只有被选中时才能传送数据。ACL链路也支持接收主设备发给微微网中所有从设备的广播消息。

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

3)在从―主时隙里,当且仅当先前的主―从时隙已被编址,则从单元允许返回一个ACL 分组。如果在分组头的从单元地址解码失败,它就不允许传输。

4)ACL 分组未编址作为广播分组的指定从单元且各从单元可读分组。如果在ACL 链接上没有传输数据及没有轮询申请,那么在ACL 链接上就不存在发生传输过程。

4 SCO(Synchronous Connection Oriented)

SCO为面向连接的同步链路,是一种对称的连接。利用保留带宽进行同步通信(电路交换),即两台设备在LMP层利用保留时隙在物理信道上周期性传送数据包。

SCO 链接是在主单元与指定的从单元之间实现点到点的同步连接。主单元通过有规律的使用保留时隙来传输分组数据。因此该方式可看作是在主单元和从单元之间实现电路交换连接。并且仅仅在ACL链接已经建立之后,才可以建立SCO 链接。链路一旦建立,主从节点无需查询便可以直接发送SCO数据包,发送事件是在保留的时隙内进行的。SCO 数据包不包括CRC码,且不进行重传。主要支持传输有时间限制的信息,例如声音。

从主单元方面看,它可以支持多达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时隙取决于满足下述等式的时隙上被初始化。

5 SCO链路和eSCO链路是两种不同类型的链路

主要区别在于使用方式、可靠性和灵活性。
使用方式:SCO链路是一种面向连接的同步传输模式,主要用于实时传输要求较高的音频数据等场景。而eSCO链路是一种增强型的SCO链路,提供了更高的灵活性,可以提供更高的带宽利用率并支持更复杂的通信需求。
可靠性:在传统的SCO链路中,主从设备之间的通信是以固定帧长和固定帧速率的方式进行的,通过传输时间间隙实现数据的可靠传输。而eSCO链路则通过动态改变帧长和帧速率的方式,提供更高的可靠性,适应更复杂的通信环境。
灵活性:eSCO链路相比SCO链路具有更高的灵活性,可以通过动态调整帧长和帧速率来适应不同的通信需求。同时,eSCO链路还可以支持更多的数据类型和更高的数据速率,适用于更多的应用场景。
总之,SCO链路和eSCO链路的主要区别在于使用方式、可靠性和灵活性。eSCO链路相比SCO链路具有更高的灵活性和可靠性,适用于更复杂的通信需求。