1、 Bluetooth Core Architecture Blocks (蓝牙核心架构)(一)标签: interfaceprotocolsservicesystem 测试 layer2012-07-26 18:50 7098 人阅读 评论(4) 收藏 举报分类:BlueTooth(13) 首先,第一幅图是蓝牙官网上的图示,对应蓝牙 4.0 版本。(2012 年 7 月份最新更新)因为该图不很清楚,有人重画了下,稍微修改了其中一部分,如下图:为便于理解,附上 v1.0 的架构图示如下:为了便于理解,最后附上 M$上关于蓝牙协议的图示,如下图:下面就是关于蓝牙官网上文章的翻译了,因为时间和水平有限
2、,主要是水平有限,翻译难免有误差之处,欢迎斧正。(https:/www.bluetooth.org/Building/HowTechnologyWorks/Architecture/Overview.htm)Core System DefinitionThe Bluetooth core system covers the four lowest layers andassociated protocols defined by theBluetooth specificationas well as one common service layer protocol, theservice
3、discovery protocol (SDP) and the overall profile requirements arespecified in the generic access profile (GAP). A completeBluetooth application requires a number of additional servicesand higher layer protocols that are defined in theBluetooth specification.(这段话的理解非常重要,为了准确翻译这段话,我还深入研究了“as well as”的
4、用法)蓝牙核心系统覆盖了蓝牙 spec 中定义的最低层的四个部分以及相关协议, 同时还包括一个通用服务层协议,服务发现协议以及在 GAP 中指出的全部需求。同时,一个完整的蓝牙应用程序还需要其他一些附加的服务和在蓝牙 spe 中定义的更高层的协议。BluetoothControllerThe lowest three layers aresometimes grouped into a subsystem known as the Bluetooth controller. This is a common implementation involvinga standard physical
5、 communications interface between theBluetooth controller and remainder of theBluetooth system including the L2CAP, service layers and higherlayers (known as theBluetooth host). Although this interface is optional, the architecture is designedto allow for its existence and characteristics. TheBlueto
6、oth specification enables interoperability betweenindependentBluetooth enabledsystems by defining the protocol messages exchanged between equivalent layers,and also interoperability between independentBluetooth sub-systems by defining a common interface betweenBluetooth controllers andBluetooth host
7、s.蓝牙控制部分最底下的三层有时候被归为一组成为一个子系统称做蓝牙控制器。这是一个通用的执行部分,包括一个用于蓝牙控制器和蓝牙系统其他剩余部分之间的标准的物理通信接口,这些剩余部分包括 L2CAP,服务层以及更高级的层次(常叫做蓝牙 host)。虽然这个接口并非必不可少,但是本架构设计上允许它的存在和特点。蓝牙说明书通过定义同等层间的协议信息交换来使得独立的蓝牙系统之间协调工作,同时,通过定义一个蓝牙控制器和蓝牙host 间的通用接口,保障了蓝牙子系统之间的协调工作能力。A number of functional blocksare shown and the path of service
8、s and data between these. The functionalblocks shown in the diagram are informative; in general theBluetooth specification does not define the details ofimplementations except where this is required for interoperability.很多功能块以及他们之间的服务和数据传输路径如图所示。这些功能块提供了很多的信息。总的来说,蓝牙 spec 不会定义执行体之间的细节部分,除非他们之间要求协同工作
9、。Core System Protocols andSignalingStandard interactions aredefined for all inter-device operation, where Bluetooth devices exchange protocol signaling according to theBluetoothspecification. TheBluetooth core system protocols are the radio (RF) protocol,link control (LC) protocol, link manager (LM)
10、 protocol and logical link controland adaptation protocol (L2CAP), all of which are fully defined in subsequentparts of theBluetoothspecification. In addition, the service discovery protocol (SDP) is a servicelayer protocol required by allBluetooth applications.核心系统协议和信号为内部设备之间的操作定义了标准的交互流程,在这些内部操作中
11、,根据蓝牙 spec 蓝牙设备交互协议信号。蓝牙核心系统协议栈包括 RF 协议,链接控制协议,链接管理西医和逻辑连接控制适应协议(L2CAP),这些协议在蓝牙 spec 随后部分中都均有定义。另外,服务发现协议是一个所有蓝牙应用程序都需要的服务层协议。The Bluetooth core system offers services through a number ofservice access points that are shown in the diagram as ellipses. These servicesconsist of the basic primitives th
12、at control theBluetooth core system. The services can be split into threetypes. There are device control services that modify the behavior and modes ofaBluetooth device,transport control services that create, modify and release traffic bearers(channels and links), and data services that are used to
13、submit data fortransmission over traffic bearers. It is common to consider the first two asbelonging to the C-plane and the last as belonging to the U-plane.蓝牙核心系统为许多服务通路点(AP )提供服务,如图中椭圆点处所示。这些服务有控制蓝牙核心系统的基元组成。这些服务可以分成三种类型。第一种是设备控制服务用于修改蓝牙设备的行为和工作方式,第二种是传输控制服务用于创建、修改以及释放通信送信单元(信道和链接),第三种是数据服务用于在通信送信
14、单元上为传送功能传递数据。很容易的理解前两个属于 C 层面,最后一个属于 U 层面。Host to ControllerInterface (HCI): Splits Bluetooth Stack Into Controller and HostA service interface to the Bluetooth controller sub-system is defined such that theBluetooth controller may be considered a standard part. In thisconfiguration theBluetoothcont
15、roller operates the lowest three layers and the L2CAP layer is containedwith the rest of theBluetooth application in a host system. The standard interface is called the hostto controller interface (HCI). Implementation of this standard serviceinterface is optional.主机和控制器接口(HCI):划分蓝牙协议栈为控制器和主机和蓝牙控制器子
16、系统的服务接口定义如下:蓝牙控制器被认为是一个标准的部分。在一个主机系统中,蓝牙控制器操作最底下的三层和 L2CAP 的这种配置包含在蓝牙应用程序的其他部分。标准接口称为 HCI。对这个标准服务的接口的实现是可有可无的。As the Bluetooth architecture is defined with the possibility of aseparate host and controller communicating through an HCI, a number of generalassumptions are made. TheBluetooth controller
17、is assumed to have limited data buffering capabilities incomparison with the host. Therefore the L2CAP layer is expected to carry outsome simple resource management when submitting L2CAP PDUs to the controllerfor transport to a peer device. This includes segmentation of L2CAP SDUs intomore manageabl
18、e PDUs and then the fragmentation of PDUs into start andcontinuation packets of a size suitable for the controller buffers, andmanagement of the use of controller buffers to ensure availability for channelswith quality of service (QoS) commitments.既然蓝牙架构可以定义成通过 HCI 通信的一个主机和一个控制器,所以就须假设一些通用的东西。和主机相比,
19、假设蓝牙控制器有着有限的数据缓存能力。因此就期望在给一个对等的设备传输数据时,当递交 L2CAP PDU 给控制器过程中,L2CAP 层来执行一些简单的资源管理工作。这些工作包括把 L2CAP SDU 分割成更多的可以管理的 PDU 以及进一步把 PDU 细化成更小的部分,这些部分可以适合在控制器缓冲中进行开始和延续大小的包,还有为了却确保信道的 QoS 责任的可行性进行的对控制器缓冲利用的管理工作。Error Detection in L2CAP LayerThe baseband layer providesthe basic ARQ protocol in Bluetooth techn
20、ology. The L2CAP layer can optionally provide a further errordetection and retransmission to the L2CAP PDUs. This feature is recommended forapplications with requirements for a low probability of undetected errors inthe user data. A further optional feature of L2CAP is a window-based flowcontrol tha
21、t can be used to manage buffer allocation in the receiving device.Both of these optional features augment the QoS performance in certainscenarios.LCAP 层的错误检测在蓝牙技术中,基带层提供基本的 ARQ 协议。L2CAP 可以有选择性地提供深层次的错误检测和对 L2CAP PDU 的重传机制。这个特性对一些应用程序有推荐作用,这些应用程序在对用户数据没有检测到错误存在低的可能性有着一定的要求。L2CAP 的的另外一个可能的特性是,基于窗口的流控制
22、在接受设备端可被应用来管理缓冲分配。这两个可选择性的特性在一定场景提高了 QoS 的性能。Although these assumptions maynot be required for embedded Bluetooth technology implementations that combine all layers in a single system,the general architectural and QoS models are defined with these assumptions inmind, in effect a lowest common denomi
23、nator.对于那些将所有的层联合在一个独立系统的嵌入式蓝牙技术来说,在实现来上,虽然这些假设可能并没有要求,依据这些假设的通用架构和 QoS 模式已经在大脑中形成,实际上是最小公分母。Testing Interfaces: RF and Test Control Interface (TCI)Automated conformance testingof implementations of the Bluetooth core system is required. This is achieved by allowing the tester tocontrol the implemen
24、tation through the RF interface, which is common to allBluetooth systems, and through the test control interface(TCI), which is only required for conformance testing.测试接口:射频和测试控制接口蓝牙核心系统实现的自动化一致性测试是必须的。这个测试是通过允许测试人员通过射频接口来控制它的实现来得到的,这对所有的蓝牙系统来说很普通的,并且通过这个测试控制接口(TCI),这是在一致性测试中唯一要求的。The tester uses ex
25、changes withthe implementation under test (IUT) through the RF interface to ensure thecorrect responses to requests from remote devices. The tester controls the IUTthrough the TCI to cause the IUT to originate exchanges through the RF interfaceso that these can also be verified as conformant.测试人员通过射
26、频接口和执行体进行数据交互来确保给远端设备提供正确的回复。测试人员通过 TCI 来控制 IUT 使得 IUT 通过射频接口发起数据交换,这样数据能够得到一致性的验证。The TCI uses a differentcommand-set (service interface) for the testing of each architectural layer andprotocol. A subset of the HCI command-set issued as the TCI service interfacefor each of the layers and protocols
27、within theBluetooth controller subsystem. A separate service interface isused for testing the L2CAP layer and protocol. As an L2CAP service interface isnot defined in theBluetooth core specification it is defined separately in the TCI specification.Implementation of the L2CAP service interface is only required for conformancetesting.TCI 利用一个不同的服务接口对架构上的每一个层次和协议进行测试。一个 HCI 服务接口的子集发行出来作为 TCI 为蓝牙控制子系统每一层和协议服务的接口。一个分离的服务接口被用来测试L2CAP 层及协议。L2CAP 层服务接口没有在蓝牙核心 Spec 中定义,而是独立地定义在TCISpec 中。L2CAP 服务接口的实现是一致性测试的唯一要求。