前言:
之前查看过蓝牙协议分析_基本概念对蓝牙有了一个整体的概念,最近闲暇无事稍稍看了下蓝牙协议规范,对蓝牙相关的概率有了一定的了解。接下来的文章都是对自己的学习内容的整理,由于自己的水平有限,错误也在所难免,欢迎指正错误,共同学习、共同进步!
蓝牙的扩朴结构:
1.蓝牙组网模式
蓝牙组网是有可能交叉的,也就是说一个蓝牙网络中的master有可能在别的网络中它只是一个slave,反之一个蓝牙网络中的slave他有可能在另外一个蓝牙网络中扮演master的角色。当然一个piconet中的slave也是有可能在另外一个蓝牙网络中仍然是slave,但是一个蓝牙网络中的master是不可能在另外一个蓝牙网络中扮演master的。
2.经典蓝牙扩朴结构(Bluetooth BR/EDR topology)
3.低功耗蓝牙扩朴结构(Bluetooth LE topology)
2. adapted piconet channel:
1和2 这两种channel是两个已经连接设备之间通信使用的,是和特定的微微网联系在一起的。
3. inquiry scan channel:搜索周边的设备通道
4. the page scan channel:连接蓝牙设备通道
5. synchronization scan physical channel:获取或者恢复微微网时间和时钟信息通道。
蓝牙信道和物理通道:
蓝牙系统结构图:
1.单个蓝牙设备系统结构图
上图可以看出蓝牙设备总体上可以划分为3层,上层为host端应用协议层,上层直接面对用户数据。即为我们通常所说的Bluedroid,BlueZ协议栈。中间层为hci接口层,主机通过hci接口将上层的应用数据,发送给底层的蓝牙控制器。第三层为蓝牙通信控制器,Baseband Controller进行射频信号与数字或语音信号的相互转化,实现基带协议和其它的底层连接。Link Controller负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作。
2.蓝牙设备通信数据传输框图
上图说明了蓝牙设备之间的数据传输通路。Host和Bluetooth controller之间通过HCI接口交换数据。host通过HCI驱动将数据/命令发送给Blutooth controller,Bluetooth controller通过hci驱动将事件发送给host。Host收到蓝牙控制器事件后,将会解析事件并进行相关的处理。
3.蓝牙协议层框图
服务发现协议:SDP
互操作协议:IrDA
网络访问协议:PPP、IP、TCP、UDP
电话控制协议:TCS、AT指令集