蓝牙(Bluetooth)的概述和三种蓝牙架构实现的方案
-
蓝牙(英语:Bluetooth),一种无线通讯技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)
-
其使用短波特高频(UHF)无线电波,经由2.4至2.485 GHz的ISM频段来进行通信
-
1994年由电信商爱立信(Ericsson)发展出这个技术
-
它最初的设计,是希望创建一个RS-232数据线的无线通信替代版本。它能够链接多个设备,克服同步的问题。
-
蓝牙技术目前由蓝牙技术联盟(SIG)来负责维护其技术标准,其成员已超过三万,分布在电信、电脑、网络与消费性电子产品等领域
蓝牙工作方式
蓝牙技术分为基础率/增强数据率(BR/EDR)和低耗能(LE)两种技术类型。
其中BR/EDR型是以点对点网络拓扑结构创建一对一设备通信;LE型则使用点对点(一对一)、广播(一对多)和网格(多对多)等多种网络拓扑结构
蓝牙的应用
蓝牙技术已经应用到超过3万个联盟技术蓝牙技术联盟成员的82亿件产品之中
image.png蓝牙的规格和功能
第一版的蓝牙在 1998年,最大传输的速度为 723.1k/s,传输的距离为10米,最新的版本为蓝牙5.2,发布时间为 2020年,最大的传输的速度48M/s,传输的距离为300米
image.png- 其中最为重要的当属蓝牙第四代
2010年7月7日,蓝牙发布了第四代 也就是蓝牙4.0,其中最重要的特性就是省电,Bluetooth在4.0是Bluetooth诞生到现在唯一一个综合协议的规范
- Bluetooth 4.0,协议组成和当前主流的Bluetooth h2.x+EDR、还未普及的Bluetooth h3.0+HS不同,Bluetooth 4.0是Bluetooth从诞生至今唯一的一个综合协议规范,
- 还提出了“低功耗蓝牙”、“传统蓝牙”和“高速蓝牙”三种模式。
- 其中:高速蓝牙主攻数据交换与传输;传统蓝牙则以信息沟通、设备连接为重点;低功耗蓝牙顾名思义,以不需占用太多带宽的设备连接为主。前身其实是NOKIA开发的Wibree技术,本是作为一项专为移动设备开发的极低功耗的移动无线通信技术,在被SIG接纳并规范化之后重命名为Bluetooth Low Energy(后简称低功耗蓝牙)。这三种协议规范还能够互相组合搭配、从而实现更广泛的应用模式,此外,Bluetooth 4.0还把蓝牙的传输距离提升到100米以上(低功耗模式条件下)。
- 分Single mode与Dual mode。
- Single mode只能与BT4.0互相传输无法向下兼容(与3.0/2.1/2.0无法相通);Dual mode可以向下兼容,可与BT4.0传输也可以跟3.0/2.1/2.0传输
- 超低的峰值、平均和待机模式功耗,覆盖范围增强,最大范围可超过100米。
- 速度:支持1Mbps数据传输率下的超短数据包,最少8个八组位,最多27个。所有连接都使用蓝牙2.1加入的减速呼吸模式(sniff subrating)来达到超低工作循环。
- 跳频:使用所有蓝牙规范版本通用的自适应跳频,最大程度地减少和其他2.4 GHz ISM频段无线技术的串扰。
- 主控制:可以休眠更长时间,只在需要执行动作的时候才唤醒。
- 延迟:最短可在3毫秒内完成连接设置并开始传输数据。
- 健壮性:所有数据包都使用24-bit CRC校验,确保最大程度抵御干扰。
- 安全:使用AES-128 CCM加密算法进行数据包加密和认证。
- 拓扑:每个数据包的每次接收都使用32位寻址,理论上可连接数十亿设备;针对一对一连接优化,并支持星形拓扑的一对多连接;使用快速连接和断开,数据可以在网状拓扑内转移而无需维持复杂的网状网络。
2013年底,蓝牙技术联盟推出了蓝牙4.1规范,其目的是为了让 Bluetooth Smart 技术最终成为物联网(Internet of Things)发展的核心动力。
- 此版本为蓝牙4.0的软件更新版本,搭载蓝牙4.0设备的终端可通过软件更新获得此版本。
- 对于开发人员而言,该更新是蓝牙技术发展史上一项重要的进步。该更新提供了更高的灵活性和掌控度,让开发人员能创造更具创新并催化物联网(IOT)发展的产品。
- 支持多设备连接。
- 智能连接:增加设置设备间连接频率的支持。制造商可以对设备设置连接进行设置,使得设备可以更加智能的控制设备电量。
2014年12月,蓝牙技术联盟推出了蓝牙4.2规范。
image.png总结:低功耗的传输的距离为30米,速度大约1M/s,应用的吞吐量0.2m/s,延迟在非连接的状态下为小于6ms,发送数据总时间3ms
耗电量是传统蓝牙的1/100,某种情况下
第五代蓝牙支持室内定位和导航功能,结合到wifi的可以实现定位的精度小于1米的是定位,允许无需配对接受信标的数据(比如广告、Beacon、位置信息等,传输率提高了8倍),物联网底层的优化
- 蓝牙5.0在2016年6月发布。在有效传输距离上将是4.2LE版本的4倍,传输速度将是4.2LE版本的2倍(速度上限为24Mbps)。蓝牙5.0还支持室内定位导航功能(结合WiFi可以实现精度小于1米的室内定位),允许无需配对接受信标的数据(比如广告、Beacon、位置信息等,传输率提高了8倍),针对物联网进行了很多底层优化。
2019年1月,蓝牙技术联盟推出了蓝牙5.1规范。
2020年1月,蓝牙技术联盟推出了蓝牙5.2规范。
蓝牙的主要的缺点是干扰和安全性
-
Bluetooth在2.4GHz的电波干扰问题一直为大家所诟病,特别和无线局域网间的互相干扰问题。有干扰发生时,就以重新发送分组的方法来解决干扰。
-
在JAVA和Symbian60平台上,使用“蓝牙黑客”或“蓝牙间谍”软件,对方同意配对就可以控制打开蓝牙的手机。此种软件可以实现的功能有:查看对方手机中的电话簿、短信、电量、串行号;更改对方手机的情景模式和界面语言、打开对方手机内置的JAVA软件、控制手机多媒体播放器、遥控对方手机打电话、发短信等。
三种蓝牙架构实现的方式
比如说安卓手机,手机里面包含了很多的SoC(单片系统或片上系统(英语:System on a Chip,缩写:SoC)是一个将电脑或其他电子系统集成到单一芯片的集成电路。单片系统可以处理数字信号、模拟信号、混合信号甚至更高频率的信号。单片系统常常应用在嵌入式系统中),每颗SoC都有自己单独的功能
手机的应用允许在AP芯片中,一般情况下,Android 或者是 ios的开发者 只要和AP芯片打交道,显示屏,4G,WiFi 和蓝牙都有自己专门的SoC,这些模块在物理上会通过某种接口和AP相连
- AP就是你的SoC处理器,手机跑系统跑app用的
- 手机的
- 软件
- 操作系统
- 硬件
- 外部:
- 屏幕、外壳、等
- 内部:主板
- 电源管理
- AP=Application Processor=应用芯片=应用处理器=主CPU=主控芯片=SoC:用来跑(比如手机中的)
- 外部:
- 软件
架构一:Host + controller 双芯片的架构
- 蓝牙规格定义了一套标准,使得手机厂商,比如苹果,用一颗新AP替换老AP,蓝牙模块不需要做任何更改;同样用一颗新蓝牙模块换掉老蓝牙模块,AP端也不需要做任何更改。
- 这个标准把蓝牙协议栈分成host和controller两部分,其中host跑在AP上,controller跑在蓝牙模块上,两者之间通过HCI协议进行通信,而且host具体包含协议栈那些部分,controller具体包含协议栈那些部分,两者之间通信的HCI协议如何定义,这些在蓝牙核心规格中都有详细定义,因此我把它称为双芯片标准方案。只要遵循这套标准,用户就可以随意替换Host或者Controller方案。
- 当然,这种方案除了可以应用在手机中,也可以应用在任何其他设备中。AP芯片厂商一般会直接采用Bluez等开源协议栈来实现Host功能,而Controller部分大部分由蓝牙厂商自己来实现。
- 目前比较火的Zephyr开源蓝牙协议栈也支持这种架构。Zephyr最初是风河系统公司在2015年11月推出的为(IoT)设备开发的“Rocket内核”
架构2:单芯片整体方案
- 手机周边蓝牙设备是蓝牙另外一个非常重要的应用场合,通常手机周边设备功能比较简单,但对成本非常敏感,因此采用一颗芯片来实现整个蓝牙协议栈就是非常明智的选择,即把蓝牙协议栈所有功能都放在一颗芯片上
- 也就是说,host和controller都放在同一颗芯片上,由于host和controller都在同一颗芯片上,因此物理HCI就没有存在的必要性,host和controller之间直接通过API来交互。
架构3:自定义双芯片架构,一般来说都是蓝牙的设备
image.png还有一些蓝牙设备功能比较强大,它需要一颗功能非常强大的MCU来做主应用,而蓝牙SoC只是整个系统的一部分,这种情况下,大部分蓝牙协议栈功能或者整个蓝牙协议栈功能都是跑在蓝牙SoC中,而蓝牙应用则跑在主MCU中,主MCU和蓝牙SoC之间的通信协议由厂商自己定义,因此称为自定义双芯片架构方案。
-
这种方案也非常常见,可以说,除了架构1和架构2之外的架构,都可以称为架构3。架构3里面有一种非常特殊的情况,即主MCU和蓝牙SoC之间采用了HCI接口进行通信,由于这里的HCI只是用来进行物理通信,而通信的主体不是host和controller,通信包应用数据也不遵循蓝牙核心规格规范,因此不能把它看成第1种架构
image.png