【BLE】近期学习Blutetooth与BLE的总结——关于Bluetooth与BLE的科普

1.1、  关于蓝牙技术

蓝牙(Bluetooth),是一种支持设备短距离通信无线电技术,是一种无线个人局域网技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等之间进行无线信息交换。

(1)蓝牙技术产生背景与发展

     1998年5月,爱立信、诺基亚、东芝、IBM和英特尔公司五家著名厂商,在联合开展短程无线通信技术标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、低成本的无线传输应用技术;另外该五家厂商成立了蓝牙特别兴趣组,以使蓝牙技术能够成为未来的无线通信标准。

1999年下半年,著名的业界巨头微软摩托罗拉三星朗讯与蓝牙特别小组的五家公司共同发起成立了蓝牙技术推广组织,从而在全球范围内掀起了一股蓝牙热潮,并迅速淘汰了受限严重的红外线传输技术。

 如今,蓝牙技术已经走过16个年头,它陪伴我们从功能手机时代走到智能手机时代,已成为了智能手机的基本配置。并且,蓝牙技术不再仅是应用于设备间文件、音视频的传输,在智能家居、医学应用、汽车电子等领域均得到广泛的应用。在这16年间,蓝牙技术规范已出现了Bluetooth 1.1、Bluetooth 1.2、Bluetooth 2.0、Bluetooth 2.1、Bluetooth 3.0、Bluetooth 4.0、Bluetooth4.1等版本,其中Bluetooth 4.0便是我们该手册讨论的对象。

(2)早期几种蓝牙设计规范

蓝牙技术采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM频段

先介绍蓝牙技术早期几个技术规范特点:

Bluetooth1.1:最早期的版本,传输率约在748~810kb/s,容易受到同频率产品的干扰。

Bluetooth1.2:传输率仍约为748~810kbps,增加了抗干扰的跳频功能。

Bluetooth2.0+EDR:传输率约为1.8M~2.0Mbps,支持双工模式,可以在语音通讯同时传输档案与图片,相比1.1与1.2,2.0已经可以很好地支持了Stereo(立体声)音效。(注:EDR即Enhanced data rate,是增强速率的缩写,其特色是提升了蓝牙的传输速率与扩展了频宽)。

Bluetooth2.1+EDR:简化了装置配对的流程,采用低功耗监听模式降低功耗。

Bluetooth3.0+HS:HS,即HighSpeed的意思,Bluetooth3.0+HS传输速率可达24Mbps。Bluetooh3.0的核心是AMP(Generic Alternate MAC/PHY (AMP),一种全新的射频交替技术),集成了“802.11 PAL”(协议适配层),使得蓝牙可以仅使用标准蓝牙射频模块(标注基本码率即BR和扩展码率即EDR分别为1 Mbps和3 Mbps)进行连接配对,数据传输则使用WiFi,从而达到24Mbps的数据传输率。

(3)Bluetooth4.0

蓝牙4.0可以称为蓝牙3.0的升级版本,蓝牙4.0将三种规格集为一体,包括传统蓝牙技术、高速蓝牙技术和低功耗蓝牙(Bluetooth Low Energy,简称BLE)技术,该三种规格的蓝牙技术可以单独部署也可组合使用。

相比以往的蓝牙3.0,蓝牙4.0最大的不同在新增低功耗技术上,该技术最大特点是拥有超低的运行功耗和待机功耗,蓝牙低功耗设备使用一个纽扣电池甚至可以使用几年之久,另外蓝牙4.0增加了低成本和跨厂商互操作性、3毫秒低延迟、超长距离传输、AES-128加密等特性,使得蓝牙技术的应用不再局限于文件传输、音视频传输,在对成本、功耗有严格要求的医疗保健、体育健身、家庭娱乐、安全保障等物联网领域也可有广泛的应用。

蓝牙4.0支持双模式和单模式两种部署方式。在双模式中,低功耗蓝牙功能集成在现有的经典蓝牙控制器中,即在现有经典蓝牙技术(2.1+EDR/3.0+HS)芯片上增加低功耗堆栈,整体架构基本不变,因此成本增加有限。在单模式中,则是指只专门支持蓝牙低功耗技术的芯片。

