0
点赞
收藏
分享

微信扫一扫

【冲击蓝桥篇】动态规划(上):真题实战+思路解析

GG_lyf 03-03 22:00 阅读 2
ide

1、简介

        蓝牙技术是一种无线通信的方式,利用特定频率的波段(2.4GHz-2.485GHz左右),进行电磁波传输,总共有83.5MHz的带宽资源。

1.1、背景

        蓝牙(Bluetooth)一词取自于十世纪丹麦国王哈拉尔HaralBluetooth。一位来自英特尔的工程师 Jim Kardach将“蓝牙”与后来的无线通讯技术标准关联在一起的。他在一次无线通讯行业会议上,提议将“Bluetooth”作为无线通讯技术标准的名称。蓝牙的 LOGO 则是来自后弗萨克文的符文组合,将哈拉尔国王名字的首字母 H 和 B 拼在一起,成为了今天大家熟知的蓝色徽标。

蓝牙技术开始于爱立信联合在 1994 年创制的方案,该方案旨在研究移动电话和其他配件间进行低功耗、低成本无线通信连接的方法。发明者希望为设备间的无线通讯创造一组统一规则(标准化协议),以解决用户间互不兼容的移动电子设备的通信问题,1999年在爱立信联合IBM、英特尔、诺基亚及东芝公司等公司在1999 年 7 月 26 日正式公布 1.0A 版,确定使用 2.4GHz 频段。从此之后,蓝牙就开始了迅速发展的历程。

1.2、发展历程

版本时间PHY极限速率主要技术更新
1.0A/1.0B19990.7Mbit/s最早期的蓝牙 1.0 A 和 1.0B 版存在多个问题,有多家厂商指出他们的产品互不兼容。.
2.0+EDR20041Mbps(3Mbps with EDR)

新增的 EDR(Enhanced Data Rate)技术通过提高多任务处理和多种蓝牙设备同时运行的能力,使得蓝牙设备的传输率可达 3Mbps。蓝牙 2.0 支持双工模式:可以一边进行语音通讯,一边传输文档/高质素图片。同时,EDR 技术通过减少工作负债循环来降低功耗,由于带宽的增加,蓝牙 2.0 增加了连接设备的数量。

3.0+HS20091Mbps(3Mbps with EDR,24Mbps over 802.11 WIFI)High Speed 可以使蓝牙调用 802.11 WiFi 用于实现高速数据传输,传输率高达 24Mbps,是蓝牙 2.0 的 8 倍,轻松实现录像机至高清电视、PC 至 PMP、UMPC 至打印机之间的资料传输。
4.0+BLE20133Mbps with EDR ,1Mbps LE蓝牙 4.0 是迄今为止第一个蓝牙综合协议规范,将三种规格集成在一起。其中最重要的变化就是 BLE(Bluetooth Low Energy)低功耗功能,提出了低功耗蓝牙、传统蓝牙和高速蓝牙三种模式。
5.020172Mbit/s LE

有效传输距离是蓝牙 4.2 的四倍

(理论上可达 300 米)更低的功耗,低速率下保持几个uA,增加了信标、MASH组网、扩展广播、 室内定位等等新的技术。

        

当前的蓝牙技术主要分为BR/EDR(Basic Rate /Enhanced Data Rate)和低耗能(LE)两种技术类型。其中BR/EDR型是以点对点网络拓扑结构创建一对一设备通信;LE型则使用点对点(一对一)、广播(一对多)和网格(多对多)等多种网络拓扑结构。

        低功耗蓝牙不能向后兼容原有的蓝牙协议(经典蓝牙协议),所以它们之间是不能互通的。蓝牙4.0规范允许设备同时支持经典与低功耗蓝牙协议。

2、工作方式

广播模式、主从模式、主从一体模式、扫描模式、透传模式、AT指令模式

3、分类(蓝牙规范)

在介绍蓝牙协议之前,我们可以先复习一下TCP/IP5层网络模型和它所对应的网络协议集

可能不同应用的只需要关注在不同层次上的网络协议就可以满足日常工作使用了,像应用开发的程序猿,一般只关注应用层的协议,http,https等等;网络的程序猿可能只需要关注TCP协议、IP协议以及ARP协议等;WiFi的程序猿主要focus在802.11协议上。但蓝牙技术不同,它并不处于TCP/IP5层模型中的任何一层,而是覆盖了整个5层TCP/IP模型。有了这个概念之后,让我们来看看下图

        通常绝大部分的开发工作都是在Host端进行,Controller部分的工作大都是由专门的蓝牙芯片厂商来负责;Host和Controller分模块的最初设计理念是想让这两个模块单独运行在两颗不同的芯片甚至系统上,之间通过硬件通信端口(串口,USB)使用HCI协议进行连接和通信,这样可以方便替换和升级,例如对于不带蓝牙功能的电脑,我们可以买一个USB蓝牙接收器插到电脑上,就可以支持了蓝牙功能,这个场景下,HOST模块就是运行在电脑系统上,Controller模块就是运行在USB蓝牙接收器上。现在虽然有不少芯片把Host和Controller模块都放在了一颗芯片上,但是基本还是遵循这样的层次结构,只是将HCI协议从硬件通信端口换成了软件端口。
        从应用场景来说,蓝牙规范针对了我们日常生活中会碰到的非常多的场景分别定义了不同的场景规范(Profile)来支持这些场景下的需求

