今天起进入Vol 1的学习。Vol 1最主要的内容是关于Architecture。我们先从网络拓扑入手,了解蓝牙设备的工作流程。
01、BR/EDR的Piconet
蓝牙中有一个很重要的术语叫做piconet,了解蓝牙的拓扑结构必然要先知道这个术语的涵义。
Piconet:A collection of devices (up to eight devices in BR/EDR, exactly two devices in LE) occupying a shared physical channel where one of the devices is the Piconet Central and the remaining devices are connected to it.
Piconet:被定义为一组设备(在BR/EDR中最多八个设备,在LE中恰好两个设备)占用一个共享的物理信道,其中一个设备是piconet中心设备,其余外围设备与它连接。
与Piconet相关联的另外两个术语:
中心设备(Piconet Central):对于在BR/EDR piconet中的中心设备,其时钟和设备地址用于定义piconet物理信道的特性。对于LE来说,它是发起piconet创建的设备,选择识别piconet的接入地址,并在每个连接事件中首先进行传输。
外围设备(Piconet Peripheral)对于BR/EDR piconet中,任何不是中心设备但与中心设备连接的设备。对于LE来说,是非中心设备但与其通信的设备。
上图展示了一个蓝牙BR/EDR示例拓扑。在典型的操作过程中,一组设备共享一个物理信道,这些设备同步到一个共同的时钟和跳频模式。其中一台设备提供同步基准,也就是上面说的中心设备(Piconet Central),例如A、F、D、M。那么所有外围设备(Piconet Peripheral)或者从设备,例如B、C、D、E、G、H、J、N,会与中心设备时钟和跳频模式同步。以这种方式同步的一组设备组成一个BR/EDR的piconet。这就是蓝牙BR/EDR的基本无线通信形式,具体如下:
在 piconet A 中存在两个物理信道。在蓝色区域内的B和C因为不支持自适应频率跳频(AFH:adaptive frequency hopping)所以使用基本物理信道。而红色区域设备D和E以及设备A都支持AFH,并且A根据正在通信的从设备,在两个物理信道上以时分复用(TDM)的方式进行操作。
在设备D和J组成的piconet中尽管设备D支持AFH,但因为设备J不支持AFH,所以在此piconet D中也无法使用AFH。在F与H组成的piconet中也是类似的情况。
而Piconet M使用无连接从设备广播(Connectionless Peripheral Broadcast)物理链路,通过自适应物理信道,从设备M向多个接收设备(包括E和N)发送配置文件广播数据(Profile Broadcast Data)。
设备K处于与其他设备相同的物理范围内,但目前不属于任何piconet。它提供服务给其他蓝牙设备,并正在其查询扫描物理信道(inquiry scan physical channel)上监听,等待来自其他设备的查询请求。
设备L也处于与其他设备相同的物理范围内,目前也不属于任何piconet。它正在其同步扫描物理信道(synchronization scan physical channel)上监听,等待来自其他设备的同步训练信号。
上图中黑色无箭头实线代表物理链路,中心设备和一个或多个外设之间会形成一个物理链路。但查询扫描和寻呼扫描物理信道除外,它们没有相关的物理链路,例如K和L。物理链路在中心和外设之间提供双向数据包传输。但对于图中M而言,与N之间通过有箭头的实线相连,属于无连接外设广播物理链路,在这种情况下,物理链路提供从中心到数量可能不受限制的外设之间的单向数据包传输。
由于一个物理通道可能包括多个外设,因此对哪些设备可以组成物理链路有一定的限制。每个外设和中心之间都有一个物理链路。在 piconet 中,外设之间不会直接形成物理链路。
蓝牙设备可以同时参与两个或多个piconet,其方式也是基于时分的方式。在BR/EDR模式下,由于piconet是通过同步到中心设备的蓝牙时钟来定义的,因此一个设备不可能同时作为两个或多个piconet的中心设备。然而,蓝牙设备可以作为多个独立piconet的从设备。
Piconet 中的设备使用的基本跳频模式是对ISM(工科医)频段中相隔1MHz的79个信道进行伪随机排序;特定的跳频模式,由蓝牙地址和中央处理器时钟中的某些字段通过算法确定。为了排除干扰设备使用的部分频率,跳频模式可根据每个外设进行调整。自适应的跳频技术改善了蓝牙与静态(非跳频)ISM系统在共址时的相互干扰。
物理信道在时间上又被细分为时隙。数据在蓝牙设备之间以数据包的形式传输,数据包被放置在这些时隙中。在条件允许的情况下,可为单个数据包分配多个连续的时隙。在传输或接收数据包期间可能会发生跳频。通过使用时分双工(TDD)实现全双工的传输效果。
02、LE的Piconet
再来看LE的Piconet拓扑,如下图示例。
LE的piconet由两个设备组成。例如上图中,设备A作为两个piconet的中心设备,设备B和C分别作为相应的从设备(Peripheral)。与 BR/EDR 的从设备不同,LE从设备不会共享同一个piconet或中心设备的公共物理信道。每个从设备都会在独立的物理信道上与中心设备通信。
再来看设备K,注意箭头的方向,它既是一个piconet的中心设备,例如L作为从设备,同时也是另一个piconet的从设备,例如设备M作为中心设备。所以我们说它处于一个scatternet中,这里又出现了一个术语:
Scatternet:Two or more piconets that have one or more devices in common. 两个或多个piconet共享一个或多个共同设备的网络。
一个蓝牙设备如果同时属于两个或多个piconet,则称其参与了一个scatternet。虽然在LE的拓扑中提到了scatternet,但它同样适用于BR/EDR。参与scatternet并不一定意味着该蓝牙设备具备任何网络路由能力或功能。蓝牙核心协议并不提供、也不旨在提供此类功能,网络路由的实现由更高层协议负责,并不在蓝牙规范的范围之内。
设备O也处于一个scatternet中,它是两个piconet P和Q的从设备。在上图中,实线箭头表示从中心设备到从设备的通信方向。而同时,O与R之间有虚线箭头相连,表示连接初始化,箭头方向指向使用可连接广播事件(connectable advertising event)进行广播的设备;正在广播的设备R用星号标注。设备D也作为广播设备(advertiser),设备A作为连接发起设备(initiator)。
注意,又出现了两个重要的蓝牙LE的术语,Advertiser和Initiator。
Advertiser:A Bluetooth Low Energy device that broadcasts advertising packets during advertising events on advertising channels。广播/广告设备:在广播信道上,通过广播事件发送广播数据包的蓝牙LE设备。
Advertising event:?A series of between one and three advertising packets on different advertising physical channels sent by an advertiser. ?广播事件:由广播设备在不同的广播物理信道上发送的一个至三个广播数据包组成的一系列传输。
Advertising Packet:?A packet containing an advertising PDU.?广播数据包:包含广播 PDU(协议数据单元)的数据包。
Initiator:From the perspective of an advertising bearer, a Bluetooth Low Energy device that listens on advertising physical channels for connectable advertising events to form connections. From the perspective of Channel Sounding, the device that transmits first within a Channel Sounding step.
连接发起设备(Initiator):
从广播承载的角度来看:指在广播物理信道上监听可连接广播事件并尝试建立连接的蓝牙BLE设备。从信道探测(Channel Sounding)的角度来看:指在信道探测步骤中首先发送信号的设备。
所以根据上图,设备A、O、N都是连接发起设备(Initiator);设备C、D、H、R、K是广播/广告设备(Advertiser)。例如:设备 D 在广播物理信道上使用可连接广播事件进行广播,而设备A作为连接发起设备,可以与设备D建立连接,从而形成一个新的piconet。设备C也在广播物理信道上进行广播,使用的是任何类型的广播事件,并被设备E作为扫描设备捕获。设备C和D可能使用不同的广播物理信道或不同的时序来避免碰撞。注意:设备E和设备I、J没有连接线,因为它们正在广播物理信道上接收广播数据包,但还没有连接或者无意连接到广播设备,它们被称为扫描设备(scanner)。Scanner:A Bluetooth Low Energy device that listens for advertising events on the advertising physical channels.扫描设备(Scanner):?指在广播物理信道上监听广播事件的蓝牙LE设备。
LE的物理信道也被细分为时间单位,称为事件events。数据在LE设备之间以数据包的形式传输,数据包被放置在这些事件中。事件的类型非常多,其中6.0版本新增的Channel Sounding事件,也是其中之一。
(未完待续)
1327