蓝牙基础知识(二)

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

前言

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


蓝牙架构

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控制器,蓝牙核心系统提供一种机制,让数据流从主控制器迁移到次控制器上。

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





相关文章
|
Linux C语言
Linux内核队列queue.h
Linux内核队列queue.h
|
存储 安全 Go
Golang 语言微服务的服务注册与发现组件 Consul
Golang 语言微服务的服务注册与发现组件 Consul
216 0
|
5月前
|
安全 Ubuntu Linux
硬盘格式化用什么工具好?这6个工具值得了解一下
本文介绍了硬盘格式化的重要性及注意事项,并推荐了几款主流平台下的实用格式化工具,包括Windows磁盘管理器、文件资源管理器、DiskGenius、Diskpart命令行、Mac Disk Utility以及Linux的GParted,帮助用户安全高效地完成格式化操作。
|
芯片
如何根据设备文档和开发板标识来确定 GPIO 引脚的编号
要确定GPIO引脚编号,首先查阅设备的官方文档,了解引脚布局和功能。接着,查看开发板上的标识,如数字或字母标记,对照文档确认具体编号。此过程确保正确连接硬件,避免损坏设备。
|
存储 Prometheus 监控
性能监控之初识 Prometheus
【8月更文挑战第2天】性能监控之初识 Prometheus
2021 17
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【9月更文挑战第10天】神经网络是开启人工智能大门的钥匙,不仅是一种技术,更是模仿人脑思考的奇迹。本文从基础概念入手,通过Python和TensorFlow搭建手写数字识别的神经网络,逐步解析数据加载、模型定义、训练及评估的全过程。随着学习深入,我们将探索深度神经网络、卷积神经网络等高级话题,并掌握优化模型性能的方法。通过不断实践,你将能构建自己的AI系统,解锁机器学习的无限潜能。
277 0
|
安全 物联网
BLE基础知识(一)
前面通过《蓝牙基础知识(一)》和《蓝牙基础知识(二)》两篇,我们了解了一些蓝牙的基本概念。之前说过蓝牙分为BR/EDR和BLE,接下来,我们先来看看BLE的内容。
|
网络协议 安全 物联网
蓝牙基础知识(一)
最近刚好一直在研究蓝牙相关的内容,所以想来和大家一起分享。首先我们依然以基础概念开始,因为一头扎进代码,只会让你不知所措!
|
小程序 API
uniapp 蓝牙小程序
uniapp 蓝牙小程序
640 0