蓝牙基础知识(二)

简介: 接着上一篇《蓝牙基础知识(一)》,我们继续看看蓝牙的更多的内容。

前言

接着上一篇《蓝牙基础知识(一)》,我们继续看看蓝牙的更多的内容。


蓝牙架构

20210506105729249.png上图有三个部分:Host,HCI和Controller。

  • Host: 简单理解就是主控。
  • HCI:Host Controller Interface, 主机控制器接口,用于Host和Controller之间通信的接口,比如Uart,USB等。
  • Controller: 简单理解就是蓝牙芯片。 举个简单的例子来理解:

现在很多Android设备,就是外挂一个蓝牙芯片,比如RK3288+AP6210。RK3288就是Host,AP6210就是Controller,它们之间通过Uart进行通信。


当然,目前有很多蓝牙芯片是一体的,就是Host和Controller在一颗芯片上的,比如CC2540。这个时候Host和Controller之间直接通过API来交互。


蓝牙地址

蓝牙设备之间要相互连接肯定是要通过地址的嘛。根据蓝牙协议,地址主要有两种类型:公共地址和随机地址。

20210506105859708.png

公开地址

蓝牙公共地址是必须在IEEE中注册的全局固定地址。它遵循与MAC地址相同的准则,并且应为48位扩展的唯一标识符。此地址永不更改,并保证对于蓝牙设备唯一。

2021050610593953.png

Company ID:由IEEE公开分配的地址部分

Company Assigned:内部分配的ID。


随机地址

随机地址更方便,因为它们不需要向IEEE注册。随机地址是已编程到设备中或在运行时生成的标识符。随机又分静态地址和私有地址。私有地址又分为可解析地址和不可解析地址。

我们看看静态地址的格式:

20210506110046635.png

最后两位固定为1,剩余的46位由开发人员/制造商随机选择

更多随机地址相关内容可以参考蓝牙协议Vol 6, Part B


AMP控制器

从最上面的架构图中,我们看到一个AMP Controller 的东西。这个玩意是干什么用的呢?


AMP控制器也叫次控制器(Secondary Controllers), 当两个BR/EDR蓝牙设备连接建立后,AMP管理器能检测到另外一个设备的AMP管理器。当两个蓝牙设备都有AMP控制器,蓝牙核心系统提供一种机制,让数据流从主控制器迁移到次控制器上。

说简单点就是个打辅助的,这样就可以将主控制器释放出来。我们平时手机为什么能边用蓝牙听歌,还能边搜索其他蓝牙设备,跟这就有关系。





相关文章
|
安全 物联网
BLE基础知识(一)
前面通过《蓝牙基础知识(一)》和《蓝牙基础知识(二)》两篇,我们了解了一些蓝牙的基本概念。之前说过蓝牙分为BR/EDR和BLE,接下来,我们先来看看BLE的内容。
|
网络协议 安全 物联网
蓝牙基础知识(一)
最近刚好一直在研究蓝牙相关的内容,所以想来和大家一起分享。首先我们依然以基础概念开始,因为一头扎进代码,只会让你不知所措!
|
物联网
BLE基础知识(三)
经过前面两篇《BLE基础知识(一)》《BLE基础知识(二)》之后,我们对BLE有了基本的了解。我们平时用到比较多的GATT了。接着上篇来继续看看!!
|
存储 物联网 数据格式
BLE基础知识(二)
上一篇《BLE基础知识(一)》聊到GAP,接下来继续来聊聊ATT, GATT等内容,这些在BLE中应用还是比较多的。
|
物联网
低功耗蓝牙(BLE)设备常用的4种角色
对于主从设备的其它说法,大家需要了解一下。对于Central和Peripheral有多种说法,上面我们说的是主从,还有客户端/服务端,中心设备/外围设备,我们这里简单介绍一下,客户端(Client)对应上面的Central,接收数据;服务端(Server)对应上面的额Peripheral,提供数据,这个需要和网站的服务器/客户端区别一下;中心设备(Central)和外围设备(Peripheral),其实上面叫中心设备和外围设备。上面主设备(Master)和从设备(Slave)应该对应主/从。这个根据个人习惯,主/从用的比较多,如果在蓝牙中提到这些知道就行了。
1842 0
|
安全 网络协议 物联网
BLE协议学习总结
最近因工作需要,投入到BLE项目中,故而花了不少时间翻看标准,钻研原理,以求知其所以然。结合平头哥BLE产品,实践验证理论,还是有了不少心得。一直想记录下来,奈何一直忙(给自己找了个理由),哈哈,今天终于下笔,来个小结。当然,如有不准确之处,还望各位同学批评指正。
BLE协议学习总结
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
9369 5
一文带你认识蓝牙 GATT 协议
|
测试技术
Aurora8B10B IP使用 -05- 收发测试应用示例
Aurora8B10B IP使用 -05- 收发测试应用示例
1149 0
Aurora8B10B IP使用 -05- 收发测试应用示例
|
JSON Java 数据格式
Gson之序列化指定忽略字段的三种写法
在我们日常使用json序列化框架过程中,经常会遇到在输出json字符串时,忽略某些字段,那么在Gson框架中,要想实现这种方式,可以怎么处理呢? 本文介绍几种常见的姿势
1805 0

热门文章

最新文章

下一篇
开通oss服务