低功耗蓝牙开发学习笔记
-低功耗蓝牙的体系结构-
三个基本部分:
控制器:通常是一个物理设备,发送和接收无线电信号,并翻译成携带信息的数据包。
主机:一个软件栈,管理多台设备间的通信以及提供不同服务。
应用:使用软件栈,进而使是控制器实现用户实例。
1.控制器
蓝牙控制器包含数字和模拟部分射频器件和负责收发数据包的硬件组成。控制器与外界通过天线相连,与主机通过主机控制接口(HCI)相连。
1.1物理层
无线电波在给定的某个频段内通过改变幅度、频率或相位携带信息。低功耗蓝牙通过GFSK调制来传输0或1的信息。
1.2直接测试模式
直接测试模式允许测试者然该控制器的物理层发送一系列测试数据包或接收一系列数据包。测试者随后可以分析收到的数据包,或根据接收的数据包数量判断物理层是否遵循RF规范。
1.3链路层
链路层负责广播、扫描、建立赫尔维护连接,以及确保数据包按照正确的方式组织、正确地计算校验值以及加密序列等。
三个基本概念:信道、报文和过程。
信道:广播信道,未建立连接的设备使用,共有3个;数据信道,建立连接后的设备使用,共有37个,由一个自适应调频引擎控制以实现鲁棒性。
数据包结构:
前导(Preamble):优化数据包的鲁棒性。
接入地址(Access-Address):广播数据里是固定值,数据信道里是随机值。
报头:描述数据包的内容。
长度:描述载荷长度,不允许发送有效载荷长度超过37字节的数据包。
数据:携带来自应用或主机设备的有用信息。
循环冗余校验(CRC):确保报文没有错误。
PDU包括报头 长度 数据。
1.4主机/控制器接口
两个独立接口:逻辑接口,物理接口。
逻辑接口:定义了命令和事件及其相关的行为。
物理接口:定义了命令、事件和数据如何通过不同的连接技术来传输。
2.主机
主机构建于主机控制器接口的上层部分,
其上为逻辑链路控制和适配协议(L2CAP),
上面是两个基本构建块,安全管理器(用于处理所有认证和安全连接等食物)以及属性协议(用于公开设备上的状态数据),
属性协议上为通用属性规范,定义属性协议是如何实现可重用服务,而这些服务公开了设备的标准特性,
最后通用访问规范定义了设备如何以一种可交互方式找到对方可与之连接。
3.应用层
应用层规约定义了三种类型:特性、服务和规范。
4.协议栈划分
单芯片解决方案,应用、主机、控制器在同一芯片上。芯片资源受限。
双芯片解决方案,一种是应用主机在一芯片控制器在另一芯片,一种是应用在一芯片主机控制器在另一芯片。后一种开发起来更加方便,可以将两种标准的量产片相互组合。
三芯片解决方案,过于昂贵。