1. BLE设备架构解析
一个完整的单模BLE(蓝牙低功耗)设备通常由三个主要部分组成:控制器(Controller)、主机(Host)和应用(Application)。这种分层架构设计使得BLE设备能够高效地工作,同时保持足够的灵活性以适应不同的应用场景。
1.1 控制器层
控制器是BLE设备的最底层硬件部分,主要负责射频信号的处理和基础的蓝牙协议栈实现。具体功能包括:
- 射频信号调制解调
- 基带处理
- 链路层协议实现
- 物理层数据包处理
在实际开发中,控制器通常以芯片形式存在,比如Nordic的nRF52系列或TI的CC254x系列。这些芯片厂商会提供完整的开发套件和文档,方便开发者快速上手。
注意:不同厂商的控制器芯片在性能参数(如发射功率、接收灵敏度)上可能存在差异,选择时需要根据具体应用场景进行评估。
1.2 主机层
主机层位于控制器之上,包含了蓝牙协议栈的核心功能模块。这些模块协同工作,为上层应用提供完整的蓝牙通信能力:
- 通用访问配置文件(GAP):定义设备如何被发现和连接
- 通用属性配置文件(GATT):管理数据传输的结构和方式
- 逻辑链路控制和适配协议(L2CAP):提供数据分片和重组服务
- 属性协议(ATT):定义数据交换的基本规则
- 安全管理(SM):处理加密和认证等安全事务
- 主机控制器接口(HCI):主机与控制器之间的通信桥梁
在开发实践中,主机层通常以软件库的形式提供。例如,Android的BluetoothStack或iOS的CoreBluetooth框架都实现了这些功能。
1.3 应用层
应用层位于架构的最上层,负责实现具体的业务逻辑和用户交互。这一层的设计高度依赖于具体应用场景,可能包括:
- 用户界面
- 业务逻辑处理
- 数据存储和管理
- 与其他系统的交互
应用开发者需要基于主机层提供的API进行开发,同时处理好与下层协议的交互。例如,一个健康监测设备的应用层需要处理来自GATT的心率数据,并将其显示给用户。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. BLE设备角色与交互
2.1 基本角色定义
BLE设备在通信过程中可以扮演四种基本角色:
- 广播者(Advertiser):
- 主动发送广播数据包
