【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙技术特点

news2025/2/26 5:03:59

目录

1. 蓝牙技术特点

2. 经典蓝牙与BLE蓝牙对比

2.1 BT/BLE技术区分

2.2 支持的profile不同 

2.3 核心架构,不同的controler 

3. Bluetooth的系统构成

 4. 蓝牙协议规范

4.1 传输协议

4.2 中介协议

4.3 应用协议

5. 蓝牙硬件接口


1. 蓝牙技术特点

        简单地说,蓝牙是一种短程宽带无线电技术,是实现语音和数据无线传输的全球开放性标准。它使用跳频扩谱(FHSS)、时分多址(TDMA)、码分多址(CDMA)等先进技术,在小范围内建立多种通信与信息系统之间的信息传输。

1、Bluetooth的主要技术特点:

(1)工作频段 :2.4GHz的工科医(ISM)频段,无需申请许可证。大多数国家使用79个频点,载频为(2402+k)MHz(k=0,1, 2…78),载频间隔1MHz。采用TDD时分双工方式。 
(2)传输速率:1Mb/s(V2.0以上版本) 
(3)调试方式:BT=0.5的GFSK调制,调制指数为0.28-0.35。 
(4)采用跳频技术:跳频速率为1600跳/秒,在建链时(包括寻呼和查询)提高为3200跳/秒。蓝牙通过快跳频和短分组技术减少同频干扰,保证传输的可靠性。 
(5)语音调制方式:连续可变斜率增量调制(CVSD,ContinuousVariable Slope Delta Modulation),抗衰落性强,即使误码率达到4%,话音质量也可接受。 
(6)支持电路交换和分组交换业务:蓝牙支持实时的同步定向联接(SCO链路)和非实时的异步不定向联接(ACL链路),前者主要传送语音等实时性强的信息,后者以数据包为主。语音和数据可以单独或同时传输。蓝牙支持一个异步数据通道,或三个并发的同步话音通道,或同时传送异步数据和同步话音的通道。每个话音通道支持64kbps的同步话音;异步通道支持723.2/57.6kbps的非对称双工通信或433.9kbps的对称全双工通信。 
(7)、支持点对点及点对多点通信:蓝牙设备按特定方式可组成两种网络:微微网(Piconet)和分布式网络(Scatternet),其中微微网的建立由两台设备的连接开始,最多可由八台设备组成。在一个微微网中,只有一台为主设备(Master),其它均为从设备(Slave),不同的主从设备对可以采用不同的链接方式,在一次通信中,链接方式也可以任意改变。几个相互独立的微微网以特定方式链接在一起便构成了分布式网络。所有的蓝牙设备都是对等的,所以在蓝牙中没有基站的概念。 
(8)、工作距离:蓝牙设备分为三个功率等级,分别是:100mW(20dBm)、2.5mW(4dBm)和1mW(0dBm),相应的有效工作范围为:100米、10米和1米。

2. 经典蓝牙与BLE蓝牙对比

2.1 BT/BLE技术区分

(1) 介绍:
        BR(Basic Rate):蓝牙诞生之初,使用的是BR技术,此时蓝牙的理论传输速率,只能达到721.2Kbps。
        EDR(Enhanced Data Rate):理论速率可以达到2.1Mbps
        AMP(Alternate MAC and PHY layer extension):速率为54Mb/s
        AMP (Alternate MAC and PHY layer extension): The rate of 54Mb/s
        LE(Low Energy):用于非常低功耗的操作,并针对数据传输解决方案进行了优化。
(2) BR/EDR用于传统蓝牙,LE用于低功耗蓝牙,AMP用于高速蓝牙。
(3) BR/EDR 蓝牙设计用于音频连接和流应用(如无线音频)。LE低功率蓝牙技术非常适合用于定期传输少量数据的应用,这些应用看重的是超低的功率消耗。

2.2 支持的profile不同 

(1)BT四种基本的profile,其它的profile都会用到这些profile
        GAP(Generic Access Profile):互相发现对方并建立连接
        SDP(Service Discovery Application Profile):用来发现支持哪些服务
        SPP(Serial Port Profile):建立虚拟串口连接
        GOEP(Generic Object Exchange Profile):通用对象交换,如图片,文档,名片等

        其它的profile,如A2DP音频传输协议、AVRCP音频/视频远程控制协议、HFP控制电话接听挂断拒绝等等
(2)BLE的profil BLE’s profil
        GAP Generic Access Profile:互相发现对方并建立连接
        GATT:通用属性协议,建立在ATT协议之上

————GATTprofile是一个通用规范用于在BLE链路发送和接收被称为“属性(attributes)”的数据片。目前所有的低功耗应用 profile都是基于GATT。
        蓝牙SIG定义了许多profile用于低功耗设备。Profile(配置文件)是一个规范,规范了设备如何工作在一个特定的应用场景。
        注意:一个设备可以实现多个profile。例如,一个设备可以包含一个心脏监测仪和电池电平检测器。

