【转载】蓝牙架构(1)—— 1 蓝牙概述 (1.1 BR/EDR概述)

Vol 1架构和术语概述

Part A 1 总体概述

Agenda:

1.1 BR / EDR概述。 

1.1.1基础通信模型。 

1.1.2跳频。 

1.1.3时间槽(sLot)。 

1.1.4物理信道和物理连接。 

1.1.5物理连接,逻辑连接和数据流。 

1.1.6 LMP协议。 

1.1.7 L2CAP协议。 

Part A 1 总体概述

(168页)蓝牙无线技术是一种短距离无线通信系统,目的是取消连接在主电子设备与外设之间的电线。蓝牙无线技术的主要特点是:健壮性(抗干扰),低功耗、低成本。核心规范中的一些技术是可选的,意思是,各个产商实现的蓝牙芯片所支持的功能可能会有差别。

蓝牙无线技术有两种:

蓝牙无线技术

描述

Basic Rate (BR)/ Enhanced Data Rate (EDR)

市面上的使用基础速率技术的蓝牙设备一般支持增强速率,虽然增强速率是可选功能。增强速率还支持AMP(Alternate Media Access Control and Physical )控制器,能进一步提高码率。基础速率(BR)的码率为721.2 kb/s,增强速率的码率为 2.1 Mb/s,如果增强速率有AMP控制器,速率可达54 Mb/s

Low Energy (LE)

LE技术比BR/EDR技术,有更低的电量消耗、更简单的技术、更低的成本。LE系统设计目的是为了满足低数据传输量和低访问周期的应用场景。LE核心协议中,有更多的可选技术,为了应对不同的应用场景。

两种技术都有发现设备、建立连接的过程。

一个蓝牙设备,如果都包含这两种蓝牙技术,基本上能与所有的蓝牙设备通信。某些上层协议或profile只支持其中一种蓝牙技术。所以,如果蓝牙设备支持两种蓝牙技术,那么大多数的上层协议或者profile都能支持。

蓝牙核心系统由两部分组成:

组成

描述

Host

在蓝牙协议栈分层结构中的位置,在非核心profile以下,在HCI(Host Controller Interface)接口之上

Controller

在蓝牙协议栈分层结构中的位置,在HCI(Host Controller Interface)接口以下。

在Host和Controller之间存在一个HCI接口。有两种类型的控制器(Controller),主要控制器(Primary Controllers)和次要控制器(Secondary Controllers) 

一个蓝牙核心系统,由一个主机(Host),一个主要控制器(primary controller),零个或者多个次要控制器(secondary controller)组成。他们的组合有一下几种:

蓝牙系统包含一个控制器(controller):

  • LE Only Primary Controller
  • BR/EDR only Primary Controller
  • BR/EDR and LE Primary Controller

蓝牙系统包含多个控制器(controller):

  • BR/EDR Primary Controller, with one AMP Secondary Controller
  • BR/EDR with multiple AMP Secondary Controllers
  • BR/EDR and LE Primary Controller with one AMP Secondary Controller
  • BR/EDR and LE Primary Controller with multiple AMP Secondary Controllers

在这里插入图片描述

1.1 BR/EDR概述

1.1.1基础通信模型

基础速率和增强速率(BR/EDR)射频工作在国际无授权2.4G Hz ISM频道。蓝牙系统使用跳频技术用来对抗干扰、抗衰减,并且提供跳频扩频(FHSS)载体。基础速率射频在工作时使用一种成形的二进制频率调制来降低技术的复杂度。基础速率的符号率1 Mb/s,码率可以达到1 Mb/s;增强速率符号率为2~3 Mb/s。

在通常情况下,物理射频信道被一组时钟和跳频时序一致的多个设备共享。在同一个物理信道的设备中,提供同步参考信号的那个设备,叫做主设备 master

(170页)

其他调整自身参数,使得跟master时钟和跳频时序同步的设备,叫从设备 slave(master有点像领舞,slave像是跟着跳舞的)。这些同步设备组成的网络叫做微微网 piconet。这是蓝牙无线技术中最基础的通信模型。

1.1.2 跳频

在微微网中的设备使用的这种跳频时序,是由master的蓝牙地址和时钟,通过某种特定的算法计算出来的。蓝牙技术把ISM频段分成79个子频段,每个频段的间隔为1 MHz,子频段用从低到高用编号1-79号标识。跳频时序是1-79号频段的伪随机序列(叫伪随机的原因是,在一个循环周期内,跳频时序是随机的;周期和周期之间的时序是重合的)。跳频时序可以调整,当某些子频段有干扰时,是去掉某些被干扰的子频段,去重新计算跳频序列。这种可调跳频技术能增强与其他使用非跳频无线技术的通信共存(比如WIFI)。

1.1.3 时间槽(sLot)

