Vol 1架构和术语概述
Part A 1 总体概述
Agenda:
1.2蓝牙低能耗(BLE)操作概述
跟基础速率和增强速率(BR/EDR)一样,蓝牙低功耗(LE)射频工作在国际无授权2.4G Hz ISM频道。蓝牙系统使用跳频技术用来对抗干扰、抗衰减,并且提供跳频扩频(FHSS)载体。基础速率射频在工作时使用一种成形的二进制频率调制来降低技术的复杂度。与BR/EDR不一样的地方在于,LE使用不同物理层(PHY),从而使用不同的调制技术、应用不同的编码、以及不同的传输速率。LE的物理层分类:
LE物理层(PHY) | 描述 |
LE Uncoded PHY | 无编码物理层,不支持错误纠正。符号率和码率为1 Mb/s 和2 Mb/s的无编码物层分别称为LE 1M PHY和LE 2M PHY |
LE Coded PHY | 有编码物理层,支持错误纠正。如果符号率为1 Mb/s,2个符号代表1 bit,那么码率为512 kb/s;8个符号代表1 bit,码率为125 kb/s |
LE使用两种复用技术:
描述 | |
频分多址(FDMA) | LE技术把ISM频段分成40个子频段,子频段之间用2 MHz去隔开。其中3个子频段用作主广播通道(primary advertising channels),其他37个子频段用作次要广播通道( secondary advertising channels)和数据信道(data channels) |
时分多址(TDMA) | 在预定时间里发送数据包,在预定的时间间隔之后收到对方的应答 |
1.2.1 事件
LE物理信道用时间概念去划分成的时间段单位,叫做事件(events)。数据在设备间以包的形式传输,包含在一个事件里。有四种事件类型:
- Advertising
- Extended Advertising
- Periodic Advertising
- Connection events
LE设备角色(广播角度):
角色 | 描述 |
advertisers | 在广播信道上发送广播包 |
scanners | 在广播信道上接收广播包,但是不发起到广播者的连接 |
在广播物理信道(advertising PHY channels)上发送数据包含在广播事件中。
- 在每个广播事件开始的时候,广播者发送广播包。
- 扫描者接收到广播包后,根据不同的广播包类型,可能在同一个广播信道上发送一个请求,并随后会在同一个广播信道上接收到广播者的应答。
- 在同一个广播事件中,广播者发送下一个广播包的时候,会切换广播物理信道。
- 广播者可以随时终止广播事件。
- 一个广播事件,广播者会在3个广播物理信道上分别发送广播包。
- 下一个广播事件,广播者重新开始从第一个广播物理信道上发送广播数据包。
LE设备使用广播事件,能满足对两个或多个设备的单向传输或广播通信。也可以通过广播事件的协助,用数据通道(data channels)建立两个或多个设备之间的双向数据通信,或者用次要广播通道(secondary advertising channels)建立周期信广播通信。
1.2.3 连接事件
角色 | 描述 |
initiators | 侦听可连接广播数据包,需要与另外一个设备建立连接的设备 |
如果广播者发送广播的时候使用可连接广播事件,发起者就能在接收到可连接广播数据包的广播物理信道上,发送连接请求。如果广播者接收和接受连接请求,广播事件就结束了,并且连接事件就开始。一旦连接建立,发起者就成为master,广播者就成为slave。连接事件是用作在master和slave之间传输数据用的(注意,连接事件是传输数据,不是用作建立连接)。在连接事件中,在一个连接事件与另外一个连接事件之间,会发生跳频。在同一个连接事件里面,master和slave在同一个数据物理通道上交替发送和接收数据包。master可以随时启动和结束连接事件,换句话说,master能控制数据通信的时机。
(173页)在同一个微微网中的设备都用同一个跳频时序。跳频时序是由发起者发送连接请求的时候,连接请求中的某些数据段决定的。LE的跳频时序,是对37个子频段编号,并通过特定算法生成一个准随机的子频段编号序列。跳频时序是可以被调整的,也就是说,在生成跳频时序的时候可以去掉若干被干扰的子频段,再计算跳频时序。这种可调跳频技术能增强与其他使用非跳频无线技术的通信共存(比如WIFI)。
1.2.5 物理信道和物理连接
在物理信道之上是链路、通道、以及控制协议。在蓝牙协议栈的分层结构中,自下而上,分别是物理信道、物理连接、逻辑传输、逻辑连接和L2CAP通道。这些概念会在后面详细讨论,在这提出只是帮助理解这小节内容的剩下部分。
在一个物理信道中,设备间会建立一个物理链接。活跃状态的物理链接提供master和slave之间的双向数据包通信载体。因为一个物理信道被多个slave共享,所以建立物理连接的时候会有所限制:
- master和slave之间都有一条物理连接
- slave允许与多个master之间建立连接
- slave和slave之不能建立直接的物理连接
广播物理连接和周期广播物理连接(periodic physical links)提供到多个设备(scanners or initiators)的单向数据传输
物理连接用作承载一个或多个逻辑链接,支持异步数据流。资源管理器(resource manager)使用调度功能,把逻辑连接上的数据流复合到物理连接上传输。
一种控制协议用作在链接和物理层上传输逻辑连接和用户数据,叫做链路层协议(link layer protocol, 简称LL)。在微微网中层处在活跃状态的设备都存在一个默认的LE异步连接的逻辑通信载体(default LE asynchronous connection logical transport,简称LE ACL),用作承载LL协议信息。当一个设备加入微微网,默认LE ACL就会被建立。
链路管理器的功能是用LL协议去控制在微微网的设备,并且向上层提供底层(射频和链路层)的服务。
(174页)跟BR/EDR技术一样,在基带层之上是L2CAP层,它为上层应用和服务提供基于通道概念的抽象。它在一个共享的逻辑连接上,提供数据的拆分和重装配、通道的复用和分离服务。L2CAP在默认ACL通信上建立了一个协议控制通道,专门传输L2CAP的控制命令。
LE在L2CAP之上还提供两个附加的协议:
协议 | 描述 |
Security Manager protocol (SMP) | 使用已分配好的固定L2CAP通道,提供设备间加密功能 |
Attribute protocol (ATT) | 使用已分配好的固定L2CAP通道,提供一种可以传送小量数据的方法。ATT协议还可以用作查询对方的服务和能力。ATT协议可以用在BR/EDR上 |
————————————————————————————————————————
Reference
1 BT specification Core 4.2,Bluetooth SIG.
————————————————————————————————————————
作者按:蓝牙从业者,潜心学习BT stack,蓝牙协议奇多无比,概述只是开始,网上资料还比较多,学到后面的各种spec就只剩下英文原版可以参考了,遂把自己的笔记发出来,互相交流,互相交流。