在图中我们可以看见:

传统蓝牙和低功耗蓝牙虽然都是蓝牙技术,但两种之间有非常大的差别,一个简单的区分就是看版本,版本低于4.0的都是经典蓝牙,高于4.0的才能支持低功耗蓝牙。在这里我们简单介绍一下两种蓝牙技术的概念

3.1传统蓝牙

        泛指支持蓝牙协议在4.0以下的模块,一般用于数据量比较大的传输,如:语音、音乐等较高数据量传输。 经典蓝牙模块可再细分为:传统蓝牙模块和高速蓝牙模块。传统蓝牙模块在2004年推出,主要代表是支持蓝牙2.1协议的模块,在智能手机爆发的时期得到广泛支持。高速蓝牙模块在2009年推出,速率提高到约24Mbps,是传统蓝牙模块的八倍,可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输。

3.1.1、协议架构

蓝牙协议规定了两个层次的协议,分别为蓝牙核心协议(Bluetooth Core)和蓝牙应用层协议(Bluetooth Application)

蓝牙核心协议
蓝牙应用层协议

3.1.1.1、物理层

        物理层负责提供数据传输的物理信道,蓝牙的物理层分为Physical Channel和Physical Links两个子层。一个通信系统中通常存在多种类型的物理信道,BR/EDRLE AMP 在物理层的实现就较大的差异。

相同点

不同点

分类频率信道备注
BR/EDR(经典蓝牙)分成79个channel,每一个channel占用1M的带宽5种物理信道(跳频信道)
LE(低功耗蓝牙)分成40个channel,每一个channel占用2M的带宽2种物理信道
AMP(高速数据传输)直接采用802.11(WIFI)的PHY规范一个AMP Physical Channel

3.1.1.2、逻辑层

        主要功能是在已连接(的蓝牙设备之间,基于物理链路,建立逻辑信道。所谓的逻辑信道,和城市道路上的车道类似:一条城市单行道路可以看做一个物理链路,该物理链路根据行车用途,可以划分为多个逻辑信道,如直行车道、右转车道、左转车道、快速车道、慢速车道等等。如图

AMP ACL基于AMP技术的、面前连接的、异步传输链路,为AMP-U提供服务
BR/EDR ACL基于BR/EDR技术的ACL链路,为ACL-C、ACL-U提供服务
SCO/eSCO基于BR/EDR技术的、面向连接的、同步传输链路,为stream类型的Logical Link提供服务
ASB、PSB基于BR/EDR技术的、面向连接的广播传输链路,为ACL-U、PSB-U、PSB-C提供服务
CSB基于BR/EDR技术的、无连接的广播链路,为PBD提供服务。
LE ACL基于LE技术的、面前连接的、异步传输链路,为LE-U、LE-C提供服务
ADVB基于LE技术的、广告/广播链路,为ADVB-U、ADVB-C提供服务
3.1.1.3、L2CAP

L2CAP是逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol)的缩写,负责管理逻辑层提供的逻辑链路。基于该协议,不同Application可共享同一个逻辑链路,类似TCP/IP中端口(port)的概念。通过L2CAP层可以将ACL数据分组交换为便于高层应用的数据分组格式,并提供协议复用和服务质量交换等功能。L2CAP提供多路复用角色,允许许多不同的应用程序共享ACL-U,ASB-U,LE-U或AMP-U逻辑链接。通过协议多路复用、分段重组操作和组概念,向高层提供面向连接的和无连接的数据服务,L2CAP还屏蔽了低层传输协议中的很多特性,使得高层协议应用开发人员可以不必了解基层协议而进行开发。

3.1.1.4、应用层

基于L2CAP提供的channel,实现各种各样的应用功能。。Profile是蓝牙协议的特有概念,为了实现不同平台下的不同设备的互联互通,蓝牙协议不止规定了核心规范(称作Bluetooth core),也为各种不同的应用场景,定义了各种Application规范,这些应用层规范称作蓝牙profile。更新一下图

 3.1.2、代码(待更新)

3.2低功耗蓝牙

        指支持蓝牙协议4.0或更高的模块,也称为BLE模块,最大的特点是成本和功耗的降低,应用于实时性要求比较高的产品中,比如:智能家居类(蓝牙锁、蓝牙灯)、传感设备的数据发送(血压计、温度传感器)、消费类电子(电子烟、遥控玩具)等。

3.2.1、协议架构

BLE的协议可分为Bluetooth ApplicationBluetooth Core两大部分,Bluetooth Core又包含BLE Controller和BLE Host两部分(在传统蓝牙的协议架构的时候讲过)。Bluetooth Application主要调用API实现上层功能,本质上来说不属于协议层,重点了解GAP、ATT、Link Layer,其它有个简单认识即可

PS:传统蓝牙和低功耗蓝牙区别

PS.1、Controler端

PS.2、Host端

PS.3、应用和功耗

3.3蓝牙Mesh(待更新)

参考资料

三张图带你入门蓝牙规范

Bluetooth 蓝牙介绍(一) :基础知识

 蓝牙

深入浅出讲解低功耗蓝牙(BLE)协议栈

举报

相关推荐

0 条评论