以蓝牙为背景剖析无线通信原理以及协议栈 (3)

3)LE Piconet Channel用在处于连接状态的蓝牙设备之间的通信,和BR一样,采用调频技术。和BR不一样的地方是,只会在40个频率channel中的37个上面跳频。

4)LE Advertisement Broadcast Channel用于在设备间进行无连接的广播通信,这些广播通信可用于蓝牙的设备的发现、连接(和BR/EDR类似)操作,也可用于无连接的数据传输。

5)和BR一样,同一时刻,BT 设备只能在其中一个物理信道上通信,为了支持多个并行的操作,蓝牙系统采用时分方式,即不同的时间点采用不同的信道。

AMP是为高速数据传输设计的技术,也是传统蓝牙技术的一种,其物理层规范直接采用802.11(WIFI)的PHY规范,主要有如下特点:AMP物理信道只有一种,即AMP Physical Channel,主要用于已连接设备之间的数据通信,和BR技术中的BR Adapted Piconet Physical Channel位于一个级别,可以互相切换使用。

2.1.2 Physical Links

  物理链路层,是对Physical Channel物理信道(主要是BR技术中的Basic Piconet Physical Channel和Adapted Piconet Physical Channel)的进一步封装。

2.2 逻辑层

  逻辑层的主要功能,是在已连接(LE Advertisement Broadcast可以看做一类特殊的连接)的蓝牙设备之间,基于物理链路,建立逻辑信道。所谓的逻辑信道,和城市道路上的车道类似:

一条城市道路可以看做一个物理链路(我们只考虑一个方向即可),该物理链路根据行车用途,可以划分为多个逻辑信道,如直行车道、右转车道、左转车道、掉头车道、快速车道、慢速车道等等。

和车道类似,蓝牙逻辑信道的划分依据是传输类型,主要包括下面3类(即Logical Link):

1)用于管理底层物理链路的控制类传输。

2)传输用户数据的用户类传输,包括。

3)其它比较特殊的传输类型。

  由于Physical Channel是不可靠的,任何数据传输都可能由于干扰等问题而损毁、丢失,这对有些应用来说,是接受不了的。因此Link Layer提供了校验、重传等机制,确保数据传输的可靠性;Link Layer还提供数据过滤机制,主要针对广播通道,因为随着通信设备的增多,空中的广播数据将会呈几何级的增长,为了避免资源的浪费(特别是BLE Host),有必要在Link Layer过滤掉一些数据包,例如根据蓝牙地址,过滤掉不是给自己的packet。

2.3 L2CAP Channels

  L2CAP是Logical Link Control and Adaptation Protocol(逻辑链路控制和适配协议)的缩写,它介于应用程序和Link Layer层之间的协议:

对下,它在用户类Logical Link的基础上,抽象出和具体技术无关的数据传输通道(包括单播和广播两类),至此用户就不再需要关心繁杂的蓝牙技术细节。

对上,它以L2CAP channel endpoints的概念(类似TCP/IP中的端口),为具体的应用程序(profile)提供独立的数据传输通道(指的是逻辑通道)。

  它提供的功能主要包括:通道的多路复用,对上层应用数据的分割和重组,生成协议数据单元(PDUs),以满足用户数据传输对延时的要求,并便于后续的重传、流控等机制的实现。

2.4 Profiles

  profile是蓝牙Application的代指,也可以翻译为服务,为了实现不同平台下的不同设备的互联互通,蓝牙协议为各种可能的、有通用意义的应用场景,都制定的了规范,如SPP、HSP、HFP、FTP、IPv6/6LoWPAN等等。

  Profiles基于L2CAP提供的L2CAP channel endpoints实现,在它们对应的层次上进行数据通信,以完成所需功能。

三、低功耗蓝牙BLE广播通信原理

  传统蓝牙BR虽然在协议底层有提及多播和广播的概念,但在上层的应用场景中,更侧重于点对点的通信,几乎不存在广播相应的应用。而低功耗蓝牙BLE相比传统蓝牙,最大的突破就是加大了对广播通信(Advertising)的支持和利用。

3.1 BLE广播通信使用场景

1)单一方向的、无连接的数据通信,数据发送方在广播信道上广播,接收方扫描、接收数据。

2)连接的建立。

3.2 协议层次

  BLE广播通信相关的协议层次:

GAP --> HCI --> Link Layer

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdpjp.html