蓝牙原理(二):协议栈之形象化理解

蓝牙原理(二):协议栈之形象化理解

1.医院的结构

蓝牙原理(二):协议栈之形象化理解
情景一:大城市医院

假设中间的框图为大城市的医院结构,大城市医院医生充足,设备先进。

当病人来看病是,首先进入大堂,挂号,确定科室,假如进入近视科;

医生发现并不是简单的近视,需要抽血化验,进入检验室

检验室抽血化验得到各种参数,但并不知道参数含义,需写成报告,发回医生;

医生看到化验单得知近视原因。

总结为下图:简而言之,医生提供服务,检验室提供属性。
蓝牙原理(二):协议栈之形象化理解
情景二:山区医院
假设左图为山区医院,只有张三一个医生,需要治疗各种疾病,他需要借助同行的力量,为他提供指导和服务。

例子如下图:
蓝牙原理(二):协议栈之形象化理解
假设病人复诊,张三医生需知道病人是否变好,但他不知道看那个参数,他请教眼科中心王医生的指导,得知要看血红蛋白这个参数;

病人在检验室抽血,但检验室没有相应的检测设备,需要将其送至眼科中心检验;因此经过收发室、快递公司、快递员送到眼科中心的检验室;

眼科中心检验室检测,得出报告,又经过收发室、快递公司、快递员送达山区医院的检验室;

山区医院检验室将报告交给医生,医生查看血红蛋白参数进行诊断。

总结:病人通过各个层获得了什么?

大堂:挂号,确定科室

张三医生:获得诊疗服务

检验室:获得检测单,检测单称之为属性

收发室:运送样品(公务),医生的感谢卡(私务)

快递公司:贴快递单

快递员:运输

蓝牙原理(二):协议栈之形象化理解

2.协议栈形象化理解

协议层 功能 类比医院 功能
GAP:通用访问规范 发现设备和连接设备 大堂 按指定流程挂号,确定科室
GATT:通用属性规范 提供服务,服务的类别及由哪些属性构成 医务室 提供服务
ATT:属性协议 提供属性,GATT将这些属性组合起来构成服务 检验室 提供检查结果,由医生综合判断进而确诊
L2CAP:逻辑链路控制及自适应协议 收发各方(channel)数据 收发室 收发包裹
HCI:主机控制接口层 主机与控制器的接口(串口、USB等);分段、合并(数据量很大时)
LL:链路层 确定是广播包还是数据包,加上地址(多个设备) 快递公司 贴快递单
PHY:物理层 无线收发器,运输,调频 快递员 运输,此路不同换一条

假如有一个手机和智能手环,手环可监测心率和电量监测;
ATT层:
则手环中的 ATT 是服务器,手机中的 ATT 是客户端;
手环中ATT定义了属性,定义了数据格式(心率、电量、特性声明、主服务声明等数据);手机中ATT定义了方法,定义了怎么去获取属性、读写属性;
ATT中定义了请求、响应、命令、通知、指示、确认等机制;

GATT层:
GATT将ATT中的属性进行组合构成服务(心率监测服务、电量监测服务等)
手机 GATT 层中定义了如何发现服务,读写服务中的特性(比如如何获取心率值)
手环 GATT 层定义了如何主动通知手机,某个值发生了变化
GATT层定义服务,实现服务,提供访问服务的方法
GATT严重依赖ATT,它只是在属性的基础上综合,提供一种服务

L2CAP
手机要读取某个属性,他需要ATT这一层发出一个请求,这个请求数据就经过 L2CAP(收发室)传递至手环端的 ATT;
同时,L2CAP使用channel标记数据来源,APP、ATT以及L2CAP的数据等,根据channel信息决定数据发到不同的层

LL
决定将数据发送至某个设备
重要概念:访问地址

PHY
蓝牙频率:2.4GHz左右(自然界中没有准确的东西)
将2.4GHz频段划分为40个信道
37,38,39为广播信道
0——36为数据信道