物理信道用时间概念去划分成一个个相等的时间段单位,叫做时间槽(slot)。数据以包的形式放到时间槽中在设备之间传输。如果情况允许,连续的几个时间槽可能被同一个数据包的发送所占用。一般情况下,两个连续的时间槽之间会发生跳频。蓝牙就是通过这种时分复用(TDD)的技术实现全双工传输。

1.1.4 物理信道和物理连接

在物理信道之上是链路、通道、以及控制协议。在蓝牙协议栈的分层结构中,自下而上,分别是物理信道、物理连接、逻辑传输、逻辑连接和L2CAP通道。这些概念会在后面详细讨论,在这提出只是帮助理解这小节内容的剩下部分。

通常在一个物理信道上,master和slave之间会建立一个物理连接,除了用作Inquriy Scan和Page Scan物理信道以外。这两种信道与物理连接无关。物理连接提供master和slave之间的双向数据包传输。有一种情况例外,就是无连接从设备广播(Connectionless Slave Broadcast,简称CSB)的物理连接。这CSB广播这种情况下,物理连接只提供单向的数据包传输,数据包从master单向发送到一个或多个slave(slave的数量理论上可以是无限个)。

物理信道分类: 

物理信道

描述

常规物理信道

用作master和slave之间通信,能建立物理连接

Inquriy Scan和Page Scan物理信道

用作Inquriy Scan或Page Scan,不能建立物理连接

因为一个物理信道被多个slave共享,所以建立物理连接的时候会有所限制:

  1. master和slave之间都有一条物理连接
  2. 而slave和slave之间没有直接的物理连接。

物理连接分类: 

物理连接

描述

单向物理连接

用于CSB广播

双向物理连接

用于一般物理连接,CSB广播外的物理连接

1.1.5 物理连接、逻辑连接和数据流

物理连接用作通信载体(transport),承载多种逻辑连接,包括同步、异步、等时、以及广播数据流(traffic)。在逻辑连接上的数据流,通过资源管理器(resource manager)的调度功能把数据放入时间槽中,从而复合(multiplexed)到物理连接上。(物理连接比喻成两个设备间的公路,逻辑连接比喻成公路上的车道,逻辑通信比喻成运输工具,数据流traffic是交通规则)

(注意:transport翻译成通信载体,载体比喻成交通工具,是一种运输数据包的交通工具。但是后面会把通信载体简称成通信)物理链路用作支持单播同步,异步和同步流量以及广播流量的一个或多个逻辑链路的传输。 通过占用资源管理器中的调度功能分配的时隙,逻辑链路上的业务被复用到物理链路上。

1.1.6 LMP协议

一种控制协议用作在基带和物理层上传输逻辑连接和用户数据,叫做链路管理协议(link manager protocol, 简称LMP在微微网中层处在活跃状态的设备都存在一个默认的异步面向连接的逻辑通信载体(asynchronous connection-oriented logical transport),用作承载LMP协议信息。(171页)

由于历史的原因,这种通信载体叫做ACL逻辑通信(ACL logical transport)。除了CSB从设备以外,当一个蓝牙设备加入到微微网的时候,主要的ACL逻辑通信(primary ACL logical 
transport)会被建立。CSB从设备加入到微微网单纯是侦听CSB包。在这种情况下,一个无连接广播逻辑通信会被建立(CSB logical transport),而不会建立ACL逻辑通信。对于所有的设备,其他的(主要ACL逻辑通信以外的)逻辑通信可能会被创建,需要的时候用来传输各种类型的数据流。

通信

描述

ACL logical transport

一般加入到微微网都会建立,用来传输LMP协议和用户数据。用来传输LMP协议的ACL logical transport,叫做default ACL logical Transport或者primary ACL logical Transport

CSB logical transport

CSB从设备才会建立,而不建立ACL logical transport

other logical transport

需要的时候才建立

链路管理器的功能是用LMP协议去控制在微微网的设备,并且向上层提供底层(射频和基带层)的服务。LMP协议在主要ACL逻辑通信载体中和活跃从设备广播通信载体(active slave broadcast logical transports)中传输。

1.1.7 L2CAP协议

在基带层之上是L2CAP(Logical Link Control and Adaptation Protocol逻辑链路控制和适配协议),它为上层应用和服务提供基于通道概念的抽象。它在一个共享的逻辑连接上,提供数据的拆分和重装配、通道的复用和分离服务。L2CAP在默认ACL通信上建立了一个协议控制通道,专门传输L2CAP的控制命令。上层应用数据提交到L2CAP协议,会被加载到各种支持L2CAP协议的逻辑连接上。

抽象的概念:硬件抽象层

硬件抽象层是位于操作系统 内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。

————————————————————————————————————————

Reference

1 BT specification Core 4.2, Bluetooth SIG.

https://me.csdn.net/cocavon

https://baike.baidu.com/

————————————————————————————————————————

作者按:蓝牙从业者,潜心学习BT stack,蓝牙协议奇多无比,概述只是开始,网上资料还比较多,学到后面的各种spec就只剩下英文原版可以参考了,遂把自己的笔记发出来,互相交流,互相交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值