2.3 核心架构,不同的controler 

(1) 蓝牙核心系统由主机(host)和一个或多个控制器(controler)组成由。它们的接口就是HCI(host controler interface)连接主机和控制器
(2) 不同的蓝牙技术有不同的控制器
(3) 还可以合并BR/EDR Controller 和LE Controller到一个Controller,也就是我们常说的双模蓝牙。

注:1)无线射频单元(Radio):负责数据和语音的发送和接收,特点是短距离、低功耗。蓝牙天线一般体积小、重量轻,属于微带天线。
2)基带或链路控制单元(LinkController):进行射频信号与数字或语音信号的相互转化,实现基带协议和其它的底层连接规程。
3)链路管理单元(LinkManager):负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作。

3. Bluetooth的系统构成

1、无线射频单元(Radio):

负责数据和语音的发送和接收,特点是短距离、低功耗。蓝牙天线一般体积小、重量轻,属于微带天线。

2、基带或链路控制单元(LinkController):

进行射频信号与数字或语音信号的相互转化,实现基带协议和其它的底层连接规程。

3、链路管理单元(LinkManager):

负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作。

4、蓝牙软件协议实现:

如上图紫色部分,这个后面我们做详细说明。 

 4. 蓝牙协议规范

传输协议、中介协议、应用协议;

4.1 传输协议

负责蓝牙设备间,互相确认对方的位置,以及建立和管理蓝牙设备间的物理链路;

  • 底层传输协议:蓝牙射频(Radio)部分、基带链路管理控制器(Baseband&Link Controller)、链路管理协议(Link ManagerProtocol LMP)。负责语言、数据无线传输的物理实现以及蓝牙设备间的联网组网。

  • 高层传输协议:逻辑链路控制与适配器(LogicalLink Control and Adaptation Protocol)L2CAP 、主机控制接口(HostControl Interface,HCI)。为高层应用屏蔽了跳频序列选择等底层传输操作,为高层程序提供有效、有利于实现数据分组格式。

4.2 中介协议

为高层应用协议或者程序,在蓝牙逻辑链路上工作提供必要的支持,为应用提供不同标准接口。

  • 串口仿真协议:RFCOMM、服务发现协议:SDP、互操作协议IrDA、网络访问协议:PPP、IP、TCP、UDP、电话控制协议:TCS、AT指令集。

4.3 应用协议

蓝牙协议栈之上的应用软件和所涉及到的协议,如:拨号上网、语言功能的应用程序。

蓝牙的应用框架如下:

  1. 通用应用类框架:查询、建立连接服务等;
  2. 蓝牙电话应用类框架:电话控制、语言;
  3. 蓝牙连网应用类框架:网络应用相关;
  4. 对象交互服务类框架:IrDA、OBEX;
  5. 蓝牙音视频控制类框架。

5. 蓝牙硬件接口

        一般蓝牙芯片通过UART、USB、SDIO、I2S、PcCard和主控芯片通信。如下图所示,通过UART和主控芯片通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1504875.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文笔记:Compact Multi-Party Confidential Transactions

https://link.springer.com/chapter/10.1007/978-3-030-65411-5_21 A compact, private, Multi-Party Confidential Transactions (MCT) 紧凑型多方机密交易(Compact MCT):MCT的长度与常规的单一所有者交易一样短;换句话说&…

【STM32+HAL】GY25倾斜度角度模块

一、前言 有关MPU6050模块读取六轴传感器数值的详细内容,详见【STM32HAL】姿态传感器陀螺仪MPU6050模块 二、所用工具 1、芯片:STM32F103C8T6 2、配置软件:CUBEMX 3、编译器:KEIL5 4、产品型号:GY-25 5、使用芯片…

【SpringMVC】RESTFul风格设计和实战 第三期

文章目录 概述一、 RESTFul风格简介二、 RESTFul风格特点三、 RESTFul风格设计规范3.1 HTTP协议请求方式要求3.2 URL路径风格要求 实战一、需求分析二、RESTFul风格接口设计三、后台接口实现总结模糊查询 有范围 返回多数据用户 添加 与 更新 请求参数接收数据显示用户详情/删除…

配电网数字化转型全面推进:《关于新形势下配电网高质量发展的指导意见》

近日,国家发展改革委、国家能源局印发了《关于新形势下配电网高质量发展的指导意见》(以下简称《意见》),到2030年,基本完成配电网柔性化、智能化、数字化转型,实现主配微网多级协同、海量资源聚合互动、多…

Unity3d C#实现文件(json、txt、xml等)加密、解密和加载(信息脱敏)功能实现(含源码工程)

前言 在Unity3d工程中经常有需要将一些文件放到本地项目中,诸如json、txt、csv和xml等文件需要放到StreamingAssets和Resources文件夹目录下,在程序发布后这些文件基本是对用户可见的状态,造成信息泄露,甚至有不法分子会利用这些…