现今蓝牙产品商标分为三种Bluetooth SMART、Bluetooth SMART Ready、Bluetooth,分别代表蓝牙4.0单模式、蓝牙4.0双模式、传统蓝牙(2.1+EDR/3.0+HS)。蓝牙4.0单模式的产品可以与蓝牙4.0双模式的产品通信,但是不可以跟传统蓝牙产品通信;蓝牙4.0双模式的产品既可以与蓝牙4.0单模式的产品通信,也可以与传统蓝牙产品通信。图(1)描述三种之间的通信关系,从图中也可以看出蓝牙4.0单模式主要部署在智能硬件,用于发送传感器收集的信息至PC、PDA、手机等智能终端,实现物联网的功能;而蓝牙4.0双模式主要应用于智能终端上,方便于与其他两类蓝牙产品通信。

【BLE】近期学习Blutetooth与BLE的总结——关于Bluetooth与BLE的科普_第1张图片

图(1)

(4)关于Bluetooth4.1的更新

Bluetooth4.0主打蓝牙低功耗技术宣布了其对物联网领域的进军,Bluetooth4.1的更新主要是迎合物联网应用的需求。

Bluetooth4.1相对Bluetooth4.0主要新增了以下特性:增强了蓝牙与蜂窝网LTE共存;提升了批量数据传输的速率,迎合可穿戴设备对传输速率的需求;允许设备同时充当“Bluetooth Smart” 和“Bluetooth Smart Ready”两个角色的功能;不用用户干扰也能让蓝牙自动实行更好的激活;加入了专用通道允许设备通过 IPv6 联机使用,即设备通过蓝牙4.1连接到可以上网的设备后直接利用IPv6接入互联网,该特性增强了蓝牙技术在物联网领域的地位。

1.2、  关于BLE技术

Bluetooth4.0涵盖了三种蓝牙技术,传统蓝牙技术与高速蓝牙技术更像是Bluetooth4.0对以往版本的一种兼容、补充、升级与融合,而BLE技术则是Bluetooth4.0的核心。我们本手册重点学关注BLE技术在物联网领域的应用。

BLE技术最重要的特点有三个:低延迟、低功耗、低吞吐量。其网络拓扑结构是点对多点,设备种类分为master与slave两种角色,一般master是Bluetooth Smart Ready的蓝牙产品,salve是Bluetooth Smart的蓝牙产品,而一个master可以支持到最多3个slaves。

(1)BLE协议栈

BLE协议栈包含三层:应用层(Apps)、主机层(Host)、控制层(Controller),如图(3)所示。可见,各层包含若干子层,各子层功能如下:

PHY物理层:工作在2.4GHz ISM频段,采用跳频技术与GFSK调制技术。图(2)为BLE的无线频段分布情况,可以看出BLE具有40个频段,其中有3个广播频段,37个连接频段,广播频段均避开wifi频段。

【BLE】近期学习Blutetooth与BLE的总结——关于Bluetooth与BLE的科普_第2张图片

图(2)

LL连接层:控制设备的状态。设备可以有五种状态:就绪standby,广播advertising,搜索scanning,初始化initiating和连接connected。广播者传播数据,使得浏览者可以接收到。initiator就是一个对广播者回复连接请求的设备。如果广播者接受请求,广播者和initiator初始者就会进入connected连接状态。一个处于连接状态的设备会有一个角色:master和slave。初始化这个连接的为master,接受这个连接请求的为slave。

HCI层:host和controller之间通过一个标准接口进行通信提供了一些方法。这一层可以通过一个软件API或者是硬件接口如UART,SPI和USB。

L2CAP层:为上层提供封装传输数据的服务。

SM层:提供配对与密钥生成的方法,确保配对过程与传输数据过程的安全性。

ATT层:允许一个设备向其他设备提供数据,这些数据对于其他设备称之为“Attribute属性”。在ATT层中,提供属性的设备被称为server,相应的另一个设备称为client。LL层的状态master和slave和ATT层的这两个状态无关。

GATT层:是一个服务框架定义了对ATT应用的子层,GATT指定了profile的结构。在BLE中,由profile或者是services所使用的所有类型的数据都称为characteristic。发生于两个设备间通过BLE连接进行交换的数据都需经过GATT子层处理。因此,应用层会直接使用GATT层提供的服务。

