首页 > 其他分享 >蓝牙基础知识01

蓝牙基础知识01

时间:2024-08-28 15:48:37浏览次数:9  
标签:协议 01 蓝牙 Host 基础知识 信道 BLE 设备

 1、蓝牙

  一种利用低功率无线电,支持设备短距离通信的无线电技术,它工作在全球通用的2.4GHz ISM(Industrial(工业),Scientific(科学), Medical(医学)) 频段,使用IEEE802.11协议。为了对抗工作在2.4GHz频段的WIFI、ZigBee等设备干扰,蓝牙设备采用调频机制。

 

2、蓝牙协议(两种协议,二者不互通,一般需要厂商支持二者协议,统称双模)

  ①、BR:basic rate

    BR是经典蓝牙,包括可选的EDR技术、交替射频的MAC层和PHY层扩展(简称AMP);

    其中BR与EDR可以同时存在,但是BR/ERP和AMP仅可二选一。

  ②、LE:low energy

    低功耗蓝牙LE与经典蓝牙BR虽然使用2.4GHz无线电频率技术,但是技术相差很大,

    BLE主要使用在IOT产品领域

  ③、BLE的协议层架构

  • 物理层(Physical layer, PHY): 物理层规定工作频段,40个RF Channel,其中3个广播信道,37个数据信道,GFSK调制方式,接收机灵敏,发射功率等。通信双工模式,TDD模式。物理层性能对硬件设备起决定性作用,特别是功耗,误码率,差分误差向量等。

    BLE工作在ISM频段的2400-24835MHz,占用40个射频信道,信道间隔2MHz,中心频率为2402+k*2  MHz。k=0,1,…,39。其中包括3个广播信道(37,38,39)和37个数据信道(如下图)。

 

  • 链路层(link layer, LL):链路层是BLE协议栈的核心。工作包括自适应跳频地图,频点的选择。数据发送slot,以及接收数据确认。但并不负责数据的解析工作。解析工作由上层负责。下图是链路层抽象出的5种状态:

  • 接口层(Host Controller Interface, HCI):HCI用于规范Host与Hostcontroller之间的通信协议和通信命令。HCI层屏蔽了控制层,为协议层的上层提供了进入基带的统一方式。HCI通过包的方式来传送数据、命令和事件,所有在主机和主机控制器之间的通信都以包的形式进行。包括每个命令的返回参数都通过特定的事件包来传输。HCI有数据、命令和事件三种包,其中数据包是双向的,命令包只能从Host发往Host controller,而事件包始终是Host controller发向Host。
  • 通用访问协议(Generic access profile,GAP):负责处理设备访问模式,包括:被发现、建立连接、终止连接、初始化安全管理和设备配置

 

GAP层可以扮演四种角色之一:

    Broadcaster 广播者----不可以连接,一直发送广播

    Observer 观察者----可以扫描广播,但是不能发起建立连接的设备

    Peripheral 外设----可以被连接,在单个链路层连接中作为Server

    Central 中央设备----可以扫描广播并发起连接,在单个或多个链路层中作为Client

 

  • 逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol, L2CAP): 该层定义两个基本概念L2CAP 信道和L2CAP 信令,L2CAP信道是一个双向数据通道,通向对端设备上的某一特定的协议或规范。支持数据的分割和重组,使得较大的报文可以在底层无线电中进行传输
  •  安全管理层(Security Manager,SM):定义BLE通信两端设备的配对方法和密钥分发的工作模式,提供了加密、认证等安全保障。对数据进行加密,BLE使用AES加密算法,通过复杂的认证过程,保证该加密算法的密钥能够被安全的传递到通信链路两端的设备中
  •  属性协议层(Attribute protocol,ATT):在ATT层协议框架内,拥有一组属性的设备称为服务端(Server),读写该属性值的设备称为客户端(Client),Server和Client通过ATT PDU进行交互。
  • 通用属性配置文件层(Generic Attribute profile, GATT):GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。BLE 连接都是建立在 GATT (Generic Attribute Profile)协议之上。

 

 

 

 

 3、蓝牙架构

  1.1 、 SOC蓝牙单芯片方案

    半导体厂商半开源协议栈,把开发的蓝牙协议栈直接烧写到蓝牙芯片中(CSRBC4/5, CSR8675 ,TI CC2540, NRF51xxx, NRF52xxx, ESP32xx等),此类芯片一般作为MCU使用,用于消费类电子,集成度高,可直接调整参数使用。

  1.2、SOC蓝牙+MCU方案

    在集成好蓝牙芯片的基础上,通过特定的接口(UART居多),发送自定义的command来实现功能。比如市面上的蓝牙串口模块。

  1.3、蓝牙host+controller分开方案

    这种方案应用在蓝牙多场景,多蓝牙协议设计中,比如蓝牙电话(HFP)、蓝牙音频(A2DP)、蓝牙音乐控制(AVRCP)、蓝牙电话本(PBAP)、蓝牙短信(MAP)等。

  