【Node.js】-闲聊:前端框架发展史

前端框架的发展史是一个不断演进和创新的过程,旨在提高开发效率、优化用户体验,并推动前端技术的不断发展。以下是前端框架发展的主要阶段和关键里程碑: 早期阶段: 在这个阶段,前端主要由HTML、CSS和JavaScript等基础技…

机器学习周报第32周

目录 摘要Abstract一、文献阅读1.论文标题2.论文摘要3.论文背景4.论文方案4.1 多视角自注意力网络4.2 距离感知4.3 方向信息4.4 短语模式 二、self-attention 摘要 本周学习了多视角自注意力网络,在统一的框架下联合学习输入句子的不同语言学方面。具体来说&#x…

HTML5:七天学会基础动画网页10

继续介绍3D转换: 3D转换:rotate3d 方法与说明 rrotateX(angle)otate3d(x,y,z,angle[角度]) 3D转换,正常取值0/1,0代表当前轴线不进行旋转,1反之,例:rotate3d(1,1,1,30deg),代表三个轴线都要旋转30度 rotate3d(0…

时间序列-AR MA ARIMA

一、AR模型(自回归) AR探索趋势和周期性 预测依赖于过去的观测值和模型中的参数。模型的阶数 p pp 决定了需要考虑多少个过去时间点的观测值。 求AR模型的阶数 p和参数 ϕ i \phi_i ϕi​ ,常常会使用统计方法如最小二乘法、信息准则(如AIC、BIC&#xf…

【脚本玩漆黑的魅影】全自动丢球

文章目录 原理全部代码 原理 启动后截图。 丢球以后再截图。 如果两图一致,说明没成功,读档重来。 如果两图不一致,说明成功了。 while True:press(A)time.sleep(2)if is_same_img(ImageGrab.grab(), data_img):press(save2)else:break全部…

Linux系统——web服务拓展练习

目录 一、实验环境搭建 1. Centos 7-5——Client 2. Centos 7-1——网关服务器 3. Centos 7-2——Web1 4. Centos 7-3——Web2 5. Centos 7-4——Nginx 二、在Nginx服务器上搭建LNMP服务,并且能够对外提供Discuz论坛服务;在Web1、Web2服务器上搭建…

深度学习图像算法工程师--面试准备(2)

深度学习面试准备 深度学习图像算法工程师–面试准备(1) 深度学习图像算法工程师–面试准备(2) 文章目录 深度学习面试准备前言一、Batch Normalization(批归一化)1.1 具体步骤1.2 BN一般用在网络的哪个部分 二、Layer Normaliza…

基于 EfficientNetV2 实现判别MNIST 手写模型分类

pytorch深度学习项目实战100例 的学习记录 我的环境: 白票大王: google colab 用其他的话,其实实现也行,但是让小白来重环境来开始安装的话,浪费时间 论文速读 EfficientNetV2是由 Google Research,Br…

C语言笔记:文件的操作各种文件函数讲解

突然发现自己的C语言文件部分还没有学,赶紧来补一下~~ 1.文件分类 文本文件磁盘文件(二进制文件)C语言特殊文件标识:stdin(标准输入:通指键盘输入),stdout(标准输出&am…

了解 HTTPS 中间人攻击:保护你的网络安全

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C语言指针从入门到基础详解(非常详细)

1.内存和地址 我们知道电脑中的CPU在处理数据的时候需要在内存中读取数据处理后的数据也会放在内存中。把内存划分为一个个的内存单元每个单元的大小是一个字节。每个字节都有它对应的编号也就是它的地址,以便CPU可以快速的找到一个内存空间。C语言中我们把地址叫做…

深入浅出计算机网络 day.1 概论① 信息时代的计算机网络

我想, 我不会暗下来的, 生命是周而复始的橙黄橘绿时 —— 24.3.9 内容概述 计算机网络的各类应用 计算机网络带来的负面问题 我国互联网发展情况 一、计算机网络的各类应用 1.信息浏览和发布 2.通信和交流 3.休闲和娱乐 4.资源共享…

Canal安装使用

一 Canal介绍 canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。 背景 早期,阿里巴巴B2B公司因为存在杭州和美国…

MyBatis3源码深度解析(七)JDBC单连接事务

文章目录 前言2.7 JDBC单连接事务2.7.1 事务的开启与提交2.7.2 事务隔离级别2.7.2.1 并发访问问题(1)脏读(2)不可重复读(3)幻读 2.7.2.2 事务隔离级别(1)TRANSACTION_NONE&#xff1…

JVM内存问题排错最佳实践

写在文章开头 上一篇的文章中分享了一个入门级别的调优实践,收到很多读者的好评,所以笔者今天再次分享一个进阶一点的案例,希望对近期在面试的读者对于JVM这一块的实践经验有所帮助。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,…