低功耗蓝牙协议栈
低功耗蓝牙协议栈的架构如图 1所示。
低功耗蓝牙协议栈由控制器(Controller)、主机控制接口(HCI)和主机(Host)组成。
控制器(Controller)
- 物理层(Physical Layer,PHY):支持1 Mbps和2 Mbps的自适应跳频GFSK(高斯频移键控)射频(RF)操作。
- 链路层(Link Layer,LL):控制设备的射频状态,支持五种设备状态(Standby、Advertising、Scanning、Initiating或Connection),并可根据实际需求切换状态。
主机控制接口(HCI)
- 主机控制接口(Host Controller Interface,HCI):提供Host与Controller之间的通信接口。该接口层的实现可以是软件接口,也可以是标准硬件接口,例如UART、Secure Digital(SD)或USB。HCI commands和events通过该接口层在Host与Controller之间传递。
主机(Host)
- 逻辑链路控制和适配协议层(Logical Link Control and Adaptation Protocol,L2CAP):为上层提供多路复用、数据分段与重组服务,并且支持逻辑端对端的数据通信。
- 安全管理层(Security Manager,SM):定义配对和密钥分发的方法,为上层协议栈和应用程序提供端到端的安全连接和数据交换功能。
- 通用访问规范层(Generic Access Profile,GAP):为上层应用和Profiles提供与协议栈通信交互的接口,主要包括广播、扫描、连接发起、服务发现、连接参数更新、安全过程发起与响应等功能。
- 属性协议层(Attribute Protocol,ATT):定义了服务端和客户端之间的服务数据交互协议。
- 通用属性规范层(Generic Attribute Profile,GATT):基于ATT协议之上,定义了一系列用于GATT Client和GATT Server之间服务数据交互的通信过程,供上层应用、Profile及Service使用。
提示:
更多Bluetooth LE技术及其协议的相关资料,请访问Bluetooth SIG的官方网站www.bluetooth.com。
GAP、SM、L2CAP及GATT规范包含在Bluetooth Core Spec中,其他Bluetooth LE应用层的Profiles/Services规范可以在GATT Specs页面下载。Bluetooth LE应用可能会用到的Assigned Numbers、IDs及Codes均列在Assigned Numbers页面。