标签:协议,01,蓝牙,Host,基础知识,信道,BLE,设备
From: https://www.cnblogs.com/zblblog/p/18384024

相关文章

  • day13: 第六章 二叉树part01 |二叉树的前序遍历,后序遍历,中序遍历,(递归。层序(广度)跟
    二叉树递归三部曲:1.确定递归函数的参数和返回值。2.确定终止条件3.确定单层递归的逻辑144.二叉树的前序遍历:中左右,递归:classSolution{publicList<Integer>preorderTraversal(TreeNoderoot){List<Integer>res=newArrayList<Integer>();p......
  • 代码随想录算法训练营第一天 | 数组part01:数组理论基础,704. 二分查找,27. 移除元素 97
    数组理论基础数组是存放在连续内存空间上的相同类型数据的集合数组徐璈注意的是:数组的下标都是从0开始的数组内存空间是的地址是连续的正因为舒适的内存空间是连续的,所以在删除和增添元素的时候,需要移动其他元素的地址。在c++中,vector的底层实现是array,严格来说,vector是容......
  • MT5016A-ASEMI无人机专用整流桥MT5016A
    编辑:llMT5016A-ASEMI无人机专用整流桥MT5016A型号:MT5016A品牌:ASEMI封装:D-63批号:2024+分类:整流桥特性:整流方桥、整流桥平均正向整流电流(Id):50A最大反向击穿电压(VRM):1600V恢复时间:>2000ns结温:-55℃~150℃正向峰值电压:1.05V~1.25V引脚数量:5芯片个数:6芯片尺寸:MILMT5016A......
  • 实景三维数字沙盘技术标准【TB0822/T 0013—2023】
    1范围本文件立足当前技术的发展现状,描述了实景三维数字沙盘的定义、沙盘内容、沙盘功能、沙盘成果等技术参数要求,为数字沙盘的建设提供参考依据。适用于城乡规划、工程建设、指挥救援、环境应急、预案演练(消防、公安、武警)、安全生产、园区管理等领域。 2定义实景三维......
  • P4069 [SDOI2016] 游戏
    思路首先,我们可以将一条要标记的路线\((s,t)\)分成\((s,lca)\)和\((lca,t)\)两个部分,这两个部分分别对应一种\(y=kx+b\)。代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;usingi64=longlong;constintN=100010;consti64......
  • 基于stm32f103c8t6的智能蓝牙遥控小车(有代码)
    智能小车对于初学者而言还是有点挑战性的,由于本人一直以来都在专注于学业绩点,很少有时间来学习stm32,但这学期开始课慢慢的变少,所以又开始学习32顺便做一些小项目,本文将以stm32为核心制作蓝牙遥控小车。之后我也会继续发一些其他的小项目资料和经验总结。所需材料:12v的电源3......
  • 基恩士SR-X80系列扫码枪EIP通讯 ( 汇川AM401<->基恩士SR-X80 )
    第一步:扫码枪设置1,基恩士扫码枪IP地址设置 2,扫码枪EIP设置第二步:PLC设置及编程1,EDS文件导入  2,EIP配置 3,程序VARx触发读码:BOOL;接收数据长度:UINT;接收数据:ARRAY[0..127]OFBYTE;str接收数据:STRING;TRIG0:R_TR......
  • Python画笔案例-017 绘制画H图
    1、绘制画H图通过python的turtle库绘制一个画H图的图案,如下图:2、实现代码 绘制一个画H图图案,以下实现的代码直接按移动,左转,右转的方式实现,大家可以尝试把本程序改成递归图,要点为在下面的dot命令修改。相信你一定能完成。:"""画H图.py"""importturtle......
  • 字符串基础知识
    定义字符串对于一个字符串\(S\),\(S\)由\(n\)个字符组成,其中\(n\)是\(S\)的长度,表示为\(|S|\)。子串从一个字符串\(S\)中取出连续的一段\(T\),则\(T\)为\(S\)的子串。子序列从一个字符串\(S\)中顺序取出一些字符,组成的新的字符串就是\(S\)的子序列。前缀......
  • P4655 [CEOI2017] Building Bridges
    题意思路设\(sum_i=\sum\limits_{j=1}^iw_j\)。可以得到转移方程\(f_i=f_j+(h_i-h_j)^2+sum_i-sum_j\)。转化为\(y=kx+b\)的形式:\(f_i=f_j+(h_i-h_j)^2+sum_i-sum_j=f_j+h_i^2+h_j^2-2h_ih_j+sum_i-sum_j=(-2h_ih_j)+......