GAP层:提供设备的发现和连接相关的服务,同时提供初始化安全相关的服务。GAP层将蓝牙设备定义为:Broadcaster(广播数据处于未连接状态的设备)、Observer(扫描广播信号但为初始化连接的设备)、Peripheral(处于连接状态并单个LL层连接中作slave角色的蓝牙设备)、Central(扫描广播信号、初始化连接、在单个LL层或多个LL层连接中作为master的蓝牙设备)。应用层也会直接使用GAP层提供的服务。

应用层:使用GAP层与GATT层提供的服务定义一系列的profiles,并使用这些pofiles实现应用功能。

【BLE】近期学习Blutetooth与BLE的总结——关于Bluetooth与BLE的科普_第3张图片

图(3)

(2)BLE的链接参数

       在开始讲BLE的链接参数前,需要先讲下Conection Events,蓝牙设备建立连接,所有蓝牙设备间信息的交换都是通过Connetion Events进行的,Master在Connection Events开始起发送数据包,Slave在Connection Events期间回复。Connection Events是周期性出现的且时间间隔很短,在一个Connection Events中,器件最大电流为十几mA,平均电流1uA,这便是BLE低功耗的原因。

【BLE】近期学习Blutetooth与BLE的总结——关于Bluetooth与BLE的科普_第4张图片

图(4)

       在两个蓝牙设备建立连接进入connected状态前,蓝牙设备需要设置一系列的链接参数,链接参数是在Central向Peripheral发起连接请求是传递的:

(1)Connection Interval:蓝牙设备采用了快跳频技术,两个蓝牙设备每隔一段时间后都会在一个新频道上进行数据传输,每次蓝牙设备间的数据传输都称为一次connection event,即使没有数据传输,两个蓝牙设备也会在connection event上交换LL层数据以保持两个设备的连接状态,两次connection event的时间间隔称为Conection Interval。Connection Inetrval为1.25ms的倍数,数值位于6(7.5ms)至3200(4.0s)之间。

较长的Connection Interval相当于设备处于睡眠时间更长,故具有节省功耗的优点,但是相应的数据相对无法做到及时传输;较短的Connection Interval 可以做到更及时传输数据,但是由于设备频繁地连接,使得设备功耗较大。

(2)Slave Latency:为Peripheral设备设置该参数可以是Peripheral设备在没有数据传输时灵活地跳过connection events保持睡眠状态,以节省更多的功耗。Slave Latency代表Peripheral设备最多可以忽略的events数目,数值可以位于0~499之间,但是最大值必须保证 effective connectioninterval(详见下面)不得大于16.0s。

effective connectioninterval = (Connection Interval)*(1+(Slave Latency))。

(3)Supervision Timeout:指两次成功完成连接的connection events的最大时间间隔。如果时间超过Supervision Timeout,两个蓝牙设备没有成功完成连接的connection event,设备将认为链接丢失并回归未连接状态。Supervision Timeout是为10ms的倍数,其值在10(100ms)至3200(32.0s)。另外Supervision Timeout必须大于 effective connectioninterval。

当Perpheral设备认为Central设备请求的链接参数不合适时,Perpheral设备可以在连接期间通过发送一个“Connetion Parameter UpdateRequest”请求Central设备更改链接参数,该请求会在L2CAP层被处理。“Connetion Parameter UpdateRequest”请求必须包含:minimum connection interval,maximum connectioninterval,slave latency和timeout四个参数。当Central设备接收到请求时将决定接受或拒绝Peripheral的链接参数更新请求并进行回应。

合适地选择链接接参数是最优化BLE设备功耗的关键。

1.3关于蓝牙产品认证

(1)Bluetooth SIG——玩蓝牙的娃必须知晓的组织

Bluetooth SIG(Bluetooth Special InterestGroup蓝牙技术联盟)是一个以制定蓝牙技术规范,与推动蓝牙技术为宗旨的跨国组织。它拥有蓝牙的商标,负责认证制造厂商,授权他们使用蓝牙技术与蓝牙标志,但是它本身不负责蓝牙装置的设计、生产及贩售。而企业只要使用蓝牙相关商标在市场上销售产品,都必须向蓝牙技术联盟交纳商标使用费和产品认证费用,产品认证费用是相当昂贵的一笔费用。

Bluetooth SIG由电信、计算机、汽车制造、工业自动化和网络行业的领先厂商组成。Bluetooth SIG的发起公司是Agere、爱立信、IBM、英特尔、微软、摩托罗拉、诺基亚和东芝。2006年10月13日,Bluetooth SIG(蓝牙技术联盟)宣布联想公司取代IBM在该组织中的创始成员位置,并立即生效。除了创始成员以外,Bluetooth SIG还包括200多家联盟成员公司以及约6000家应用成员企业。

Bluetooth SIG实行三级会员制,即创始公司会员、联盟公司会员和应用公司会员。创始公司会员与联盟公司会员需要交纳年费,该笔费用对初创公司来说是一笔不小的费用。应用公司会员是免费和开放的,任何一个企业和个人都可以去注册。

BluetoothSIG在全球设立的办事处的包括:美国西雅图(全球总部);美国堪萨斯市(美国总部);瑞典马尔默市(欧洲、中东和非洲地区(EMEA)总部);中国香港特别行政区(亚太区总部)。

(2)关于蓝牙产品认证与获得蓝牙商标

一种蓝牙产品在市面上销售前需要通过Bluetooth SIG的BQB/BQE(Bluetooth Qualification Body)认证,并符合当地制定的射频技术标准。两种认证缺一不可。

蓝牙产品作为一种射频产品,必须符合国家地区的射频测试标准才能在该地区或国家销售,所以蓝牙产品必须通过相应射频测试标准的认证,这便是强制性认证。各地区的射频认证程序不同,可以通过当地无线电管理机构了解认证程序。如在美国可以直接通过FCC(Federal Communications Commission)或者通过FCC授权的TCB(Telecommunications Certification Body)获取Certification;在中国则需要通过中国国家无线电监测中心申请获得国家无线电管理委员会认证,即SRRC认证(State Radio Regulatory Commission of the People’sRepublic of China)。

BQB/BQE认证即蓝牙认证是任何使用蓝牙无线技术的产品所必须经过的认证,蓝牙产品一旦获得BQB/BQE认证,便可以在产品上使用蓝牙商标,并且可以将产品放在Bluetooth SIG的官网上展示。

在谈蓝牙产品如何进行BQB/BQE认证前,先说下UPFs(UnPlugFests)。UPFs是Bluetooth SIG组织的联盟成员间非盈利性的交互测试大会,目的是促进所有正在开发或已经推行发布的蓝牙产品间交互测试能力(Interoperability,即IOP)。但要明确的是UPFs并非BQB/BQE认证的一部分,参加UPFs目的是测试蓝牙产品与其他公司蓝牙产品的互联操作性。对于未推向市场的蓝牙产品参加UPFs,可以帮助企业改善产品的互操作性、推出高质量蓝牙产品从而节省售后成本。

关于如何进行一款蓝牙产品的BQB/BQE认证可以参照以下步骤进行:

①  首先确认你的产品中哪些部分已经通过BQB/BQE认证,这些部分是可以重复利用的,无须再进行测试认证,同时也确定了产品需要进行BQB/BQE认证的部分。

②  对需要测试的部分制定测试计划,如何制定测试计划在蓝牙技术联盟官网(https://www.bluetooth.org/zh-cn/test-qualification)上有详细说明。

③  按照测试计划到蓝牙认证测试机构(BQTF)进行测试,届时有BQE(Bluetooth QualificationExpert,即蓝牙资格认证专家)给予一定建议。这部分是需要收取费用。

④  通过蓝牙技术联盟的BQB/BQE认证后,产品便可获得唯一的QDID。使用QDID申请QDL(Qualification DesignListing)与EPL(End Product Listing),从而使产品可以使用蓝牙商标且产品在蓝牙技术联盟官网上可以被找到,这对产品的宣传是具备重要意义的。

从蓝牙官网可以了解到,进行BQB认证测试获取QDID并申请QDL(注:每个设计对应一个QDID,每个QDID对应一个QDL标识)费用对于应用公司会员是一笔不少的费用。我们本手册使用的蓝牙芯片是TI的 CC2540/CC2541,而TI 在Bluetooth 控制器子系统、Bluetooth 主机子系统、Bluetooth配置文件子系统的设计已经通过BQB认证并拥有QDID,使用TI的蓝牙技术方案搭建最终产品,无须重复进行BQB认证,只须使用TI的QDID申请EPL,便可以使用蓝牙商标,而这只须少量的费用。

你可能感兴趣的:(BLE)